]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-pxa/pm.c
[ARM] pxa: Allow platforms to override PSPR setting
[linux-2.6-omap-h63xx.git] / arch / arm / mach-pxa / pm.c
index 7d4debbdcca3feb1c9fa253f0441256d670c6a84..164eb0bb6321f5bf0bbd626b14587188cb629a4c 100644 (file)
 #include <linux/errno.h>
 #include <linux/time.h>
 
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/memory.h>
 #include <asm/system.h>
-#include <asm/arch/pm.h>
-#include <asm/arch/pxa-regs.h>
-#include <asm/arch/lubbock.h>
+#include <mach/pm.h>
+#include <mach/pxa-regs.h>
+#include <mach/lubbock.h>
 #include <asm/mach/time.h>
 
 struct pxa_cpu_pm_fns *pxa_cpu_pm_fns;
@@ -86,9 +86,27 @@ static int pxa_pm_valid(suspend_state_t state)
        return -EINVAL;
 }
 
+static int pxa_pm_prepare(void)
+{
+       int ret = 0;
+
+       if (pxa_cpu_pm_fns && pxa_cpu_pm_fns->prepare)
+               ret = pxa_cpu_pm_fns->prepare();
+
+       return ret;
+}
+
+static void pxa_pm_finish(void)
+{
+       if (pxa_cpu_pm_fns && pxa_cpu_pm_fns->finish)
+               pxa_cpu_pm_fns->finish();
+}
+
 static struct platform_suspend_ops pxa_pm_ops = {
        .valid          = pxa_pm_valid,
        .enter          = pxa_pm_enter,
+       .prepare        = pxa_pm_prepare,
+       .finish         = pxa_pm_finish,
 };
 
 static int __init pxa_pm_init(void)