[PATCH 1/9] spi/pxa2xx: don't use subys initcall for driver init
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Nov 25 18:54:15 EST 2010
On Wed, Nov 24, 2010 at 04:39:05PM +0100, Sebastian Andrzej Siewior wrote:
> Mark Brown wrote:
>> On Wed, Nov 24, 2010 at 03:09:25PM +0100, Sebastian Andrzej Siewior wrote:
>>
>>> I've been pointed out to this commit but I don't understand _why_.
>>> The part I don't get is "so it can be used with cpufreq". Is it
>>> refered to a driver or the subsystem as it?
>>
>> We need the regulators for the CPU rails to start before the cpufreq
>> driver starts so cpufreq can talk to them, and since the regulators may
>> be SPI attached this means we also need the SPI controller to start
>> before cpufreq. cpufreq starts at vanilla init time.
>
> After digging through the code I think I've found it. pxa_cpu_init()
> registers a cpufreq client. cpufreq calls init and pxa then
> regulator_get() to get the regulator and I guess this is the problem.
> So I would suggest to defer pxa_cpu_init() via late_initcall().
>
> The other way around will force you to hack the init code for various
> drivers to make it work.
Why should the PXA code change when you haven't explained _why_ you want
to change the SPI driver to conform to your idea?
More information about the linux-arm-kernel
mailing list