lkml.org 
[lkml]   [2020]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] pinctrl: devicetree: Keep deferring even on timeout
On Tue, Aug 25, 2020 at 4:33 PM Thierry Reding <thierry.reding@gmail.com> wrote:

> From: Thierry Reding <treding@nvidia.com>
>
> driver_deferred_probe_check_state() may return -ETIMEDOUT instead of
> -EPROBE_DEFER after all built-in drivers have been probed. This can
> cause issues for built-in drivers that depend on resources provided by
> loadable modules.
>
> One such case happens on Tegra where I2C controllers are used during
> early boot to set up the system PMIC, so the I2C driver needs to be a
> built-in driver. At the same time, some instances of the I2C controller
> depend on the DPAUX hardware for pinmuxing. Since the DPAUX is handled
> by the display driver, which is usually not built-in, the pin control
> states will not become available until after the root filesystem has
> been mounted and the display driver loaded from it.
>
> Fixes: bec6c0ecb243 ("pinctrl: Remove use of driver_deferred_probe_check_state_continue()")
> Suggested-by: John Stultz <john.stultz@linaro.org>
> Signed-off-by: Thierry Reding <treding@nvidia.com>

I applied this patch (rather than Johns') since John agreed this
is a better solution.

I got Greg's ACK on Johns patch but not this one, but anyways
it shows he's convenient with the concept so here we go.

Yours,
Linus Walleij

\
 
 \ /
  Last update: 2020-09-12 18:22    [W:0.060 / U:0.772 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site