Back to home page

OSCL-LXR

 
 

    


0001 ==============
0002 Userspace LEDs
0003 ==============
0004 
0005 The uleds driver supports userspace LEDs. This can be useful for testing
0006 triggers and can also be used to implement virtual LEDs.
0007 
0008 
0009 Usage
0010 =====
0011 
0012 When the driver is loaded, a character device is created at /dev/uleds. To
0013 create a new LED class device, open /dev/uleds and write a uleds_user_dev
0014 structure to it (found in kernel public header file linux/uleds.h)::
0015 
0016     #define LED_MAX_NAME_SIZE 64
0017 
0018     struct uleds_user_dev {
0019         char name[LED_MAX_NAME_SIZE];
0020     };
0021 
0022 A new LED class device will be created with the name given. The name can be
0023 any valid sysfs device node name, but consider using the LED class naming
0024 convention of "devicename:color:function".
0025 
0026 The current brightness is found by reading a single byte from the character
0027 device. Values are unsigned: 0 to 255. Reading will block until the brightness
0028 changes. The device node can also be polled to notify when the brightness value
0029 changes.
0030 
0031 The LED class device will be removed when the open file handle to /dev/uleds
0032 is closed.
0033 
0034 Multiple LED class devices are created by opening additional file handles to
0035 /dev/uleds.
0036 
0037 See tools/leds/uledmon.c for an example userspace program.