Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=56b11288cb92104d3589930efdc7d0f50b8f4328
Commit:     56b11288cb92104d3589930efdc7d0f50b8f4328
Parent:     b8c9a18712f7b617fda66d878ce3759c9e575ba0
Author:     Richard Purdie <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 2 00:54:49 2008 +0100
Committer:  Russell King <[EMAIL PROTECTED]>
CommitDate: Thu Jan 3 18:06:27 2008 +0000

    [ARM] 4735/1: Unbreak pxa25x suspend/resume
    
    Suspend/resume on the pxa25x was fairly obviously broken in revision
    711be5ccfe9a02ba560aa918a008c31ea4760163.
    
    This patch fixes the damage by adding back the missing code.
    
    Signed-off-by: Richard Purdie <[EMAIL PROTECTED]>
    Acked-by: Eric Miao <[EMAIL PROTECTED]>
    Signed-off-by: Russell King <[EMAIL PROTECTED]>
---
 arch/arm/mach-pxa/pxa25x.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index dcd81f8..9732d5d 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -178,13 +178,19 @@ static void pxa25x_cpu_pm_save(unsigned long *sleep_save)
        SAVE(GAFR1_L); SAVE(GAFR1_U);
        SAVE(GAFR2_L); SAVE(GAFR2_U);
 
-       SAVE(ICMR);
+       SAVE(ICMR); ICMR = 0;
        SAVE(CKEN);
        SAVE(PSTR);
+
+       /* Clear GPIO transition detect bits */
+       GEDR0 = GEDR0; GEDR1 = GEDR1; GEDR2 = GEDR2;
 }
 
 static void pxa25x_cpu_pm_restore(unsigned long *sleep_save)
 {
+       /* ensure not to come back here if it wasn't intended */
+       PSPR = 0;
+
        /* restore registers */
        RESTORE_GPLEVEL(0); RESTORE_GPLEVEL(1); RESTORE_GPLEVEL(2);
        RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2);
@@ -195,7 +201,12 @@ static void pxa25x_cpu_pm_restore(unsigned long 
*sleep_save)
        RESTORE(GFER0); RESTORE(GFER1); RESTORE(GFER2);
        RESTORE(PGSR0); RESTORE(PGSR1); RESTORE(PGSR2);
 
+       PSSR = PSSR_RDH | PSSR_PH;
+
        RESTORE(CKEN);
+
+       ICLR = 0;
+       ICCR = 1;
        RESTORE(ICMR);
        RESTORE(PSTR);
 }
-
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