summaryrefslogtreecommitdiffstats
path: root/drivers/led
diff options
context:
space:
mode:
authorHubert Feurstein <h.feurstein@gmail.com>2015-03-04 10:52:04 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-03-04 11:35:50 +0100
commit3d61b7b6a9b9967f4d3e64a985abd2500abb202d (patch)
treecdcfaa1a1adc33957dd33f8d40f52d0f2f2f9036 /drivers/led
parente2290aef3139b9a987855f7f3bb887516483c052 (diff)
downloadbarebox-3d61b7b6a9b9967f4d3e64a985abd2500abb202d.tar.gz
barebox-3d61b7b6a9b9967f4d3e64a985abd2500abb202d.tar.xz
led: gpio: add support for default-state dt-property
This patch adds support for the default-state device tree property. Signed-off-by: Hubert Feurstein <h.feurstein@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/led')
-rw-r--r--drivers/led/led-gpio.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/led/led-gpio.c b/drivers/led/led-gpio.c
index a1a661724d..ae3f13f45b 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,13 @@ 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)) {
+ if (!strcmp(default_state, "on"))
+ led_gpio_set(&gled->led, 1);
+ else if (!strcmp(default_state, "off"))
+ led_gpio_set(&gled->led, 0);
+ }
}
return 0;