diff options
| author | Richard Purdie <rpurdie@net.rmk.(none)> | 2004-12-16 20:16:53 +0000 |
|---|---|---|
| committer | Russell King <rmk@flint.arm.linux.org.uk> | 2004-12-16 20:16:53 +0000 |
| commit | 1b6d94aaeeddec2327e7e20d3d21c7581a577ca6 (patch) | |
| tree | b55ab661670471fd750c70759dd983cc2ef916b8 | |
| parent | 12ccb6611cc1c26abbbe8a1f5c7980d6a8e0c459 (diff) | |
[ARM PATCH] 2315/1: PXA PCMCIA Suspend/Resume bugfix
Patch from Richard Purdie
The base PCMCIA code for PXA2xx doesn't work over a suspend/resume
cycle as the MECR register isn't preserved. This patch restores
the register.
Signed-off-by: Richard Purdie
Signed-off-by: Russell King
| -rw-r--r-- | drivers/pcmcia/pxa2xx_base.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/pcmcia/pxa2xx_base.c b/drivers/pcmcia/pxa2xx_base.c index 2bdf9a004397..a6936a75a87e 100644 --- a/drivers/pcmcia/pxa2xx_base.c +++ b/drivers/pcmcia/pxa2xx_base.c @@ -217,7 +217,13 @@ static int pxa2xx_drv_pcmcia_resume(struct device *dev, u32 level) { int ret = 0; if (level == RESUME_RESTORE_STATE) + { + struct pcmcia_low_level *ops = dev->platform_data; + int nr = ops ? ops->nr : 0; + + MECR = nr > 1 ? MECR_CIT | MECR_NOS : (nr > 0 ? MECR_CIT : 0); ret = pcmcia_socket_dev_resume(dev); + } return ret; } |
