[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1260788372.2022.73.camel@climbing-alby>
Date: Mon, 14 Dec 2009 11:59:32 +0100
From: Alberto Panizzo <maramaopercheseimorto@...il.com>
To: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
Cc: Samuel Ortiz <sameo@...ux.intel.com>,
Mark Brown <broonie@...nsource.wolfsonmicro.com>,
Sascha linux-arm <s.hauer@...gutronix.de>,
Liam Girdwood <lrg@...mlogic.co.uk>,
linux-arm-kernel-infradead <linux-arm-kernel@...ts.infradead.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 4/4] regulator: mc13783 change to
platform_driver_register.
Il giorno dom, 13/12/2009 alle 21.05 +0100, Uwe Kleine-König ha scritto:
> Hello,
>
> On Sat, Dec 12, 2009 at 06:06:17PM +0100, Alberto Panizzo wrote:
> > Change the instant when regulator driver is probed.
> > To have a correct regulators initialisation (enable, disable and voltages
> > selection), the driver must have access to mc13783 registers and so
> > mc13783-core must be loaded before this.
> >
> > With this patch mc13783_regulator_probe is called when mc13783-core
> > register the regulator subsystem.
> >
> > Signed-off-by: Alberto Panizzo <maramaopercheseimorto@...il.com>
> I think the change is OK, the commit log isn't optimal though.
>
> You might want to point out that the problem only occurs if the driver
> is built-in and that mc13783_regulator_probe doesn't need to be changed
> as it already lives in .devinit.text
>
My problem is a not great knowledge of different types of initcall, I
have to improve myself in this!
> As if mc13783-regulator is built-in mc13783-core is built-in, too, the
> wording isn't good. The problem is (I suppose) that regulators are
> linked first and so mc13783-core isn't *probed* early enough and so the
> mc13783-regulator device isn't available at mc13783-regulator probing
> time.
This is the problem. As I understand subsystem_initcall it is the function
called by the system when that subsystem is initialised.
Because of mc13783-regulator is in the regulator subsystem it is called very
early in the boot process (regulators are meant to be initialised in a very
early phase).
The way that mc13783-regulator's subsystem_initcall call mc13783_regulator_probe
is correct, is only if mc13783-regulator is a subsystem of mc13783-core (mfd?).
Thanks all for reviewing!
Best regards.
Alberto!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists