From 5038ec5bba5ccdaf9a78d8fa4dc8ef910d554bc1 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sat, 17 Feb 2024 19:27:42 +0900 Subject: mvebu: fix LEDs on Fortinet FortiGate devices On Fortinet FortiGate 30E/50E, some multiple LEDs have no "function" property and only "color" property is available for the new binding of LED on Linux Kernel. 9d93b6d091 ("mvebu: drop redundant label with new LED color/function format") removes "label" property from LEDs, then, multiple ":" (ex.: "green:"/"red:"/"amber:") will be appeared as LED names and renamed to ":_" (ex.: "green:_1", "green:_2", ...) by kernel. log: [ 12.425170] leds-gpio gpio-leds: Led green: renamed to green:_1 due to name collision [ 12.520390] leds-gpio gpio-leds: Led amber: renamed to amber:_1 due to name collision [ 12.614931] leds-gpio gpio-leds: Led green: renamed to green:_2 due to name collision [ 12.709895] leds-gpio gpio-leds: Led green: renamed to green:_3 due to name collision [ 12.804439] leds-gpio gpio-leds: Led amber: renamed to amber:_2 due to name collision [ 12.898969] leds-gpio gpio-leds: Led green: renamed to green:_4 due to name collision [ 12.993504] leds-gpio gpio-leds: Led amber: renamed to amber:_3 due to name collision [ 13.088033] leds-gpio gpio-leds: Led green: renamed to green:_5 due to name collision [ 13.182570] leds-gpio gpio-leds: Led green: renamed to green:_6 due to name collision [ 13.277103] leds-gpio gpio-leds: Led amber: renamed to amber:_4 due to name collision [ 13.371636] leds-gpio gpio-leds: Led green: renamed to green:_7 due to name collision /sys/class/leds: root@OpenWrt:/# ls /sys/class/leds/ amber: amber:_4 green:_2 green:_6 red:alarm amber:_1 amber:alarm green:_3 green:_7 red:status amber:_2 green: green:_4 green:status amber:_3 green:_1 green:_5 red: Fix this issue by adding missing "function" (and "function-enumerator") property those to LEDs on Fortinet FortiGate devices. Note: there is no appropriate function for "ha" LEDs in dt-bindings/leds/common.h, so use the hardcoded string for them instead. Fixes: 9d93b6d091 ("mvebu: drop redundant label with new LED color/function format") Signed-off-by: INAGAKI Hiroshi --- .../arch/arm/boot/dts/armada-385-fortinet-fg-30e.dts | 2 ++ .../arch/arm/boot/dts/armada-385-fortinet-fg-50e.dts | 8 ++++++++ .../arch/arm/boot/dts/armada-385-fortinet-fg-x0e.dtsi | 18 ++++++++++++++++++ .../boot/dts/marvell/armada-385-fortinet-fg-30e.dts | 2 ++ .../boot/dts/marvell/armada-385-fortinet-fg-50e.dts | 8 ++++++++ .../boot/dts/marvell/armada-385-fortinet-fg-x0e.dtsi | 18 ++++++++++++++++++ 6 files changed, 56 insertions(+) diff --git a/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-30e.dts b/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-30e.dts index c0900d7126..dca6fbacf0 100644 --- a/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-30e.dts +++ b/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-30e.dts @@ -16,12 +16,14 @@ led-14 { gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_WAN; linux,default-trigger = "mv88e6xxx-1:00:100Mbps"; }; led-15 { gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_WAN; linux,default-trigger = "mv88e6xxx-1:00:1Gbps"; }; }; diff --git a/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-50e.dts b/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-50e.dts index d202d71c7f..cf13bb5fda 100644 --- a/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-50e.dts +++ b/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-50e.dts @@ -16,24 +16,32 @@ led-14 { gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_WAN; + function-enumerator = <1>; linux,default-trigger = "f1072004.mdio-mii:00:1Gbps"; }; led-15 { gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_WAN; + function-enumerator = <2>; linux,default-trigger = "f1072004.mdio-mii:01:1Gbps"; }; led-16 { gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <5>; linux,default-trigger = "mv88e6xxx-1:00:100Mbps"; }; led-17 { gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <5>; linux,default-trigger = "mv88e6xxx-1:00:1Gbps"; }; }; diff --git a/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-x0e.dtsi b/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-x0e.dtsi index 8cc2d6bc4a..6a5e016d30 100644 --- a/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-x0e.dtsi +++ b/target/linux/mvebu/files-6.1/arch/arm/boot/dts/armada-385-fortinet-fg-x0e.dtsi @@ -54,6 +54,7 @@ led-1 { gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; color = ; + function = "ha"; }; led_status_green: led-2 { @@ -65,6 +66,7 @@ led-3 { gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; color = ; + function = "ha"; }; led-4 { @@ -82,48 +84,64 @@ led-6 { gpios = <&gpio2 4 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <4>; linux,default-trigger = "mv88e6xxx-1:01:1Gbps"; }; led-7 { gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <4>; linux,default-trigger = "mv88e6xxx-1:01:100Mbps"; }; led-8 { gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <3>; linux,default-trigger = "mv88e6xxx-1:02:100Mbps"; }; led-9 { gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <3>; linux,default-trigger = "mv88e6xxx-1:02:1Gbps"; }; led-10 { gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <1>; linux,default-trigger = "mv88e6xxx-1:04:1Gbps"; }; led-11 { gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <1>; linux,default-trigger = "mv88e6xxx-1:04:100Mbps"; }; led-12 { gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <2>; linux,default-trigger = "mv88e6xxx-1:03:1Gbps"; }; led-13 { gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <2>; linux,default-trigger = "mv88e6xxx-1:03:100Mbps"; }; }; diff --git a/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-30e.dts b/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-30e.dts index c0900d7126..dca6fbacf0 100644 --- a/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-30e.dts +++ b/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-30e.dts @@ -16,12 +16,14 @@ led-14 { gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_WAN; linux,default-trigger = "mv88e6xxx-1:00:100Mbps"; }; led-15 { gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_WAN; linux,default-trigger = "mv88e6xxx-1:00:1Gbps"; }; }; diff --git a/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-50e.dts b/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-50e.dts index d202d71c7f..cf13bb5fda 100644 --- a/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-50e.dts +++ b/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-50e.dts @@ -16,24 +16,32 @@ led-14 { gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_WAN; + function-enumerator = <1>; linux,default-trigger = "f1072004.mdio-mii:00:1Gbps"; }; led-15 { gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_WAN; + function-enumerator = <2>; linux,default-trigger = "f1072004.mdio-mii:01:1Gbps"; }; led-16 { gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <5>; linux,default-trigger = "mv88e6xxx-1:00:100Mbps"; }; led-17 { gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <5>; linux,default-trigger = "mv88e6xxx-1:00:1Gbps"; }; }; diff --git a/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-x0e.dtsi b/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-x0e.dtsi index 8cc2d6bc4a..6a5e016d30 100644 --- a/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-x0e.dtsi +++ b/target/linux/mvebu/files-6.6/arch/arm/boot/dts/marvell/armada-385-fortinet-fg-x0e.dtsi @@ -54,6 +54,7 @@ led-1 { gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; color = ; + function = "ha"; }; led_status_green: led-2 { @@ -65,6 +66,7 @@ led-3 { gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; color = ; + function = "ha"; }; led-4 { @@ -82,48 +84,64 @@ led-6 { gpios = <&gpio2 4 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <4>; linux,default-trigger = "mv88e6xxx-1:01:1Gbps"; }; led-7 { gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <4>; linux,default-trigger = "mv88e6xxx-1:01:100Mbps"; }; led-8 { gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <3>; linux,default-trigger = "mv88e6xxx-1:02:100Mbps"; }; led-9 { gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <3>; linux,default-trigger = "mv88e6xxx-1:02:1Gbps"; }; led-10 { gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <1>; linux,default-trigger = "mv88e6xxx-1:04:1Gbps"; }; led-11 { gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <1>; linux,default-trigger = "mv88e6xxx-1:04:100Mbps"; }; led-12 { gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <2>; linux,default-trigger = "mv88e6xxx-1:03:1Gbps"; }; led-13 { gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; color = ; + function = LED_FUNCTION_SPEED_LAN; + function-enumerator = <2>; linux,default-trigger = "mv88e6xxx-1:03:100Mbps"; }; }; -- cgit v1.2.3