Re: [PATCH] pinctrl: tegra1x4: initialize at arch_initcall time

From: Thierry Reding
Date: Mon Jan 13 2014 - 04:02:40 EST


On Fri, Jan 10, 2014 at 04:50:16PM -0800, Andrew Bresticker wrote:
> Many devices rely on pinctrl/pinmux settings being applied
> before probing and some of these may probe before device_initcall
> time (e.g. i2c at subsys_initcall). Move Tegra1x4 pinctrl driver
> registration to arch_initcall time so that proper pin settings
> can be applied earlier.
>
> Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>
> ---
> drivers/pinctrl/pinctrl-tegra114.c | 13 ++++++++++++-
> drivers/pinctrl/pinctrl-tegra124.c | 13 ++++++++++++-
> 2 files changed, 24 insertions(+), 2 deletions(-)

I wonder if a better approach would be to add pin control and pin mux
settings for devices that explicitly need them to the device tree nodes
of the devices themselves. That way they should be able to use deferred
probing to handle this kind of dependency rather than relying on magic
initcall ordering.

This does make the Tegra114 and Tegra124 drivers consistent with what we
have on Tegra20 an Tegra30, though, so perhaps pinctrl is one of the few
exceptions where initcall ordering would be okay.

Thierry

Attachment: pgp00000.pgp
Description: PGP signature