* [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
@ 2012-06-27 22:32 Roland Stigge
2012-07-14 19:57 ` Linus Walleij
2012-07-17 18:24 ` Linus Walleij
0 siblings, 2 replies; 8+ messages in thread
From: Roland Stigge @ 2012-06-27 22:32 UTC (permalink / raw)
To: linux-arm-kernel
of_get_named_gpio_flags() and of_get_named_gpio() return -EPROBE_DEFER if the
respective GPIO is not (yet) available. This is useful if driver's probe()
functions try to get a GPIO whose controller isn't probed yet. Thus, the driver
can be probed again later on.
The function still returns -EINVAL on other errors (parse error or node doesn't
exist). This way, the case of an optional/intentionally missing GPIO is handled
appropriately.
Signed-off-by: Roland Stigge <stigge@antcom.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
Applies to v3.5-rc4
drivers/gpio/gpiolib-of.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- linux-2.6.orig/drivers/gpio/gpiolib-of.c
+++ linux-2.6/drivers/gpio/gpiolib-of.c
@@ -62,7 +62,10 @@ static int of_gpiochip_find_and_xlate(st
int of_get_named_gpio_flags(struct device_node *np, const char *propname,
int index, enum of_gpio_flags *flags)
{
- struct gg_data gg_data = { .flags = flags, .out_gpio = -ENODEV };
+ /* Return -EPROBE_DEFER to support probe() functions to be called
+ * later when the GPIO actually becomes available
+ */
+ struct gg_data gg_data = { .flags = flags, .out_gpio = -EPROBE_DEFER };
int ret;
/* .of_xlate might decide to not fill in the flags, so clear it. */
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
2012-06-27 22:32 [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available Roland Stigge
@ 2012-07-14 19:57 ` Linus Walleij
2012-07-15 21:11 ` Mark Brown
2012-07-17 18:24 ` Linus Walleij
1 sibling, 1 reply; 8+ messages in thread
From: Linus Walleij @ 2012-07-14 19:57 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Jun 28, 2012 at 12:32 AM, Roland Stigge <stigge@antcom.de> wrote:
> of_get_named_gpio_flags() and of_get_named_gpio() return -EPROBE_DEFER if the
> respective GPIO is not (yet) available. This is useful if driver's probe()
> functions try to get a GPIO whose controller isn't probed yet. Thus, the driver
> can be probed again later on.
>
> The function still returns -EINVAL on other errors (parse error or node doesn't
> exist). This way, the case of an optional/intentionally missing GPIO is handled
> appropriately.
>
> Signed-off-by: Roland Stigge <stigge@antcom.de>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
If I understand correctly this relates closely to another patch from Mark Brown
we discussed the other day (sorry for missing this patch, which arrived
earlier, for a while).
Mark/Grant can you look at this patch?
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
2012-07-14 19:57 ` Linus Walleij
@ 2012-07-15 21:11 ` Mark Brown
2012-07-16 22:16 ` Linus Walleij
0 siblings, 1 reply; 8+ messages in thread
From: Mark Brown @ 2012-07-15 21:11 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, Jul 14, 2012 at 09:57:08PM +0200, Linus Walleij wrote:
> If I understand correctly this relates closely to another patch from Mark Brown
> we discussed the other day (sorry for missing this patch, which arrived
> earlier, for a while).
> Mark/Grant can you look at this patch?
Not unless I have a copy of it, no... I had thought a version of this
had been submitted already and was in a similar place to the one for
gpio_request().
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120715/b356bb81/attachment.sig>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
2012-07-15 21:11 ` Mark Brown
@ 2012-07-16 22:16 ` Linus Walleij
2012-07-17 7:43 ` Mark Brown
0 siblings, 1 reply; 8+ messages in thread
From: Linus Walleij @ 2012-07-16 22:16 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Jul 15, 2012 at 11:11 PM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Sat, Jul 14, 2012 at 09:57:08PM +0200, Linus Walleij wrote:
>
>> If I understand correctly this relates closely to another patch from Mark Brown
>> we discussed the other day (sorry for missing this patch, which arrived
>> earlier, for a while).
>
>> Mark/Grant can you look at this patch?
>
> Not unless I have a copy of it, no...
Sorry, forwarded a copy to you.
> I had thought a version of this
> had been submitted already and was in a similar place to the one for
> gpio_request().
Me to...
Linus Walleij
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
2012-07-16 22:16 ` Linus Walleij
@ 2012-07-17 7:43 ` Mark Brown
2012-07-17 18:17 ` Linus Walleij
0 siblings, 1 reply; 8+ messages in thread
From: Mark Brown @ 2012-07-17 7:43 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jul 17, 2012 at 12:16:48AM +0200, Linus Walleij wrote:
> On Sun, Jul 15, 2012 at 11:11 PM, Mark Brown
> > I had thought a version of this
> > had been submitted already and was in a similar place to the one for
> > gpio_request().
> Me to...
Greg just merged the driver core patch for pushing the deferred devices
to the end of the dpm list before reprobing them which should address
Grant's concern about doing this in gpiolib.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120717/bbaa4910/attachment.sig>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
2012-07-17 7:43 ` Mark Brown
@ 2012-07-17 18:17 ` Linus Walleij
0 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2012-07-17 18:17 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jul 17, 2012 at 9:43 AM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Tue, Jul 17, 2012 at 12:16:48AM +0200, Linus Walleij wrote:
>> On Sun, Jul 15, 2012 at 11:11 PM, Mark Brown
>
>> > I had thought a version of this
>> > had been submitted already and was in a similar place to the one for
>> > gpio_request().
>
>> Me to...
>
> Greg just merged the driver core patch for pushing the deferred devices
> to the end of the dpm list before reprobing them which should address
> Grant's concern about doing this in gpiolib.
OK sounds good, I'll look over your patch again.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
2012-06-27 22:32 [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available Roland Stigge
2012-07-14 19:57 ` Linus Walleij
@ 2012-07-17 18:24 ` Linus Walleij
2012-07-17 18:30 ` Alexandre Pereira da Silva
1 sibling, 1 reply; 8+ messages in thread
From: Linus Walleij @ 2012-07-17 18:24 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Jun 28, 2012 at 12:32 AM, Roland Stigge <stigge@antcom.de> wrote:
> of_get_named_gpio_flags() and of_get_named_gpio() return -EPROBE_DEFER if the
> respective GPIO is not (yet) available. This is useful if driver's probe()
> functions try to get a GPIO whose controller isn't probed yet. Thus, the driver
> can be probed again later on.
>
> The function still returns -EINVAL on other errors (parse error or node doesn't
> exist). This way, the case of an optional/intentionally missing GPIO is handled
> appropriately.
>
> Signed-off-by: Roland Stigge <stigge@antcom.de>
Patch applied, if all gpio stuff shall defer properly in v3.6 we need this
so let's do some testing in -next!
Would be nice to get some ACK besides my own...
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
2012-07-17 18:24 ` Linus Walleij
@ 2012-07-17 18:30 ` Alexandre Pereira da Silva
0 siblings, 0 replies; 8+ messages in thread
From: Alexandre Pereira da Silva @ 2012-07-17 18:30 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jul 17, 2012 at 3:24 PM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Thu, Jun 28, 2012 at 12:32 AM, Roland Stigge <stigge@antcom.de> wrote:
>
>> of_get_named_gpio_flags() and of_get_named_gpio() return -EPROBE_DEFER if the
>> respective GPIO is not (yet) available. This is useful if driver's probe()
>> functions try to get a GPIO whose controller isn't probed yet. Thus, the driver
>> can be probed again later on.
>>
>> The function still returns -EINVAL on other errors (parse error or node doesn't
>> exist). This way, the case of an optional/intentionally missing GPIO is handled
>> appropriately.
>>
>> Signed-off-by: Roland Stigge <stigge@antcom.de>
>
> Patch applied, if all gpio stuff shall defer properly in v3.6 we need this
> so let's do some testing in -next!
>
> Would be nice to get some ACK besides my own...
You can add mine. I've been using this patch for quite some time now.
Acked-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com>
> Yours,
> Linus Walleij
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-07-17 18:30 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-27 22:32 [PATCH RESEND] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available Roland Stigge
2012-07-14 19:57 ` Linus Walleij
2012-07-15 21:11 ` Mark Brown
2012-07-16 22:16 ` Linus Walleij
2012-07-17 7:43 ` Mark Brown
2012-07-17 18:17 ` Linus Walleij
2012-07-17 18:24 ` Linus Walleij
2012-07-17 18:30 ` Alexandre Pereira da Silva
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).