lkml.org 
[lkml]   [2012]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] regulator: fixed: support deferred probe for DT GPIOs
On 07/01/2012 12:23 PM, Mark Brown wrote:
> On Fri, Jun 29, 2012 at 10:33:15AM -0600, Stephen Warren wrote:
>
>> of_get_named_gpio() needs the driver hosting the GPIO that the
>> DT property references to have been probed. Detect this specific
>> failure, and defer the probe of the whole regulator until this
>> API can complete.
>
> I've applied this but...

Thanks.

>> + /* + * of_get_named_gpio() currently returns ENODEV rather
>> than + * EPROBE_DEFER. This code attempts to be compatible with
>> both + * for now; the ENODEV check can be removed once the API
>> is fixed.
>
> ...this just seems rubbish, why aren't we just fixing the device
> tree code and why are we doing this at the device tree level rather
> than as a general gpiolib thing?

It is being fixed in the DT code:

https://lkml.org/lkml/2012/6/18/468

However, it seemed best to make the regulator code work both before
and after that patch.

This issue can't be fixed only in gpio_request(); of_get_named_gpio()
needs the GPIO driver to be probed/registered to even be able to parse
the GPIO ID out of the DT; it makes a call into the GPIO driver as
part of the parsing. So, the DT code will always have to handle
deferred probe, as well as gpio_request() (for the case where the GPIO
ID came from platform data and hence there was no earlier point where
deferred probed would be detected).


\
 
 \ /
  Last update: 2012-07-02 18:22    [W:1.937 / U:0.240 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site