Pārlūkot izejas kodu

ipq40xx: convert to new LED color/function format where possible

Initial conversion to new LED color/function format
and drop label format where possible. The same label
is composed at runtime.

Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi 1 gadu atpakaļ
vecāks
revīzija
a9e0d97e1f
48 mainītis faili ar 254 papildinājumiem un 103 dzēšanām
  1. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts
  2. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts
  3. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cap-ac.dts
  4. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts
  5. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts
  6. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts
  7. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts
  8. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ecw5211.dts
  9. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emd1.dts
  10. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts
  11. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts
  12. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi
  13. 9 4
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts
  14. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-a1300.dts
  15. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-ap1300.dts
  16. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-hap-ac2.dts
  17. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-magic-2-wifi-next.dts
  18. 4 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts
  19. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts
  20. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts
  21. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-sxtsq-5-ac.dts
  22. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wap-ac.dtsi
  23. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts
  24. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts
  25. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts
  26. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi
  27. 8 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts
  28. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts
  29. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts
  30. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts
  31. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts
  32. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-gl-b2200.dts
  33. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts
  34. 11 5
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-hap-ac3-lte6-kit.dts
  35. 11 5
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-hap-ac3.dts
  36. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts
  37. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-lhgg-60ad.dts
  38. 6 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf18a.dts
  39. 10 4
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mr8300.dts
  40. 13 6
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-orbi.dtsi
  41. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-pa2200.dts
  42. 2 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rt-ac42u.dts
  43. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts
  44. 7 3
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wtr-m2133hp.dts
  45. 3 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-x1pro.dtsi
  46. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
  47. 5 2
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-s1300.dts
  48. 2 1
      target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts

@@ -6,6 +6,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -78,17 +79,20 @@
 		compatible = "gpio-leds";
 
 		status_red {
-			label = "red:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_green: status_green {
-			label = "green:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
 		};
 
 		status_blue {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -31,13 +32,15 @@
 		compatible = "gpio-leds";
 
 		status: status {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>;
 			default-state = "keep";
 		};
 
 		wan {
-			label = "amber:wan";
+			function = LED_FUNCTION_WAN;
+			color = <LED_COLOR_ID_AMBER>;
 			gpios = <&ethphy4 1 GPIO_ACTIVE_HIGH>;
 		};
 

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cap-ac.dts

@@ -4,6 +4,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -83,7 +84,8 @@
 		compatible = "gpio-leds";
 
 		power {
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 			default-state = "keep";
 		};

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -66,17 +67,20 @@
 		compatible = "gpio-leds";
 
 		led_status_red: status_red {
-			label = "red:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
 		};
 
 		led_status_green: status_green {
-			label = "green:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
 		};
 
 		led_status_blue: status_blue {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
 		};
 	};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -52,12 +53,14 @@
 		compatible = "gpio-leds";
 
 		led_red: red {
-			label = "red:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
 		};
 
 		led_green: green {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>;
 		};
 	};

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -86,7 +87,8 @@
 		compatible = "gpio-leds";
 
 		power: status {
-			label = "green:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -66,12 +67,14 @@
 		compatible = "gpio-leds";
 
 		power: orange {
-			label = "orange:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_ORANGE>;
 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
 		};
 
 		lan {
-			label = "blue:lan";
+			function = LED_FUNCTION_LAN;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
 		};
 

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ecw5211.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -36,7 +37,8 @@
 		compatible = "gpio-leds";
 
 		led_power: power {
-			label = "yellow:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_YELLOW>;
 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>;
 		};
 

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emd1.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -66,7 +67,8 @@
 		compatible = "gpio-leds";
 
 		led_power: power {
-			label = "white:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
 		};
 

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -70,7 +71,8 @@
 		compatible = "gpio-leds";
 
 		power: white {
-			label = "white:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>;
 		};
 

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -76,7 +77,8 @@
 		compatible = "gpio-leds";
 
 		power: power {
-			label = "amber:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_AMBER>;
 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
 		};
 

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi

@@ -18,6 +18,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -107,12 +108,14 @@
 		compatible = "gpio-leds";
 
 		power_amber: power_amber {
-			label = "amber:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_AMBER>;
 			gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>;
 		};
 
 		power_green: power_green {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
 		};
 
@@ -147,7 +150,8 @@
 		};
 
 		wps {
-			label = "green:wps";
+			function = LED_FUNCTION_WPS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 1 GPIO_ACTIVE_LOW>;
 		};
 	};

+ 9 - 4
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -87,7 +88,8 @@
 		compatible = "gpio-leds";
 
 		wlan {
-			label = "green:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&ethphy0 0 GPIO_ACTIVE_HIGH>;
 		};
 
