--- arch/arm/mach-sa1100/pm-sa1100.c 2004-07-14 01:21:38.000000000 +0200 +++ /home/fuchs/Projekte/simpad/kernel/linux-2.4.25/arch/arm/mach-sa1100/pm-sa1100.c 2004-07-22 00:41:57.000000000 +0200 @@ -69,6 +69,7 @@ SLEEP_SAVE_ICMR, #ifdef CONFIG_SA1100_SIMPAD SLEEP_SAVE_MECR, /* needed by SIMpad to get PCMCIA working after resume */ + SLEEP_SAVE_Ser4MCCR0, SLEEP_SAVE_Ser4MCSR, SLEEP_SAVE_Ser4MCCR1, /* touchscreen */ #endif SLEEP_SAVE_Ser1SDCR0, @@ -82,7 +83,7 @@ int pm_do_suspend(void) { unsigned long sleep_save[SLEEP_SAVE_SIZE]; - + cli(); leds_event(led_stop); @@ -113,10 +114,13 @@ SAVE(ICMR); #ifdef CONFIG_SA1100_SIMPAD SAVE(MECR); -#endif - SAVE(PWER); - SAVE(MSC1); - SAVE(MSC2); + SAVE(Ser4MCCR0); + SAVE(Ser4MCSR); + SAVE(Ser4MCCR1); +#endif + SAVE(PWER); + SAVE(MSC1); + SAVE(MSC2); /* ... maybe a global variable initialized by arch code to set this? */ GRER &= PWER; @@ -194,6 +198,9 @@ RESTORE(ICMR); #ifdef CONFIG_SA1100_SIMPAD RESTORE(MECR); + RESTORE(Ser4MCCR0); + RESTORE(Ser4MCSR); + RESTORE(Ser4MCCR1); #endif RESTORE(PWER); RESTORE(MSC1);