Re: [PATCH v26 03/15] leds: multicolor: Introduce a multicolor class definition

From: Dan Murphy
Date: Sat Jun 06 2020 - 12:40:44 EST


Pavek

Thanks for the review

On 6/6/20 10:53 AM, Pavel Machek wrote:
Hi!

Introduce a multicolor class that groups colored LEDs
within a LED node.

The multi color class groups monochrome LEDs and allows controlling two
aspects of the final combined color: hue and lightness. The former is
controlled via the intensity file and the latter is controlled
via brightness file.

Acked-by: Jacek Anaszewski <jacek.anaszewski@xxxxxxxxx>
Signed-off-by: Dan Murphy <dmurphy@xxxxxx>
diff --git a/Documentation/ABI/testing/sysfs-class-led-multicolor b/Documentation/ABI/testing/sysfs-class-led-multicolor
new file mode 100644
index 000000000000..7d33a82a4b07
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-class-led-multicolor
@@ -0,0 +1,34 @@
+What: /sys/class/leds/<led>/brightness
+Date: March 2020
+KernelVersion: 5.8
+Contact: Dan Murphy <dmurphy@xxxxxx>
+Description: read/write
+ Writing to this file will update all LEDs within the group to a
+ calculated percentage of what each color LED intensity is set
+ to. The percentage is calculated for each grouped LED via the
+ equation below:
+ led_brightness = brightness * multi_intensity/max_brightness
+
+ For additional details please refer to
+ Documentation/leds/leds-class-multicolor.rst.
+
+ The value of the color is from 0 to
+ /sys/class/leds/<led>/max_brightness.
It is not too clear to me what "color" means here.

It would be worth mentioning that this is single integer.

OK I will update this


+What: /sys/class/leds/<led>/multi_index
+Date: March 2020
+KernelVersion: 5.8
+Contact: Dan Murphy <dmurphy@xxxxxx>
+Description: read
+ The multi_index array, when read, will output the LED colors
+ by name as they are indexed in the multi_intensity file.
This should specify that it is array of strings.

Yeah this sounds better


+What: /sys/class/leds/<led>/multi_intensity
+Date: March 2020
+KernelVersion: 5.8
+Contact: Dan Murphy <dmurphy@xxxxxx>
+Description: read/write
+ Intensity level for the LED color within the array.
+ The intensities for each color must be entered based on the
+ multi_index array.
I'd mention here that it is array of integers, and what the maximum
values are.

Same here.  I will indicate max value cannot exceed max_brightness

But that was what the max_intensity file was for in prior patchsets.


--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9533,6 +9533,14 @@ F: Documentation/devicetree/bindings/leds/
F: drivers/leds/
F: include/linux/leds.h
+LED MULTICOLOR FRAMEWORK
+M: Dan Murphy <dmurphy@xxxxxx>
+L: linux-leds@xxxxxxxxxxxxxxx
I'd like to be mentioned here, too. "M: Pavel Machek
<pavel@xxxxxx>". And I'm not sure if I should be taking MAINTAINER
file update through a LED tree. Should definitely go to separate
patch.

Oh definitely.  I thought it was implied that you and Jacek are both Maintainers as well.

I will add you but will wait to see if Jacek wants to be added.

I will separate this out and make it a separate patch



diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index 9cdc4cfc5d11..fe7d90d4fa23 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -30,6 +30,16 @@ config LEDS_CLASS_FLASH
for the flash related features of a LED device. It can be built
as a module.
+config LEDS_CLASS_MULTI_COLOR
+ tristate "LED MultiColor LED Class Support"
"LED MultiColor Class Support"

OK.

Dan


Best regards,
Pavel