From e176bb05fec4c00450302a75e81f8da3dc9e309e Mon Sep 17 00:00:00 2001 From: Russell King Date: Tue, 15 May 2007 11:16:10 +0100 Subject: [ARM] pxa: move pm_ops structure into CPU specific files Move the pm_ops structure into the PXA25x and PXA27x support files. Remove the old pxa_pm_prepare() function, and rename the both pxa_cpu_pm_prepare() functions as pxa_pm_prepare(). We'll fix that later. Signed-off-by: Russell King --- arch/arm/mach-pxa/pxa27x.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'arch/arm/mach-pxa/pxa27x.c') diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 1939acc3f9f..be6ca7d3afa 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "generic.h" @@ -122,7 +123,7 @@ EXPORT_SYMBOL(get_lcdclk_frequency_10khz); #ifdef CONFIG_PM -int pxa_cpu_pm_prepare(suspend_state_t state) +int pxa_pm_prepare(suspend_state_t state) { switch (state) { case PM_SUSPEND_MEM: @@ -162,6 +163,11 @@ void pxa_cpu_pm_enter(suspend_state_t state) } } +static struct pm_ops pxa27x_pm_ops = { + .prepare = pxa_pm_prepare, + .enter = pxa_pm_enter, + .valid = pm_valid_only_mem, +}; #endif /* @@ -205,7 +211,14 @@ static struct platform_device *devices[] __initdata = { static int __init pxa27x_init(void) { - return platform_add_devices(devices, ARRAY_SIZE(devices)); + int ret = 0; + if (cpu_is_pxa27x()) { +#ifdef CONFIG_PM + pm_set_ops(&pxa27x_pm_ops); +#endif + ret = platform_add_devices(devices, ARRAY_SIZE(devices)); + } + return ret; } subsys_initcall(pxa27x_init); -- cgit v1.2.3