From: Hubert Feurstein <hubert.feurst...@deto.at>

This patch adds support for the default-state device tree property.

Signed-off-by: Hubert Feurstein <h.feurst...@gmail.com>
---
 drivers/led/led-gpio.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/led/led-gpio.c b/drivers/led/led-gpio.c
index a1a6617..69ad7e7 100644
--- a/drivers/led/led-gpio.c
+++ b/drivers/led/led-gpio.c
@@ -204,6 +204,7 @@ static int led_gpio_of_probe(struct device_d *dev)
 
        for_each_child_of_node(dev->device_node, child) {
                struct gpio_led *gled;
+               const char *default_state;
                enum of_gpio_flags flags;
                int gpio;
                const char *label;
@@ -225,6 +226,18 @@ static int led_gpio_of_probe(struct device_d *dev)
 
                led_gpio_register(gled);
                led_of_parse_trigger(&gled->led, child);
+
+               if (!of_property_read_string(child, "default-state", 
&default_state)) {
+                       int state = -1;
+
+                       if (!strcmp(default_state, "on"))
+                               state = 1;
+                       else if (!strcmp(default_state, "off"))
+                               state = 0;
+
+                       if (state >= 0)
+                               led_gpio_set(&gled->led, state ^ 
gled->active_low);
+               }
        }
 
        return 0;
-- 
2.3.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to