[PATCH] led: gpio: add support for default-state dt-property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Hubert Feurstein <hubert.feurstein@xxxxxxx>

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

Signed-off-by: Hubert Feurstein <h.feurstein@xxxxxxxxx>
---
 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@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux