[PATCH 10/17] MIPS: loongson32: Convert GPIO LED platform device to DT

From: Keguang Zhang
Date: Sat Jul 29 2023 - 09:45:13 EST


Add GPIO LED device nodes for Loongson-1 boards,
and drop the legacy platform devices and data accordingly.

Signed-off-by: Keguang Zhang <keguang.zhang@xxxxxxxxx>
---
arch/mips/boot/dts/loongson/lsgz_1b_dev.dts | 19 +++++++++++++++
arch/mips/boot/dts/loongson/smartloong_1c.dts | 19 +++++++++++++++
arch/mips/loongson32/ls1b/board.c | 23 -------------------
3 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/arch/mips/boot/dts/loongson/lsgz_1b_dev.dts b/arch/mips/boot/dts/loongson/lsgz_1b_dev.dts
index a43df21f2904..8ee76ecdafbb 100644
--- a/arch/mips/boot/dts/loongson/lsgz_1b_dev.dts
+++ b/arch/mips/boot/dts/loongson/lsgz_1b_dev.dts
@@ -5,6 +5,8 @@

/dts-v1/;

+#include <dt-bindings/gpio/gpio.h>
+
#include "loongson1b.dtsi"

/ {
@@ -26,6 +28,23 @@ xtal: xtal {
clock-output-names = "xtal";
#clock-cells = <0>;
};
+
+ leds {
+ compatible = "gpio-leds";
+
+ led9 {
+ label = "led9";
+ gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "heartbeat";
+ };
+
+ led6 {
+ label = "led6";
+ gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "nand-disk";
+ };
+
+ };
};

&gmac0 {
diff --git a/arch/mips/boot/dts/loongson/smartloong_1c.dts b/arch/mips/boot/dts/loongson/smartloong_1c.dts
index 2d8f304aa2c4..96387cc814ca 100644
--- a/arch/mips/boot/dts/loongson/smartloong_1c.dts
+++ b/arch/mips/boot/dts/loongson/smartloong_1c.dts
@@ -5,6 +5,8 @@

/dts-v1/;

+#include <dt-bindings/gpio/gpio.h>
+
#include "loongson1c.dtsi"

/ {
@@ -26,6 +28,23 @@ xtal: xtal {
clock-output-names = "xtal";
#clock-cells = <0>;
};
+
+ leds {
+ compatible = "gpio-leds";
+
+ led0 {
+ label = "led0";
+ gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "heartbeat";
+ };
+
+ led1 {
+ label = "led1";
+ gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "nand-disk";
+ };
+
+ };
};

&gmac0 {
diff --git a/arch/mips/loongson32/ls1b/board.c b/arch/mips/loongson32/ls1b/board.c
index baadc524cc88..4cad019d655f 100644
--- a/arch/mips/loongson32/ls1b/board.c
+++ b/arch/mips/loongson32/ls1b/board.c
@@ -12,27 +12,6 @@
#include <nand.h>
#include <platform.h>

-static const struct gpio_led ls1x_gpio_leds[] __initconst = {
- {
- .name = "LED9",
- .default_trigger = "heartbeat",
- .gpio = 38,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_OFF,
- }, {
- .name = "LED6",
- .default_trigger = "nand-disk",
- .gpio = 39,
- .active_low = 1,
- .default_state = LEDS_GPIO_DEFSTATE_OFF,
- },
-};
-
-static const struct gpio_led_platform_data ls1x_led_pdata __initconst = {
- .num_leds = ARRAY_SIZE(ls1x_gpio_leds),
- .leds = ls1x_gpio_leds,
-};
-
static struct platform_device *ls1b_platform_devices[] __initdata = {
&ls1x_ehci_pdev,
&ls1x_rtc_pdev,
@@ -41,8 +20,6 @@ static struct platform_device *ls1b_platform_devices[] __initdata = {

static int __init ls1b_platform_init(void)
{
- gpio_led_register_device(-1, &ls1x_led_pdata);
-
return platform_add_devices(ls1b_platform_devices,
ARRAY_SIZE(ls1b_platform_devices));
}
--
2.39.2