Thread (22 messages) 22 messages, 6 authors, 2015-01-23

Re: [PATCH v1 4/4] leds: no longer use unnamed gpios

From: Alexandre Courbot <hidden>
Date: 2015-01-19 04:09:37
Also in: linux-devicetree, linux-gpio, linux-leds, lkml

On Mon, Jan 19, 2015 at 12:43 PM, Alexandre Courbot [off-list ref] wrote:
On Wed, Jan 14, 2015 at 10:20 PM, Olliver Schinagl [off-list ref] wrote:
quoted
On 14-01-15 13:45, Linus Walleij wrote:
quoted
On Thu, Jan 8, 2015 at 11:12 PM, Dmitry Torokhov
[off-list ref] wrote:
quoted
On Thu, Jan 08, 2015 at 08:40:20AM -0600, Rob Herring wrote:
quoted
On Thu, Jan 8, 2015 at 2:45 AM, Olliver Schinagl [off-list ref]
wrote:
quoted
quoted
quoted
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -184,7 +184,7 @@ static struct gpio_leds_priv
*gpio_leds_create(struct
platform_device *pdev)
                 struct gpio_led led = {};
                 const char *state = NULL;
   -             led.gpiod = devm_get_gpiod_from_child(dev, NULL,
child);
+               led.gpiod = devm_get_gpiod_from_child(dev, "led",
child);
Would not this break existing boards using old bindings? You need to
handle both cases: if you can't located "led-gpios" then you will have
to
try just "gpios".
Very true. I was rather even hoping we could update all bindings, I
don't
mind going through the available dts files to fix them ... But need to
know
that that's the proper way to go before doing the work ;)
That will not work. You cannot make changes that require a new dtb
with a new kernel. This would also break for the other way around
(i.e. a new dtb and old kernel).

You would have to search for both led-gpios and gpios. I'm not sure if
we can do that generically for all GPIOs. If you had a node with both
"blah-gpios" and "gpios", it would break. I would hope there are no
such cases like that. We also now have to consider how ACPI identifies
GPIOs and whether this makes sense.
I think only the driver itself can know about such "legacy" mappings and
make a decision.
Yeah leds-gpio.c will need to be patched to check for "led-gpios" first
and then fall back to "gpios" if not found.
yeah I've done the work, just need to double check it and resend a v2.

Linus, I assume you want the already applied patches omitted from v2?
Yes, please base new revisions on Linus' devel branch, omitting any
patches that he has already accepted.
Actually on top of breaking backward compatibility, I think the case
of LED GPIOs is one of thoses where it makes sense to not have a name
(the GPIO usage is obvious from the DT hierarchy, and there cannot be
another one). So I don't feel like this change is really needed (other
patches in this series are still useful though).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help