711be5ccfe
1. introduce a structure pxa_cpu_pm_fns for pxa25x/pxa27x specific operations as follows: struct pxa_cpu_pm_fns { int save_size; void (*save)(unsigned long *); void (*restore)(unsigned long *); int (*valid)(suspend_state_t state); void (*enter)(suspend_state_t state); } 2. processor specific registers saving and restoring are performed by calling the corresponding (*save) and (*restore) 3. pxa_cpu_pm_fns->save_size should be initialized to the required size for processor specific registers saving, the allocated memory address will be passed to (*save) and (*restore) memory allocation happens early in pxa_pm_init(), and save_size should be assigned prior to this (which is usually true, since pxa_pm_init() happens in device_initcall() 4. there're some redundancies for those SLEEP_SAVE_XXX and related macros, will be fixed later, one way possible is for the system devices to handle the specific registers saving and restoring Signed-off-by: eric miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> |
||
---|---|---|
.. | ||
akita.h | ||
audio.h | ||
bitfield.h | ||
corgi.h | ||
debug-macro.S | ||
dma.h | ||
entry-macro.S | ||
gpio.h | ||
hardware.h | ||
i2c.h | ||
idp.h | ||
io.h | ||
irda.h | ||
irqs.h | ||
lpd270.h | ||
lubbock.h | ||
mainstone.h | ||
memory.h | ||
mmc.h | ||
mtd-xip.h | ||
ohci.h | ||
pm.h | ||
poodle.h | ||
pxa-regs.h | ||
pxa2xx_spi.h | ||
pxa27x_keyboard.h | ||
pxafb.h | ||
sharpsl.h | ||
spitz.h | ||
ssp.h | ||
system.h | ||
timex.h | ||
tosa.h | ||
trizeps4.h | ||
udc.h | ||
uncompress.h | ||
vmalloc.h |