[PATCH v3] led: try to get LED's label from the 'label' property
Antony Pavlov
antonynpavlov at gmail.com
Mon Jul 28 22:36:36 PDT 2014
Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
---
Documentation/devicetree/bindings/leds/common.rst | 2 ++
drivers/led/led-gpio.c | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/leds/common.rst b/Documentation/devicetree/bindings/leds/common.rst
index c1fd1ab..1f5ae42 100644
--- a/Documentation/devicetree/bindings/leds/common.rst
+++ b/Documentation/devicetree/bindings/leds/common.rst
@@ -8,3 +8,5 @@ Common leds properties
* ``panic`` - LED turns on when barebox panics
* ``net`` - LED indicates network activity
+* ``label``: The label for this LED. If omitted, the label is taken
+ from the node name (excluding the unit address).
diff --git a/drivers/led/led-gpio.c b/drivers/led/led-gpio.c
index 7bb3b49..a1a6617 100644
--- a/drivers/led/led-gpio.c
+++ b/drivers/led/led-gpio.c
@@ -206,13 +206,17 @@ static int led_gpio_of_probe(struct device_d *dev)
struct gpio_led *gled;
enum of_gpio_flags flags;
int gpio;
+ const char *label;
gpio = of_get_named_gpio_flags(child, "gpios", 0, &flags);
if (gpio < 0)
continue;
gled = xzalloc(sizeof(*gled));
- gled->led.name = xstrdup(child->name);
+ if (of_property_read_string(child, "label", &label))
+ label = child->name;
+ gled->led.name = xstrdup(label);
+
gled->gpio = gpio;
gled->active_low = (flags & OF_GPIO_ACTIVE_LOW) ? 1 : 0;
--
2.0.1
More information about the barebox
mailing list