用户空间 LED¶
uleds 驱动程序支持用户空间 LED。 这对于测试触发器非常有用,也可用于实现虚拟 LED。
用法¶
当驱动程序加载后,会在 /dev/uleds 创建一个字符设备。 要创建一个新的 LED 类设备,打开 /dev/uleds 并向其中写入一个 uleds_user_dev 结构体(可在内核公共头文件 linux/uleds.h 中找到)
#define LED_MAX_NAME_SIZE 64
struct uleds_user_dev {
char name[LED_MAX_NAME_SIZE];
};
将创建一个具有给定名称的新 LED 类设备。 该名称可以是任何有效的 sysfs 设备节点名称,但请考虑使用 LED 类的命名约定 “devicename:color:function”。
当前的亮度可以通过从字符设备读取单个字节来获取。值是无符号的:0 到 255。读取操作会阻塞,直到亮度发生变化。还可以轮询设备节点,以便在亮度值发生变化时发出通知。
当 /dev/uleds 的打开文件句柄关闭时,LED 类设备将被移除。
通过打开 /dev/uleds 的其他文件句柄,可以创建多个 LED 类设备。
有关用户空间程序的示例,请参阅 tools/leds/uledmon.c。