mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-11-01 02:21:16 +00:00
d276034bc5
commit 06dfe5cc0cc684e735cb0232fdb756d30780b05d upstream.
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:
|
||
---|---|---|
.. | ||
cpaccess.c | ||
dmabounce.c | ||
fiq_glue.S | ||
fiq_glue_setup.c | ||
firmware.c | ||
icst.c | ||
it8152.c | ||
Kconfig | ||
locomo.c | ||
Makefile | ||
mcpm_entry.c | ||
mcpm_head.S | ||
mcpm_platsmp.c | ||
sa1111.c | ||
scoop.c | ||
sharpsl_param.c | ||
timer-sp.c | ||
via82c505.c | ||
vlock.h | ||
vlock.S |