1 ============== 1 ============== 2 Userspace LEDs 2 Userspace LEDs 3 ============== 3 ============== 4 4 5 The uleds driver supports userspace LEDs. This 5 The uleds driver supports userspace LEDs. This can be useful for testing 6 triggers and can also be used to implement vir 6 triggers and can also be used to implement virtual LEDs. 7 7 8 8 9 Usage 9 Usage 10 ===== 10 ===== 11 11 12 When the driver is loaded, a character device 12 When the driver is loaded, a character device is created at /dev/uleds. To 13 create a new LED class device, open /dev/uleds 13 create a new LED class device, open /dev/uleds and write a uleds_user_dev 14 structure to it (found in kernel public header 14 structure to it (found in kernel public header file linux/uleds.h):: 15 15 16 #define LED_MAX_NAME_SIZE 64 16 #define LED_MAX_NAME_SIZE 64 17 17 18 struct uleds_user_dev { 18 struct uleds_user_dev { 19 char name[LED_MAX_NAME_SIZE]; 19 char name[LED_MAX_NAME_SIZE]; 20 }; 20 }; 21 21 22 A new LED class device will be created with th 22 A new LED class device will be created with the name given. The name can be 23 any valid sysfs device node name, but consider 23 any valid sysfs device node name, but consider using the LED class naming 24 convention of "devicename:color:function". 24 convention of "devicename:color:function". 25 25 26 The current brightness is found by reading a s 26 The current brightness is found by reading a single byte from the character 27 device. Values are unsigned: 0 to 255. Reading 27 device. Values are unsigned: 0 to 255. Reading will block until the brightness 28 changes. The device node can also be polled to 28 changes. The device node can also be polled to notify when the brightness value 29 changes. 29 changes. 30 30 31 The LED class device will be removed when the 31 The LED class device will be removed when the open file handle to /dev/uleds 32 is closed. 32 is closed. 33 33 34 Multiple LED class devices are created by open 34 Multiple LED class devices are created by opening additional file handles to 35 /dev/uleds. 35 /dev/uleds. 36 36 37 See tools/leds/uledmon.c for an example usersp 37 See tools/leds/uledmon.c for an example userspace program.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.