Thread (14 messages) 14 messages, 4 authors, 2015-07-10

Re: [PATCH v1 1/3] gpio: defer probe if pinctrl cannot be found

From: Geert Uytterhoeven <hidden>
Date: 2015-07-02 08:59:55
Also in: linux-gpio, linux-tegra, lkml

Hi Rob,

On Wed, Jul 1, 2015 at 7:36 PM, Rob Herring [off-list ref] wrote:
On Wed, Jul 1, 2015 at 7:45 AM, Tomeu Vizoso [off-list ref] wrote:
quoted
When an OF node has a pin range for its GPIOs, return -EPROBE_DEFER if
the pin controller isn't available.

Otherwise, the GPIO range wouldn't be set at all unless the pin
controller probed always before the GPIO chip.

With this change, the probe of the GPIO chip will be deferred and will
be retried at a later point, hopefully once the pin controller has been
registered and probed already.
This will break cases where the pinctrl driver does not exist, but the
DT contains pinctrl bindings. We can have similar problems already
with clocks though. However, IMO this problem is a bit different in
that pinctrl is more likely entirely optional while clocks are often
required. You may do all pin setup in bootloader/firmware on some
boards and not others. Of course then why put pinctrl in the DT in
that case? They could be present just due to how chip vs. board dts
files are structured.
Isn't that already the case?
If I change the compatible value of a pinctrl node to an invalid value, I get:

    sh-sci e6c50000.serial: could not find pctldev for node
/pfc@e6050000/serial1, deferring probe
We could address this by simply marking the pin controller node
disabled. However, ...
Doesn't seem to make any difference.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help