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

Arnd Bergmann arnd at arndb.de
Mon Jul 21 04:30:47 PDT 2014


On Monday 21 July 2014 13:19:39 Thomas Petazzoni wrote:
> On Mon, 21 Jul 2014 13:16:22 +0200, Arnd Bergmann wrote:
> 
> > > It isn't possible to do:
> > > 
> > > if (of_machine_is_compatible("marvell,armada-370-xp-pmsu"))
> > >         cpuidle_register(&armadaxp_cpuidle_driver, NULL);
> > > 
> > > ?
> > > 
> > > That will prevent the creation of the new single-declaration header file.
> > 
> > It would be best to have a way to read a property (or multiple
> > properties) from DT instead, to identify the requirements of the
> > device individually. However, I guess that would also require
> > changing the DT representation in an incompatible way, which we
> > normally don't.
> 
> cpuidle is not represented in DT, so besides checking the global
> compatible string with of_machine_is_compatible(), or passing data
> through platform_data (as proposed in the patch series), I don't really
> see how the cpuidle driver could find out which SoC variant is being
> used.

One way I think it can be done is by looking up the pmsu node
and then looking at some of the properties in there.

	Arnd



More information about the linux-arm-kernel mailing list