Re: [PATCH v5 14/14] ARM: mvebu: register the cpuidle driver for the Armada XP SoCs

From: Gregory CLEMENT
Date: Wed Mar 26 2014 - 06:38:49 EST


On 26/03/2014 11:31, Thomas Petazzoni wrote:
> Dear Gregory CLEMENT,
>
> On Tue, 25 Mar 2014 23:48:25 +0100, Gregory CLEMENT wrote:
>
>> +int __init armada_370_xp_cpu_pm_init(void)
>> +{
>> + if (!((of_find_compatible_node(NULL, NULL, "marvell,armada-370-xp-pmsu") ||
>> + of_find_compatible_node(NULL, NULL, "marvell,armada-370-pmsu"))
>> + && of_find_compatible_node(NULL, NULL, "marvell,coherency-fabric")
>> + && of_machine_is_compatible("marvell,armadaxp")))
>> + return 0;
>
> Instead of this big single condition, maybe it could be split in a
> nicer way:
>
> /*
> * Check that all the requirements are available to enable
> * cpuidle. So far, it is only supported on Armada XP, cpuidle
> * needs the coherency fabric and the PMSU enabled
> */
>
> if (!of_machine_is_compatible("marvell,armadaxp"))
> return 0;
>
> np = of_find_compatible_node(NULL, NULL, "marvell,coherency-fabric");
> if (!np)
> return 0;
> of_node_put(np);
>
> np = of_find_matching_node(NULL, of_pmsu_table);

Oh yes the pmsu table! I was concerned by this big condition, yesterday but
I didn't find a proper solution due to the test to the 2 comaptible string:
I forgot the pmsu table.

I will do this change (I mean using the pmsu table but also splitting the
condition in small chunk).

Thanks,

Gregory


> if (!np)
> return 0;
> of_node_put(np);
>
> Thomas
>


--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/