用户空间 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 设备节点名称,但请考虑使用“devicename:color:function”的 LED 类命名约定。

可以通过从字符设备读取单个字节来找到当前亮度。 值是无符号的:0 到 255。读取操作将会阻塞,直到亮度发生变化。 也可以轮询设备节点,以便在亮度值发生变化时发出通知。

当关闭 /dev/uleds 的打开文件句柄时,将删除 LED 类设备。

通过打开到 /dev/uleds 的其他文件句柄来创建多个 LED 类设备。

有关用户空间程序示例,请参阅 tools/leds/uledmon.c。