aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-pxa/pxa27x.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2007-05-15 11:16:10 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-07-12 14:28:05 +0100
commite176bb05fec4c00450302a75e81f8da3dc9e309e (patch)
tree85b04f821ceb53f1aaf7289cecc6af0370912559 /arch/arm/mach-pxa/pxa27x.c
parentb23170c01f6e4ea043df7cd9486c2488e01f3d60 (diff)
[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 <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/pxa27x.c')
-rw-r--r--arch/arm/mach-pxa/pxa27x.c17
1 files changed, 15 insertions, 2 deletions
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 <asm/irq.h>
#include <asm/arch/pxa-regs.h>
#include <asm/arch/ohci.h>
+#include <asm/arch/pm.h>
#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);