Device probe order (i2c regulator vs. platform device)

Andy Green andy at warmcat.com
Wed Mar 24 08:11:41 EDT 2010


On 03/24/10 11:32, Somebody in the thread at some point said:
> On Wed, Mar 24, 2010 at 09:19:58AM +0000, Andy Green wrote:
>
>> Delaying registering devices is only half the problem.  You must
>> also correct these device's parent dev to be the PMU's.
>
>> Otherwise your suspend and resume ordering turns to crap and you
>> will immediately be in Hell, for example the PMIC may go down taking
>> away power from the SD Card before you finished talking to it.
>
> This has not been a practical issue in systems - it is very rare to

You evidently know about GTA02...

> explicitly suspend the regulator part of the PMIC.  Obviously the PMIC
> suspend will usually involve killing the power to the processor so it is
> almost always triggered from hardware as part of the processor poweroff
> after software has halted.

That doesn't have to follow at all, there are various kinds of suspend 
and it's legal for the PMU to have a policy to turn off various assets 
at the various levels of power saving.  Nor if I understood it is 
regulator API requiring a handshake signal scheme from the CPU to manage 
suspend, it's open how it is done and supports regulators and CPUs that 
don't have that arrangement.

> It'd be nice to explicitly save and restore the regulator state over
> suspend and resume for devices that don't support that natively but
> that's mostly orthogonal and mostly just flops out of devices doing
> their own management at suspend and resume anyway.
>
>> It would be very good is this was regularized somehow into a
>> standard API because it's absolutely a requirement for many boards
>> that their devices ARE dependent on PMU as a parent.
>
> The only system I'm aware of which had any stuff like this was the
> GTA02.  I never investigated to figure out why the code there was doing
> what it was.

I wouldn't be so quick to assert that, you do not know all the code out 
there in order to tell.  I seem to read threads regularly here about 
furrowed brows on unstable or broken suspend that can easily be due to 
this kind of race.

Anyway, you reject it's a problem, understood :-)

-Andy



More information about the linux-arm-kernel mailing list