[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