[PATCH v5 14/14] ARM: mvebu: register the cpuidle driver for the Armada XP SoCs
From: Gregory CLEMENT <hidden>
Date: 2014-03-26 10:38:38
Also in:
linux-pm, lkml
On 26/03/2014 11:31, Thomas Petazzoni wrote:
Dear Gregory CLEMENT, On Tue, 25 Mar 2014 23:48:25 +0100, Gregory CLEMENT wrote:quoted
+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