Hi Luca,
On 10/24/20 12:48 AM, Luca Weiss wrote:
Hi,
I'm currently experimenting with the qcom lpg[0] which is a driver for the rgb
notification led found on e.g. Snapdragon 801 devices (and many more),
specifically my example is about the Fairphone 2 (msm8974-fairphone-fp2).
[0] https://lore.kernel.org/lkml/20201021201224.3430546-1-bjorn.andersson@xxxxxxxxxx/
My dts is looking like the following (abbreviated):
[in lpg node]
multi-led {
color = <LED_COLOR_ID_MULTI>;
function = LED_FUNCTION_STATUS;
....
};
I'm comparing this to the PinePhone where the leds are defined as follows:
[in gpio-leds node]
blue {
function = LED_FUNCTION_INDICATOR;
color = <LED_COLOR_ID_BLUE>;
};
green {
function = LED_FUNCTION_INDICATOR;
color = <LED_COLOR_ID_GREEN>;
};
red {
function = LED_FUNCTION_INDICATOR;
color = <LED_COLOR_ID_RED>;
};
(sidenote: the LED_FUNCTION_INDICATOR should probably also be
LED_FUNCTION_STATUS there; the dts was made before the better descriptions for
the defines have been added)
This gets the following directories created in /sys/class/leds/:
blue:indicator
green:indicator
red:indicator
But with the multicolor led on the Fairphone 2 only a directory with the name
of "multi-led" gets created which I would have expected to be
"multicolor:status" instead.
This is because the driver from patch set [0] does not use *ext()
multicolor registration API, but follows old-fashion LED name
initialization via 'name' property of struct led_classdev, which is
initialized to DT 'label' value or DT node name if the former is absent.
--
Best regards,
Jacek Anaszewski