[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>
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index c1f2173..8560439 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -23,6 +23,7 @@
#include <asm/hardware.h>
#include <asm/arch/pxa-regs.h>
+#include <asm/arch/pm.h>
#include "generic.h"
@@ -105,7 +106,7 @@
#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:
@@ -133,4 +134,21 @@
}
}
+static struct pm_ops pxa25x_pm_ops = {
+ .prepare = pxa_pm_prepare,
+ .enter = pxa_pm_enter,
+ .valid = pm_valid_only_mem,
+};
#endif
+
+static int __init pxa25x_init(void)
+{
+ if (cpu_is_pxa21x() || cpu_is_pxa25x()) {
+#ifdef CONFIG_PM
+ pm_set_ops(&pxa25x_pm_ops);
+#endif
+ }
+ return 0;
+}
+
+subsys_initcall(pxa25x_init);