[PATCHv2 12/17] cpuidle: mvebu: make the cpuidle driver capable of handling multiple SoCs

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Mon Jul 21 04:12:03 PDT 2014


Dear Daniel Lezcano,

On Mon, 21 Jul 2014 12:59:33 +0200, Daniel Lezcano wrote:

> > In order to prepare the add of new SoCs supports for this cpuidle
> > driver, this patch extends the platform_data understood by the
> > cpuidle-mvebu-v7 driver to contain a "type" identifying which specific
> > SoC the cpuidle driver is being probed for. It will be used by the
> > cpuidle driver to know the list of states for the current SoC.
> 
> It makes more sense to use/implement a 'soc_is_xxx' macro or 
> 'of_machine_is_compatible', like the other cpuidle drivers, no ?
> 
> Is there a good reason to implement a new way to check the board ?
> 
> It isn't possible to do:
> 
> if (of_machine_is_compatible("marvell,armada-370-xp-pmsu"))
> 	cpuidle_register(&armadaxp_cpuidle_driver, NULL);

So you suggest to have a different cpuidle driver, with a different
name, one for each SoC ?

Or do you suggest to have the cpuidle probe() function call
of_machine_is_compatible() to find out the SoC type?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the linux-arm-kernel mailing list