Skip to content

Commit

Permalink
ARM: mvebu: make the cpuidle initialization more generic
Browse files Browse the repository at this point in the history
In preparation to the addition of the cpuidle support for more SoCs,
this patch moves the Armada XP specific initialization to a separate
function.

Signed-off-by: Gregory CLEMENT <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Link: https://lkml.kernel.org/r/1406120453-29291-7-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <[email protected]>
  • Loading branch information
gclement authored and Jason Cooper committed Jul 24, 2014
1 parent 898ef3e commit 54a4d1b
Showing 1 changed file with 20 additions and 12 deletions.
32 changes: 20 additions & 12 deletions arch/arm/mach-mvebu/pmsu.c
Original file line number Diff line number Diff line change
Expand Up @@ -311,31 +311,39 @@ static struct notifier_block mvebu_v7_cpu_pm_notifier = {
.notifier_call = mvebu_v7_cpu_pm_notify,
};

static int __init mvebu_v7_cpu_pm_init(void)
static int __init armada_xp_cpuidle_init(void)
{
struct device_node *np;

/*
* 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;
return -ENODEV;
of_node_put(np);

mvebu_v7_cpuidle_device.dev.platform_data = armada_370_xp_cpu_suspend;

return 0;
}

static int __init mvebu_v7_cpu_pm_init(void)
{
struct device_node *np;
int ret;

np = of_find_matching_node(NULL, of_pmsu_table);
if (!np)
return 0;
of_node_put(np);

if (of_machine_is_compatible("marvell,armadaxp"))
ret = armada_xp_cpuidle_init();
else
return 0;

if (ret)
return ret;

mvebu_v7_pmsu_enable_l2_powerdown_onidle();
mvebu_v7_cpuidle_device.dev.platform_data = armada_370_xp_cpu_suspend;
platform_device_register(&mvebu_v7_cpuidle_device);
cpu_pm_register_notifier(&mvebu_v7_cpu_pm_notifier);

Expand Down

0 comments on commit 54a4d1b

Please sign in to comment.