打印
[Atmel]

Linux 驱动 怎么关闭心跳触发器

[复制链接]
1024|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 yanghelovehuang 于 2018-8-6 14:45 编辑

最近写了一个rgb驱动程序,已经实现,可是设备树信息中蓝灯设置了心跳触发器,每次我点亮蓝灯时都会被心跳触发器打乱导致蓝灯不能正常发光。于是我想如果有用户调用rgb驱动操作灯时,就关闭心跳触发器,不让蓝灯闪。
rgb驱动启动开发板时自动加载的有心跳触发器,启动时无用户操作就让蓝灯闪烁便是正常运行,所以不能不用心跳触发器,只有在用户调用时为了避免干扰必须得关掉触发器。相关代码如下:
struct gpio_led led = {};
fwnode_property_read_string(child, "linux,default-trigger", &led.default_trigger);

求各位知道的大佬指点下,怎样关闭触发器。

相关帖子

沙发
john_lee| | 2018-8-6 18:31 | 只看该作者

使用特权

评论回复
板凳
yanghelovehuang|  楼主 | 2018-8-7 09:28 | 只看该作者

请问下能不能驱动程序里用程序关闭呢? 因为上面说了开发板没有用户调用ioctl对灯进行操作时,让触发器正常工作。也可以这样说如果开发板程序出现某个问题,点亮一种颜色的灯,表示出现了某个错误。如果开发板程序运行正常就让蓝灯一直闪。所以触发器是不能配置关闭的,只能驱动中临时关闭。

使用特权

评论回复
地板
john_lee| | 2018-8-7 11:54 | 只看该作者
yanghelovehuang 发表于 2018-8-7 09:28
请问下能不能驱动程序里用程序关闭呢? 因为上面说了开发板没有用户调用ioctl对灯进行操作时,让触发器正 ...

LED驱动程序没有“关闭”的说法。它是callee(被调用者),哪个 caller(调用者)来调用它,它不能区别对待,只能响应和服务。
所以,你要“关闭”的,应该是内核中的 LED Trigger,它就是一个 caller。
如果所有你不需要的 caller 都“关闭”了,那么 LED 驱动程序 callee 就只有响应你需要的 caller 了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

324

帖子

1

粉丝