Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e176bb05fec4c00450302a75e81f8da3dc9e309e
Commit:     e176bb05fec4c00450302a75e81f8da3dc9e309e
Parent:     b23170c01f6e4ea043df7cd9486c2488e01f3d60
Author:     Russell King <[EMAIL PROTECTED]>
AuthorDate: Tue May 15 11:16:10 2007 +0100
Committer:  Russell King <[EMAIL PROTECTED]>
CommitDate: Thu Jul 12 14:28:05 2007 +0100

    [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 <[EMAIL PROTECTED]>
---
 arch/arm/mach-pxa/pm.c     |   26 --------------------------
 arch/arm/mach-pxa/pxa25x.c |   20 +++++++++++++++++++-
 arch/arm/mach-pxa/pxa27x.c |   17 +++++++++++++++--
 3 files changed, 34 insertions(+), 29 deletions(-)

diff --git a/arch/arm/mach-pxa/pm.c b/arch/arm/mach-pxa/pm.c
index 6d86203..d439ffa 100644
--- a/arch/arm/mach-pxa/pm.c
+++ b/arch/arm/mach-pxa/pm.c
@@ -200,29 +200,3 @@ unsigned long sleep_phys_sp(void *sp)
 {
        return virt_to_phys(sp);
 }
-
-/*
- * Called after processes are frozen, but before we shut down devices.
- */
-int pxa_pm_prepare(suspend_state_t state)
-{
-       extern int pxa_cpu_pm_prepare(suspend_state_t state);
-
-       return pxa_cpu_pm_prepare(state);
-}
-
-EXPORT_SYMBOL_GPL(pxa_pm_prepare);
-
-static struct pm_ops pxa_pm_ops = {
-       .prepare        = pxa_pm_prepare,
-       .enter          = pxa_pm_enter,
-       .valid          = pm_valid_only_mem,
-};
-
-static int __init pxa_pm_init(void)
-{
-       pm_set_ops(&pxa_pm_ops);
-       return 0;
-}
-
-device_initcall(pxa_pm_init);
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 @@ 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:
@@ -133,4 +134,21 @@ void pxa_cpu_pm_enter(suspend_state_t state)
        }
 }
 
+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);
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
index 1939acc..be6ca7d 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);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to