leds: core: add documentation for color extension
Subsystems (2)
PATCH v3 3/4 leds: core: add documentation for color extension
Document the color extension in Documentation/leds/leds-class.txt
---
v2:
- introduced to patch series
v3:
- document extension in more detail
--- Documentation/leds/leds-class.txt | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-)
Documentation/leds/leds-class.txt +19 -5
@@ -8,6 +8,19 @@ LED is defined in max_brightness file. The brightness file will set the brightne of the LED (taking a value 0-max_brightness). Most LEDs don't have hardware brightness support so will just be turned on for non-zero brightness settings. +If a driver uses the colour extension of the LED core then the brightness +file can be used to set hue / saturation / value. The brightness value is +interpreted as: <0000000F><HHHHHHHH><SSSSSSSS><VVVVVVVV> +Usage of the least byte is identical to monochrome mode. Saturation can be +0-255 and hue 0-251 (Colour circle is mapped to 0-252). +If hue and saturation both are 0 the current colour is not changed and only +the brightness is set. This ensures backwards compatibility with monochrome +mode, e.g. in calls like led_set_brightness(LED_FULL). +This behavior can be overridden with flag F (LED_SET_COLOR). If this flag +is set then hue and saturation are not checked for being 0 and the color +components are set unconditionally. Example: +0x010000ff sets the LED to white color with full brightness. + The class also introduces the optional concept of an LED trigger. A trigger is a kernel based source of led events. Triggers can either be simple or complex. A simple trigger isn't configurable and is designed to slot into
@@ -45,11 +58,12 @@ Is currently of the form: "devicename:colour:function" -There have been calls for LED properties such as colour to be exported as -individual led class attributes. As a solution which doesn't incur as much -overhead, I suggest these become part of the device name. The naming scheme -above leaves scope for further attributes should they be needed. If sections -of the name don't apply, just leave that section blank. +If the colour extension is used hsv / rgb can be used instead of a specific +colour. There have been calls for LED properties such as colour to be +exported as individual led class attributes. As a solution which doesn't +incur as much overhead, I suggest these become part of the device name. +The naming scheme above leaves scope for further attributes should they be +needed. If sections of the name don't apply, just leave that section blank. Brightness setting API
Signature · 1 line
2.7.1
Hi Heiner,
Quoted 22 lines · Heiner Kallweit
Document the color extension in
Documentation/leds/leds-class.txtSigned-off-by Heiner Kallweit <[email protected]>---
v2:
- introduced to patch series
v3:
- document extension in more detail--- Documentation/leds/leds-class.txt | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-)Documentation/leds/leds-class.txt +2
-0@@ -8,6 +8,19 @@ LED is defined in max_brightness file. The brightness file will set the brightne of the LED (taking a value 0-max_brightness). Most LEDs don't have hardware brightness support so will just be turned on for non-zero brightness settings. +If a driver uses the colour extension of the LED core then the brightness +file can be used to set hue / saturation / value. The brightness value is
Documentation/leds/leds-class.txt LED is defined in max_brightness file. The brightness file will set the brightne · line 22
Quoted 10 lines
Documentation/leds/leds-class.txt +10
-0+interpreted as: <0000000F><HHHHHHHH><SSSSSSSS><VVVVVVVV> +Usage of the least byte is identical to monochrome mode. Saturation can be +0-255 and hue 0-251 (Colour circle is mapped to 0-252). +If hue and saturation both are 0 the current colour is not changed and only +the brightness is set. This ensures backwards compatibility with monochrome +mode, e.g. in calls like led_set_brightness(LED_FULL). +This behavior can be overridden with flag F (LED_SET_COLOR). If this flag +is set then hue and saturation are not checked for being 0 and the color +components are set unconditionally. Example: +0x010000ff sets the LED to white color with full brightness.
When asking for justifying the need for the flag, I had on mind an explanation of why the flag is needed any not only what are the implications of setting it. My intention was rather to provide a simple use case example, e.g. temperature monitoring, when brightness is set through the trigger, with preset hue and saturation - if I understood properly your idea.
Quoted 23 lines
Documentation/leds/leds-class.txt +7
-5+ The class also introduces the optional concept of an LED trigger. A trigger is a kernel based source of led events. Triggers can either be simple or complex. A simple trigger isn't configurable and is designed to slot into@@ -45,11 +58,12 @@ Is currently of the form: "devicename:colour:function" -There have been calls for LED properties such as colour to be exported as -individual led class attributes. As a solution which doesn't incur as much -overhead, I suggest these become part of the device name. The naming scheme -above leaves scope for further attributes should they be needed. If sections -of the name don't apply, just leave that section blank. +If the colour extension is used hsv / rgb can be used instead of a specific +colour. There have been calls for LED properties such as colour to be +exported as individual led class attributes. As a solution which doesn't +incur as much overhead, I suggest these become part of the device name. +The naming scheme above leaves scope for further attributes should they be +needed. If sections of the name don't apply, just leave that section blank. Brightness setting API
Signature · 2 lines
Best regards, Jacek Anaszewski