cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

uleds.rst (1188B)


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