From: Patrick Bruenn <p.bruenn@beckhoff.com>
Date: Wed, 11 Apr 2018 09:16:28 +0000 (+0200)
Subject: dm: led: auto probe() LEDs with "default-state"
X-Git-Tag: v2025.01-rc5-pxa1908~4376
X-Git-Url: http://git.dujemihanovic.xyz/%22http:/kyber.dk/phpMyBuilder/static/git-logo.png?a=commitdiff_plain;h=bc882f5d5c7b4d6ed5e927bf838863af43c786e7;p=u-boot.git

dm: led: auto probe() LEDs with "default-state"

To avoid board specificy LED activation code, automatically
activate gpio-leds with "default-state" property during bind().

Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
---

diff --git a/drivers/led/led_gpio.c b/drivers/led/led_gpio.c
index 533587dc47..a36942b934 100644
--- a/drivers/led/led_gpio.c
+++ b/drivers/led/led_gpio.c
@@ -10,6 +10,7 @@
 #include <led.h>
 #include <asm/gpio.h>
 #include <dm/lists.h>
+#include <dm/uclass-internal.h>
 
 struct led_gpio_priv {
 	struct gpio_desc gpio;
@@ -117,6 +118,14 @@ static int led_gpio_bind(struct udevice *parent)
 			return ret;
 		uc_plat = dev_get_uclass_platdata(dev);
 		uc_plat->label = label;
+
+		if (ofnode_read_bool(node, "default-state")) {
+			struct udevice *devp;
+
+			ret = uclass_get_device_tail(dev, 0, &devp);
+			if (ret)
+				return ret;
+		}
 	}
 
 	return 0;