mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] led: gpio: add support for default-state dt-property
@ 2015-02-16 13:03 h.feurstein
  2015-02-17  7:59 ` Sascha Hauer
  0 siblings, 1 reply; 4+ messages in thread
From: h.feurstein @ 2015-02-16 13:03 UTC (permalink / raw)
  To: barebox; +Cc: Hubert Feurstein

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

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

Signed-off-by: Hubert Feurstein <h.feurstein@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-03-04 10:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-16 13:03 [PATCH] led: gpio: add support for default-state dt-property h.feurstein
2015-02-17  7:59 ` Sascha Hauer
2015-03-04  9:52   ` [PATCH v2] " Hubert Feurstein
2015-03-04 10:37     ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox