aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/pxa25x.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-01-23 18:07:21 -0500
committerPaul Mackerras <paulus@samba.org>2008-01-23 18:07:21 -0500
commit9156ad48338e0306e508ead5c0d9986050744475 (patch)
tree37f3a90e38190052ecf3cdf9171dfdddd37b56fd /arch/arm/mach-pxa/pxa25x.c
parentfa28237cfcc5827553044cbd6ee52e33692b0faa (diff)
parent8f7b3d156d348b6766833cd4e272d0d19b501e64 (diff)
Merge branch 'linux-2.6'
Diffstat (limited to 'arch/arm/mach-pxa/pxa25x.c')
-rw-r--r--arch/arm/mach-pxa/pxa25x.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index dcd81f8d0833..9732d5d9466b 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)
178 SAVE(GAFR1_L); SAVE(GAFR1_U); 178 SAVE(GAFR1_L); SAVE(GAFR1_U);
179 SAVE(GAFR2_L); SAVE(GAFR2_U); 179 SAVE(GAFR2_L); SAVE(GAFR2_U);
180 180
181 SAVE(ICMR); 181 SAVE(ICMR); ICMR = 0;
182 SAVE(CKEN); 182 SAVE(CKEN);
183 SAVE(PSTR); 183 SAVE(PSTR);
184
185 /* Clear GPIO transition detect bits */
186 GEDR0 = GEDR0; GEDR1 = GEDR1; GEDR2 = GEDR2;
184} 187}
185 188
186static void pxa25x_cpu_pm_restore(unsigned long *sleep_save) 189static void pxa25x_cpu_pm_restore(unsigned long *sleep_save)
187{ 190{
191 /* ensure not to come back here if it wasn't intended */
192 PSPR = 0;
193
188 /* restore registers */ 194 /* restore registers */
189 RESTORE_GPLEVEL(0); RESTORE_GPLEVEL(1); RESTORE_GPLEVEL(2); 195 RESTORE_GPLEVEL(0); RESTORE_GPLEVEL(1); RESTORE_GPLEVEL(2);
190 RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2); 196 RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2);
@@ -195,7 +201,12 @@ static void pxa25x_cpu_pm_restore(unsigned long *sleep_save)
195 RESTORE(GFER0); RESTORE(GFER1); RESTORE(GFER2); 201 RESTORE(GFER0); RESTORE(GFER1); RESTORE(GFER2);
196 RESTORE(PGSR0); RESTORE(PGSR1); RESTORE(PGSR2); 202 RESTORE(PGSR0); RESTORE(PGSR1); RESTORE(PGSR2);
197 203
204 PSSR = PSSR_RDH | PSSR_PH;
205
198 RESTORE(CKEN); 206 RESTORE(CKEN);
207
208 ICLR = 0;
209 ICCR = 1;
199 RESTORE(ICMR); 210 RESTORE(ICMR);
200 RESTORE(PSTR); 211 RESTORE(PSTR);
201} 212}