Re: AW: [PATCH v2 1/4] leds: lp50xx: add setting of default intensity from DT
From: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Date: 2021-02-06 21:00:24
Also in:
linux-leds, lkml
Sven, On 2/6/21 2:14 PM, Sven Schuchmann wrote:
Hello Dan,quoted
Von: Jacek Anaszewski [off-list ref] Gesendet: Freitag, 5. Februar 2021 19:37 Hi Pavel, On 2/5/21 11:23 AM, Pavel Machek wrote:quoted
Hi!quoted
quoted
quoted
patternProperties: "(^led-[0-9a-f]$|led)":@@ -99,6 +104,7 @@ examples: reg = <0x1>; color = <LED_COLOR_ID_RGB>; function = LED_FUNCTION_CHARGING; + default-intensity = <100 0 0>;How will you know which array position is for which child LED? I presume DT child nodes are not guaranteed to be parsed in the order of declaration?I tried to fiddle this out, but it seems Jacek is right over here. The multi-led definition looks like this (from the documentation leds-lp50xx.yaml) multi-led@1 { #address-cells = <1>; #size-cells = <0>; reg = <0x1>; color = <LED_COLOR_ID_RGB>; function = LED_FUNCTION_CHARGING; led-0 { color = <LED_COLOR_ID_RED>; }; led-1 { color = <LED_COLOR_ID_GREEN>; }; led-2 { color = <LED_COLOR_ID_BLUE>; }; }; But it seems that the color definition of each led is ignored. By ignored I mean the driver does not take care which color is at which position. So if I change led-0 to be LED_COLOR_ID_BLUE and led-2 to be LED_COLOR_ID_RED nothing will change if I write from userspace. Could you help to clarify? Then it is even hard to know which led to set with default-intensity.
See Documentation/ABI/testing/sysfs-class-led-multicolor and documentation of multi_index and multi_intensity files. It is the multi_index file that tells what is the order of colors in the multi_intensity file. And that depends on the order of enumeration of the nodes by DT parser.
Also it seems that the enumeration of the multi-leds should start with multi-led@0 (and not 1 as in the documentation).
The @unit-address part of node name must match the first address specified in the reg property of the node, so this is correct. -- Best regards, Jacek Anaszewski