@@ -98,17 +100,20 @@
 		};
 
 		wan {
-			label = "green:wan";
+			function = LED_FUNCTION_WAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&ethphy1 0 GPIO_ACTIVE_HIGH>;
 		};
 
 		power: power {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&ethphy2 1 GPIO_ACTIVE_HIGH>;
 		};
 
 		lan {
-			label = "green:lan";
+			function = LED_FUNCTION_LAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&ethphy3 0 GPIO_ACTIVE_HIGH>;
 		};
 

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-a1300.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -69,12 +70,14 @@
 		compatible = "gpio-leds";
 
 		led_run: blue {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
 		};
 
 		white {
-			label = "white:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-ap1300.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -91,13 +92,15 @@
 		compatible = "gpio-leds";
 
 		led_power: power {
-			label = "white:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
 			default-state = "on";
 		};
 
 		wan {
-			label = "white:wan";
+			function = LED_FUNCTION_WAN;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-hap-ac2.dts

@@ -4,6 +4,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -100,7 +101,8 @@
 		compatible = "gpio-leds";
 
 		power {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 			default-state = "keep";
 			panic-indicator;

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-magic-2-wifi-next.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 
 / {
 	model = "devolo Magic 2 WiFi next";
@@ -73,7 +74,8 @@
 		};
 
 		status_wlan {
-			label = "white:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
 			default-state = "keep";
 		};

+ 4 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts

@@ -3,6 +3,8 @@
  * Author: Robert Marko <[email protected]>
  */
 
+#include <dt-bindings/leds/common.h>
+
 #include "qcom-ipq4018-jalapeno.dtsi"
 
 / {
@@ -74,7 +76,8 @@
 		compatible = "gpio-leds";
 
 		led_status: status {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/input/linux-event-codes.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
@@ -130,12 +131,14 @@
 		pinctrl-names = "default";
 
 		power: power {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
 		};
 
 		usb {
-			label = "green:usb";
+			function = LED_FUNCTION_USB;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 			trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>;
 			linux,default-trigger = "usbport";
@@ -152,7 +155,8 @@
 		};
 
 		wps {
-			label = "green:wps";
+			function = LED_FUNCTION_WPS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts

@@ -6,6 +6,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -78,17 +79,20 @@
 		compatible = "gpio-leds";
 
 		led_status_cyan: status_cyan {
-			label = "cyan:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_CYAN>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_purple: status_purple {
-			label = "purple:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_PURPLE>;
 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_yellow: status_yellow {
-			label = "yellow:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_YELLOW>;
 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-sxtsq-5-ac.dts

@@ -4,6 +4,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -81,7 +82,8 @@
 		compatible = "gpio-leds";
 
 		power {
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 			default-state = "keep";
 			panic-indicator;

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wap-ac.dtsi

@@ -4,6 +4,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -62,7 +63,8 @@
 		compatible = "gpio-leds";
 
 		power {
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 			default-state = "keep";
 		};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts

@@ -18,6 +18,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -75,7 +76,8 @@
 		compatible = "gpio-leds";
 
 		wps {
-			label = "green:wps";
+			function = LED_FUNCTION_WPS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
 		};
 
@@ -85,7 +87,8 @@
 		};
 
 		power: power {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>;
 		};
 

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts

@@ -6,6 +6,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -78,17 +79,20 @@
 		compatible = "gpio-leds";
 
 		status_red {
-			label = "red:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_green: status_green {
-			label = "green:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
 		};
 
 		status_blue {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -118,7 +119,8 @@
 		compatible = "gpio-leds";
 
 		usb {
-			label = "blue:usb";
+			function = LED_FUNCTION_USB;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
 			linux,default-trigger = "usbport";
 			trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>;
@@ -130,7 +132,8 @@
 		};
 
 		wan {
-			label = "blue:wan";
+			function = LED_FUNCTION_WAN;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
 		};
 

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi

@@ -7,6 +7,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -130,7 +131,8 @@
 			};
 
 			led3 {
-				label = "green:usb";
+				function = LED_FUNCTION_USB;
+				color = <LED_COLOR_ID_GREEN>;
 				gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
 				trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>;
 				linux,default-trigger = "usbport";

+ 8 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts

@@ -1,5 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
+#include <dt-bindings/leds/common.h>
+
 #include "qcom-ipq4019-xx8300.dtsi"
 
 / {
@@ -34,12 +36,14 @@
 		};
 
 		led_wps: wps {
-			label = "white:wps";
+			function = LED_FUNCTION_WPS;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_wps_amber: wps_amber {
-			label = "amber:wps";
+			function = LED_FUNCTION_WPS;
+			color = <LED_COLOR_ID_AMBER>;
 			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
 			panic-indicator;
 		};
@@ -52,7 +56,8 @@
 		// On back panel, above USB socket
 
 		led_usb: usb {
-			label = "green:usb";
+			function = LED_FUNCTION_USB;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
 			trigger-sources = <&usb3_port1>, <&usb3_port2>,
 					  <&usb2_port1>;

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 
 / {
 	model = "EnGenius EAP2200";
@@ -29,7 +30,8 @@
 		compatible = "gpio-leds";
 
 		led_power: power {
-			label = "amber:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_AMBER>;
 			gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
 		};
 

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -102,7 +103,8 @@
 		};
 
 		wlan {
-			label = "green:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
 		};
 
@@ -112,12 +114,14 @@
 		};
 
 		power_green: power {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
 		};
 
 		wps {
-			label = "green:wps";
+			function = LED_FUNCTION_WPS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 45 GPIO_ACTIVE_LOW>;
 		};
 	};

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -73,17 +74,20 @@
 		compatible = "gpio-leds";
 
 		power_red: power_red {
-			label = "red:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
 		};
 
 		power_green: power_green {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
 		};
 
 		power_yellow {
-			label = "yellow:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_YELLOW>;
 			gpios = <&tlmm 49 GPIO_ACTIVE_LOW>;
 		};
 	};

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -81,7 +82,8 @@
 		};
 
 		power_led: power {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
 		};
 	};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-gl-b2200.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -84,7 +85,8 @@
 		compatible = "gpio-leds";
 
 		power_blue {
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>;
 			default-state = "on";
 		};
@@ -93,7 +95,8 @@
 			gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
 		};
 		power_white {
-			label = "white:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
 		};
 		internet_white {

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts

@@ -4,6 +4,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -92,7 +93,8 @@
 		compatible = "gpio-leds";
 
 		led_status: status {
-			label = "green:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
 			panic-indicator;
 		};

+ 11 - 5
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-hap-ac3-lte6-kit.dts

@@ -4,6 +4,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -73,23 +74,27 @@
 		compatible = "gpio-leds";
 
 		led_status_blue: status-blue {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_red: status-red {
-			label = "red:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
 			panic-indicator;
 		};
 
 		led_status_green: status-green {
-			label = "green:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
 		};
 
 		wlan {
-			label = "green:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
 		};
 
@@ -99,7 +104,8 @@
 		};
 
 		wan {
-			label = "green:wan";
+			function = LED_FUNCTION_WAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
 		};
 

+ 11 - 5
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-hap-ac3.dts

@@ -4,6 +4,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -101,23 +102,27 @@
 		compatible = "gpio-leds";
 
 		led_status_blue: status-blue {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_red: status-red {
-			label = "red:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
 			panic-indicator;
 		};
 
 		led_status_green: status-green {
-			label = "green:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
 		};
 
 		wlan {
-			label = "green:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
 		};
 
@@ -127,7 +132,8 @@
 		};
 
 		wan {
-			label = "green:wan";
+			function = LED_FUNCTION_WAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
 		};
 

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-le1.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -33,7 +34,8 @@
 		compatible = "gpio-leds";
 
 		led_usb: usb {
-			label = "green:usb";
+			function = LED_FUNCTION_USB;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 36 GPIO_ACTIVE_LOW>;
 			linux,default-trigger = "usbport";
 			trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>;

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-lhgg-60ad.dts

@@ -18,6 +18,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -95,7 +96,8 @@
 		compatible = "gpio-leds";
 
 		power: power {
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 			default-state = "keep";
 			panic-indicator;
@@ -107,7 +109,8 @@
 		};
 
 		wlan {
-			label = "green:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
 		};
 

+ 6 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf18a.dts

@@ -43,20 +43,23 @@
 		};
 
 		led_power: led-1 {
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
 			default-state = "keep";
 		};
 
 		led-2 {
 			function = LED_FUNCTION_WLAN;
-			label = "blue:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
 			linux,default-trigger = "phy0tpt";
 		};
 
 		led-3 {
-			label = "red:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
 		};
 

+ 10 - 4
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mr8300.dts

@@ -1,5 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
+#include <dt-bindings/leds/common.h>
+
 #include "qcom-ipq4019-xx8300.dtsi"
 
 / {
@@ -19,25 +21,29 @@
 		compatible = "gpio-leds";
 
 		led_red: red {
-			label = "red:alarm";
+			function = LED_FUNCTION_ALARM;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_amber: amber {
-			label = "amber:programming";
+			function = LED_FUNCTION_PROGRAMMING;
+			color = <LED_COLOR_ID_AMBER>;
 			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>;
 			panic-indicator;
 		};
 
 		led_blue: blue {
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>;
 		};
 
 		// On back panel, above USB socket
 
 		led_usb: usb {
-			label = "green:usb";
+			function = LED_FUNCTION_USB;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
 			trigger-sources = <&usb3_port1>, <&usb3_port2>,
 					  <&usb2_port1>;

+ 13 - 6
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-orbi.dtsi

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -86,34 +87,40 @@
 		compatible = "gpio-leds";
 
 		led-0 {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>;
 			default-state = "on";
 		};
 
 		led-1 {
-			label = "red:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
 			panic-indicator;
 		};
 
 		led_status_green: led-2 {
-			label = "green:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 53 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_red: led-3 {
-			label = "red:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_RED>;
 			gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_blue: led-4 {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_status_white: led-5 {
-			label = "white:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-pa2200.dts

@@ -6,6 +6,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -66,7 +67,8 @@
 		compatible = "gpio-leds";
 
 		led_power_orange: power_orange {
-			label = "orange:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_ORANGE>;
 			gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
 		};
 
@@ -89,7 +91,8 @@
 		};
 
 		led_status_blue: status_blue {
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
 		};
 	};

+ 2 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rt-ac42u.dts

@@ -106,7 +106,8 @@
 			color = <LED_COLOR_ID_BLUE>;
 			function = LED_FUNCTION_STATUS;
 			gpios = <&tlmm 40 GPIO_ACTIVE_LOW>;
-			label = "blue:status";
+			function = LED_FUNCTION_STATUS;
+			color = <LED_COLOR_ID_BLUE>;
 		};
 
 		led-1 {

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts

@@ -7,6 +7,7 @@
 #include <dt-bindings/soc/qcom,tcsr.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 
 / {
 	model = "Cell C RTL30VW";
@@ -48,13 +49,15 @@
 
 		led_power_blue: power_blue {
 			gpios = <&led_gpio 0 GPIO_ACTIVE_HIGH>;
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			default-state = "on";
 		};
 
 		led_power_red: power_red {
 			gpios = <&led_gpio 1 GPIO_ACTIVE_HIGH>;
-			label = "red:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_RED>;
 		};
 
 		tp28 {
@@ -83,7 +86,8 @@
 
 		wps {
 			gpios = <&led_gpio 10 GPIO_ACTIVE_HIGH>;
-			label = "blue:wps";
+			function = LED_FUNCTION_WPS;
+			color = <LED_COLOR_ID_BLUE>;
 		};
 
 		voip {

+ 7 - 3
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wtr-m2133hp.dts

@@ -6,6 +6,7 @@
 
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
@@ -81,17 +82,20 @@
 		compatible = "gpio-leds";
 
 		led_power_white: power_white {
-			label = "white:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_WHITE>;
 			gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_power_orange: power_orange {
-			label = "orange:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_ORANGE>;
 			gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
 		};
 
 		led_power_blue: power_blue {
-			label = "blue:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_BLUE>;
 			gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>;
 		};
 

+ 3 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-x1pro.dtsi

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -98,7 +99,8 @@
 			pinctrl-names = "default";
 
 			led_status: status {
-				label = "green:status";
+				function = LED_FUNCTION_STATUS;
+				color = <LED_COLOR_ID_GREEN>;
 				gpios = <&tlmm 68 GPIO_ACTIVE_LOW>;
 			};
 		};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts

@@ -17,6 +17,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -108,7 +109,8 @@
 		compatible = "gpio-leds";
 
 		power: power {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>;
 			default-state = "on";
 		};
@@ -119,7 +121,8 @@
 		};
 
 		wlan {
-			label = "green:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
 		};
 	};

+ 5 - 2
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-s1300.dts

@@ -3,6 +3,7 @@
 #include "qcom-ipq4019.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include <dt-bindings/soc/qcom,tcsr.h>
 
 / {
@@ -93,7 +94,8 @@
 		compatible = "gpio-leds";
 
 		led_power: power {
-			label = "green:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>;
 			default-state = "on";
 		};
@@ -104,7 +106,8 @@
 		};
 
 		wlan {
-			label = "green:wlan";
+			function = LED_FUNCTION_WLAN;
+			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>;
 			linux,default-trigger = "phy0tpt";
 		};

+ 2 - 1
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-insect-common.dtsi

@@ -102,7 +102,8 @@
 		compatible = "gpio-leds";
 
 		power_orange: power {
-			label = "orange:power";
+			function = LED_FUNCTION_POWER;
+			color = <LED_COLOR_ID_ORANGE>;
 			gpios = <&tlmm 49 GPIO_ACTIVE_LOW>;
 			panic-indicator;
 		};