aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/plat-s3c/include/plat/pm.h
AgeCommit message (Collapse)Author
2009-03-10[ARM] S3C: Tidy sleep code path to fix call flowBen Dooks
As noted by Russell King, the sleep code path is not elegant and makes use of leaving items on the stack between calls. Change the code that does the following: if (s3c_cpu_save(regs_save) == 0) { flush_cache_all(); S3C_PMDBG("preparing to sleep\n"); pm_cpu_sleep(); } to simply call s3c_cpu_save, and let that do the necessary calls to quiesce and sleep the system. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Do not kmalloc/kfree during inner suspend code.Ben Dooks
The PM CRC checking code kmallocs an area to save a set of CRC values during suspend. This triggers a warning due to the call of a function that might sleep whilst the system is not in a valid state to do so. Move the allocation and free to points in the suspend and resume process where they can call a function that might-sleep. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Update UART save over PM suspend/resumeBen Dooks
Change the way the UART state is saved over suspend to allow the s3c64xx code to modify the settings on resume to avoid any illegal state changes to the UART clocks. This will also allow us to save the UDIVSLOT register on newer SoCs. Move to using a structure for the UART use the extant Kconfig configuration specifying the number of UARTs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Rename sleep.S functions to be non-cpu specificBen Dooks
Rename s3c2410_cpu_resume to s3c_cpu_resume and s3c2410_cpu_save to s3c_cpu_save to remove the CPU specific naming of these functions which are now in the generic PM code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Rename s3c2410_pm_init to s3c_pm_init.Ben Dooks
Since we have moved a large proportion of the PM code to the common support area, remove the cpu specific name from the initialisation function. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Make IRQ_EINT sleep control commonBen Dooks
Move the IRQ_EINT sleep control to be available to all s3c impelmentations. Since s3c_irqext_wake is not large, place it in arch/arm/plat-s3c/pm.c as adding it to a new file would be a waste of compile time. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Move plat-s3c24xx pm.c support into plat-s3cBen Dooks
Move parts of the core and debug suspend code into the plat-s3c for use with the new s3c64xx code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Split the resume memory check code from pm.cBen Dooks
Split the optional memory check code out of the pm.c file as it is quite a big #ifdef block and as-such can be moved out and simply compiled when the configuration is set. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Move PM support functions to common locationBen Dooks
Start moving the PM code by moving all the common support functions to a common location in arch/arm/plat-s3c. With the move we rename the functions from s3cxxx_ to s3c_ to fit the new location. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-08[ARM] S3C: Nove <plat/pm.h> from plat-s3c24xx to plat-s3fcBen Dooks
Move the <plat/pm.h> header to plat-s3c as preparation for moving parts of the s3c24xx pm support which are common into the plat-s3c support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>