我有一台带 Linux Mint 的笔记本电脑和 4.4.0-78 通用内核。
此外,我还有一些 LEDs在 /sys/class/leds 目录中,我可以通过在 Bash 中执行“echo 255 > brightness”在用户空间中打开和关闭它们。
但是,我想在我的内核模块中切换它们。比方说,这个模块将监听 UDP基于传入数据包数据的 socket 和开关 LED。
我用谷歌搜索并找到了名为“leds-base.c”、“leds-class.c”的内核源文件,其中包含控制 LED 的函数。然而,这个函数需要传递“struct led_classdev”,我不知道我应该从哪里得到它。
如何使用内核模块中/sys/class/leds 目录中的名称设置 LED 亮度?
附言。我看到过类似的问题,但它只是关于 keyboard LED,我想控制的 LED 不是键盘 LED,并且不能通过前面提到的问题代码控制。
最佳答案
实现一个led_trigger
类并调用
led_trigger_event(led, LED_FULL);
和你的司机 friend 。您可以通过以下方式将触发器绑定(bind)到任何 LED:
echo my-trigger-name > /sys/class/leds/.../trigger
关于linux - 如何使 Linux 内核模块中的 LED 闪烁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44044871/