On Wed, Dec 3, 2014 at 5:57 PM, Fabio Estevam <festevam@xxxxxxxxx> wrote: > From: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> > > Since commit a43f2cbbb009f96 ("leds: leds-gpio: Make use of device property > API") it is no longer possible to register multiple gpio leds without passing > the 'label' property. > > According to Documentation/devicetree/bindings/leds/common.txt: > > "Optional properties for child nodes: > - label : The label for this LED. If omitted, the label is > taken from the node name (excluding the unit address)." > > So retrieve the node name when the 'label' property is absent to keep the old > behaviour and fix this regression. > > Reported-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> > Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxx> (Assuming that creating a fwnode_get_name() function turns out to be a non-starter.) g. > --- > Changes since v1: > - Consider ACPI case as suggested by Grant > > drivers/leds/leds-gpio.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c > index fd53968..8a8ba11 100644 > --- a/drivers/leds/leds-gpio.c > +++ b/drivers/leds/leds-gpio.c > @@ -170,6 +170,7 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev) > struct fwnode_handle *child; > struct gpio_leds_priv *priv; > int count, ret; > + struct device_node *np; > > count = device_get_child_node_count(dev); > if (!count) > @@ -189,7 +190,16 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev) > goto err; > } > > - fwnode_property_read_string(child, "label", &led.name); > + np = of_node(child); > + > + if (fwnode_property_present(child, "label")) { > + fwnode_property_read_string(child, "label", &led.name); > + } else { > + if (IS_ENABLED(CONFIG_OF) && !led.name && np) > + led.name = np->name; > + if (!led.name) > + return ERR_PTR(-EINVAL); > + } > fwnode_property_read_string(child, "linux,default-trigger", > &led.default_trigger); > > -- > 1.9.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-leds" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html