Re: [PATCH v2 3/4] arm64: dts: sun50i-a64-pinephone: add multicolor led node

From: Ondřej Jirman
Date: Fri Feb 23 2024 - 03:46:36 EST


Hello Aren,

On Tue, Feb 06, 2024 at 01:13:19PM -0500, Aren Moynihan wrote:
> The red, green, and blue leds currently in the device tree represent a
> single rgb led on the front of the PinePhone.
>
> Signed-off-by: Aren Moynihan <aren@xxxxxxxxxxxxxxxxx>
> ---
>
> Changes in v2:
> - remove function property from individual led nodes
>
> .../boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 16 ++++++++++------
> 1 file changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
> index ad2476ee01e4..e53e0d4579a7 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
> @@ -39,28 +39,32 @@ chosen {
> leds {
> compatible = "gpio-leds";
>
> - led-0 {
> - function = LED_FUNCTION_INDICATOR;

This looks like a needless change that will just break people's current scripts
and setup. It does mine, and there sure are others that will be surprised, too.

This leads to a change in sysfs path from:

/sys/class/leds/blue:indicator

to

/sys/class/leds/blue:

which is 1) a weird name and 2) a backwards compatibility break for seemingly
no apparent reason. Any reaons for the change?

People normally hardcode these paths in eg. /etc/tmpfiles.d to apply LED triggers
to particular LEDs.

Kind regards,
o.

> + led0: led-0 {
> color = <LED_COLOR_ID_BLUE>;
> gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
> retain-state-suspended;
> };
>
> - led-1 {
> - function = LED_FUNCTION_INDICATOR;
> + led1: led-1 {
> color = <LED_COLOR_ID_GREEN>;
> gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
> retain-state-suspended;
> };
>
> - led-2 {
> - function = LED_FUNCTION_INDICATOR;
> + led2: led-2 {
> color = <LED_COLOR_ID_RED>;
> gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
> retain-state-suspended;
> };
> };
>
> + multi-led {
> + compatible = "leds-group-multicolor";
> + color = <LED_COLOR_ID_RGB>;
> + function = LED_FUNCTION_INDICATOR;
> + leds = <&led0>, <&led1>, <&led2>;
> + };
> +
> reg_ps: ps-regulator {
> compatible = "regulator-fixed";
> regulator-name = "ps";
> --
> 2.43.0
>