qualcommax: ipq807x: fix LEDs on Buffalo WXR-5950AX12
authorINAGAKI Hiroshi <musashino.open@gmail.com>
Sat, 16 Mar 2024 10:12:20 +0000 (19:12 +0900)
committerRobert Marko <robimarko@gmail.com>
Sun, 17 Mar 2024 16:31:02 +0000 (17:31 +0100)
On Buffalo WXR-5590AX12, some LEDs don't have "function" property and
only "color" property is available for the newer binding of LED on
Linux Kernel.
2e659930d3 ("qualcommax: drop redundant label with new LED
color/function format") removes "label" property from LEDs, then,
multiple "<color>:" (ex.: "white:"/"red:") will be appeared as LED names
and renamed to "<color>:_<num>" ("ex.: "white:_1", "green:_2", ...) by
kernel.

logs:

[    5.372863] leds-gpio leds: Led white: renamed to white:_1 due to name collision
[    5.375796] leds-gpio leds: Led red: renamed to red:_1 due to name collision

/sys/class/leds:

root@OpenWrt:/# ls /sys/class/leds/
red:         red:power    white:       white:power
red:_1       red:wlan     white:_1     white:wlan

Fix this issue by adding missing "function" property to LEDs on Buffalo
WXR-5950AX12.
Note: there are no appropriate functions in dt-bindings/leds/common.h
for some LEDs, so use the hardcoded strings for them instead.

Fixes: 2e659930d3 ("qualcommax: drop redundant label with new LED color/function format")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-wxr-5950ax12.dts

index d6411e4fa5ec5f0f6112217ada86abcd24b58d08..d8237e81dde95071859f6a13a4bd38fca2439165 100644 (file)
                led-0 {
                        gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
                        color = <LED_COLOR_ID_WHITE>;
+                       function = "router";
                };
 
                led-1 {
                        gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
                        color = <LED_COLOR_ID_RED>;
+                       function = "router";
                };
 
                led_power_red: led-2 {
                led-4 {
                        gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
                        color = <LED_COLOR_ID_WHITE>;
+                       function = "internet";
                };
 
                led-5 {
                        gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>;
                        color = <LED_COLOR_ID_RED>;
+                       function = "internet";
                };
 
                led-6 {