Russell King - ARM Linux <[email protected]> writes:
> On Wed, May 20, 2009 at 04:19:25PM -0700, Kevin Hilman wrote:
>> This patch is to sync the core linux-omap PM code with mainline. This
>> code has evolved and been used for a while the linux-omap tree, but
>> the attempt here is to finally get this into mainline.
>
> Hmm..
>
>> +static int __init omap_pm_init(void)
>> {
>> - return 0;
>> + int error = -1;
>> +
>> + if (cpu_is_omap24xx())
>> + error = omap2_pm_init();
>> + if (cpu_is_omap34xx())
>> + error = omap3_pm_init();
>
> Experience with PXA has shown that this tends to be the wrong way up
> of doing things. It seems to be much better to have the SoC specific
> code call the SoC generic code instead.
OK.
> So, eg, omap2_pm_init() becomes:
>
> static int omap2_pm_init(void)
> {
> if (!cpu_is_omap24xx())
> return -ENODEV;
>
> ... omap24xx initialisation ...
>
> return omap_pm_init();
> }
> late_initcall(omap2_pm_init);
>
> (and, since this is always built-in, there's no point doing cleanup if
> omap_pm_init() fails - you're not going to be able to re-run that
> initialization again.)
Sounds good, I'll make this change and upate the pm-upstream branch
for Tony.
This will leave the common omap_pm_init() and pm.c basically empty, so
I'll just remove them.
Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html