linux/arch/arm/common
Russell King 06dfe5cc0c ARM: sa1111: fix pcmcia suspend/resume
SA1111 PCMCIA was broken when PCMCIA switched to using dev_pm_ops for
the PCMCIA socket class.  PCMCIA used to handle suspend/resume via the
socket hosting device, which happened at normal device suspend/resume
time.

However, the referenced commit changed this: much of the resume now
happens much earlier, in the noirq resume handler of dev_pm_ops.

However, on SA1111, the PCMCIA device is not accessible as the SA1111
has not been resumed at _noirq time.  It's slightly worse than that,
because the SA1111 has already been put to sleep at _noirq time, so
suspend doesn't work properly.

Fix this by converting the core SA1111 code to use dev_pm_ops as well,
and performing its own suspend/resume at noirq time.

This fixes these errors in the kernel log:

pcmcia_socket pcmcia_socket0: time out after reset
pcmcia_socket pcmcia_socket1: time out after reset

and the resulting lack of PCMCIA cards after a S2RAM cycle.

Fixes: d7646f7632 ("pcmcia: use dev_pm_ops for class pcmcia_socket_class")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2016-09-12 11:04:05 +01:00
..
bL_switcher_dummy_if.c
bL_switcher.c
dmabounce.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
firmware.c
icst.c ARM: 8519/1: ICST: try other dividends than 1 2016-02-11 14:12:33 +00:00
it8152.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
Kconfig ARM/dmaengine: edma: Merge the two drivers under drivers/dma/ 2015-10-14 19:57:11 +05:30
locomo.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
Makefile ARM/dmaengine: edma: Merge the two drivers under drivers/dma/ 2015-10-14 19:57:11 +05:30
mcpm_entry.c
mcpm_head.S
mcpm_platsmp.c ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
sa1111.c ARM: sa1111: fix pcmcia suspend/resume 2016-09-12 11:04:05 +01:00
scoop.c ARM: scoop: use gpiochip data pointer 2016-02-19 09:51:41 +01:00
sharpsl_param.c
vlock.h
vlock.S