All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Fritz <chf.fritz@googlemail.com>
To: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: "Tony Lindgren" <tony@atomide.com>,
	"Javier Martinez Canillas" <martinez.javier@gmail.com>,
	"Liam Girdwood" <lrg@ti.com>, "Benoît Cousson" <b-cousson@ti.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ti.com>,
	"Alessandro Zummo" <a.zummo@towertech.it>,
	"Peter Ujfalusi" <peter.ujfalusi@ti.com>,
	"Samuel Ortiz" <sameo@linux.intel.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	devicetree-discuss@lists.ozlabs.org,
	"Daniel Mack" <daniel@zonque.org>,
	"Hans J. Koch" <hjk@hansjkoch.de>
Subject: Re: [BUG] omap: mfd/regulator: twl/core: init order
Date: Mon, 15 Apr 2013 12:56:41 +0200	[thread overview]
Message-ID: <1366023401.957.5.camel@mars> (raw)
In-Reply-To: <516BD479.2020904@ti.com>

On Mon, 2013-04-15 at 13:20 +0300, Grygorii Strashko wrote:
> On 04/13/2013 09:27 PM, Christoph Fritz wrote:
> > Hi
> >
> >   while testing an omap3 board with device tree support I stumbled upon a
> > bug which is due to wrong initialization order of twl-core and
> > twl-regulator (I suppose): In the boot process they get loaded way too
> > late so that a lot of drivers before where configured wrong or just
> > refuse to load.
> >
> > For example the real time clock driver: The RTC kicks in way before
> > twl_probe() and due to that it configures its register map wrong
> > (at this time twl_priv->twl_id isn't configured yet).
> >
> > Another example is the omap display subsystem. It (DSS) fails loading
> > while trying to register some not yet existent regulators and because it
> > lacks EPROBE_DEFER.
> >
> > USB and MMC is also not working and I'm suspicious of the same cause.
> >
> > Any ideas?
> Hi Christoph,
> 
> It happens, because I2C probes execution  have been deferred due to
> "pinctrl-single" driver (, which is not ready at i2c bus initialization 
> time:
> 
> [    0.525939] omap_i2c 48070000.i2c: could not find pctldev for node 
> /ocp/pinmux@4a100040/pinmux_i2c1_pins, deferring probe
> [    0.526000] platform 48070000.i2c: Driver omap_i2c requests probe 
> deferral
> [    0.526062] omap_i2c 48072000.i2c: could not find pctldev for node 
> /ocp/pinmux@4a100040/pinmux_i2c2_pins, deferring probe
> [    0.526092] platform 48072000.i2c: Driver omap_i2c requests probe 
> deferral
> [    0.526153] omap_i2c 48060000.i2c: could not find pctldev for node 
> /ocp/pinmux@4a100040/pinmux_i2c3_pins, deferring probe
> [    0.526184] platform 48060000.i2c: Driver omap_i2c requests probe 
> deferral
> [    0.526245] omap_i2c 48350000.i2c: could not find pctldev for node 
> /ocp/pinmux@4a100040/pinmux_i2c4_pins, deferring probe
> [    0.526275] platform 48350000.i2c: Driver omap_i2c requests probe 
> deferral
> 
> I think following change should fix it, could you try it, pls:
> diff --git a/drivers/pinctrl/pinctrl-single.c 
> b/drivers/pinctrl/pinctrl-single.c
> index 5c32e88..b2a9d4b 100644
> --- a/drivers/pinctrl/pinctrl-single.c
> +++ b/drivers/pinctrl/pinctrl-single.c
> @@ -1014,7 +1014,18 @@ static struct platform_driver pcs_driver = {
>          },
>   };
> 
> -module_platform_driver(pcs_driver);
> +static int __init pcs_driver_drv_init(void)
> +{
> +       return platform_driver_register(&pcs_driver);
> +}
> +postcore_initcall(pcs_driver_drv_init);
> +
> +static void __exit pcs_driver_drv_exit(void)
> +{
> +       platform_driver_unregister(&pcs_driver);
> +}
> +module_exit(pcs_driver_drv_exit);
> +

Hi Grygorii,
 thanks - indeed it does fix the problem. I checked at least the rtc
which is now configured right and working :-)

Do you consider the patch above as a hack or will it go mainline?

 Thanks
  -- Christoph




  reply	other threads:[~2013-04-15 10:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-13 18:27 [BUG] omap: mfd/regulator: twl/core: init order Christoph Fritz
2013-04-15 10:20 ` Grygorii Strashko
2013-04-15 10:56   ` Christoph Fritz [this message]
2013-04-15 10:59     ` Grygorii Strashko
2013-04-15 16:25       ` Tony Lindgren
     [not found]         ` <20130415162541.GO10155-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2013-04-16  7:45           ` Peter Ujfalusi
2013-04-16  8:33             ` Grygorii Strashko
2013-04-16 17:54               ` Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1366023401.957.5.camel@mars \
    --to=chf.fritz@googlemail.com \
    --cc=a.zummo@towertech.it \
    --cc=b-cousson@ti.com \
    --cc=daniel@zonque.org \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grygorii.strashko@ti.com \
    --cc=hjk@hansjkoch.de \
    --cc=linux-omap@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=martinez.javier@gmail.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=sameo@linux.intel.com \
    --cc=tomi.valkeinen@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.