diff options
author | Ohad Ben-Cohen <ohad@wizery.com> | 2010-10-08 16:16:27 +0300 |
---|---|---|
committer | Luciano Coelho <luciano.coelho@nokia.com> | 2010-10-08 16:16:27 +0300 |
commit | 674f3058c806ae2591b98f59194fa85b650aa667 (patch) | |
tree | bee429bddf02036957fc075136c365ce9c4fdca1 | |
parent | 00cbb3c5317d418c349c60876fe12fba7624f3e7 (diff) | |
download | op-kernel-dev-674f3058c806ae2591b98f59194fa85b650aa667.zip op-kernel-dev-674f3058c806ae2591b98f59194fa85b650aa667.tar.gz |
wl1271: sdio: add suspend/resume support
Add required suspend/resume support to prevent the SDIO
core from removing our card completely during system suspend.
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Tested-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_sdio.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_sdio.c b/drivers/net/wireless/wl12xx/wl1271_sdio.c index f7bef32..784ef34 100644 --- a/drivers/net/wireless/wl12xx/wl1271_sdio.c +++ b/drivers/net/wireless/wl12xx/wl1271_sdio.c @@ -290,11 +290,31 @@ static void __devexit wl1271_remove(struct sdio_func *func) wl1271_free_hw(wl); } +static int wl1271_suspend(struct device *dev) +{ + /* Tell MMC/SDIO core it's OK to power down the card + * (if it isn't already), but not to remove it completely */ + return 0; +} + +static int wl1271_resume(struct device *dev) +{ + return 0; +} + +static const struct dev_pm_ops wl1271_sdio_pm_ops = { + .suspend = wl1271_suspend, + .resume = wl1271_resume, +}; + static struct sdio_driver wl1271_sdio_driver = { .name = "wl1271_sdio", .id_table = wl1271_devices, .probe = wl1271_probe, .remove = __devexit_p(wl1271_remove), + .drv = { + .pm = &wl1271_sdio_pm_ops, + }, }; static int __init wl1271_init(void) |