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>
This commit is contained in:
Ohad Ben-Cohen 2010-10-08 16:16:27 +03:00 committed by Luciano Coelho
parent 00cbb3c531
commit 674f3058c8
1 changed files with 20 additions and 0 deletions

View File

@ -290,11 +290,31 @@ static void __devexit wl1271_remove(struct sdio_func *func)
wl1271_free_hw(wl); 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 = { static struct sdio_driver wl1271_sdio_driver = {
.name = "wl1271_sdio", .name = "wl1271_sdio",
.id_table = wl1271_devices, .id_table = wl1271_devices,
.probe = wl1271_probe, .probe = wl1271_probe,
.remove = __devexit_p(wl1271_remove), .remove = __devexit_p(wl1271_remove),
.drv = {
.pm = &wl1271_sdio_pm_ops,
},
}; };
static int __init wl1271_init(void) static int __init wl1271_init(void)