Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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