diff options
| author | Anmin Hsu <anmin.hsu@mediatek.com> | 2015-09-19 03:21:08 +0800 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2016-12-25 13:52:49 +0100 |
| commit | 3c6de035146398370d29d45afb742b0f5ad9ffec (patch) | |
| tree | dcabb7de41965bc2f332426a9287db873021a8e2 | |
| parent | 52c45c8da818116e7a8807144ddfac4ad083bce1 (diff) | |
c2k_ccci: mediatek: sdio timeout
[Detail] after suspend/resume,
there may be sdio transfer timeout
[Solution] add suspend/resume callback function
in sdio client driver to avoid sd card remount
after suspend/resume
[Feature] SVLTE - C2K
MTK-Commit-Id: d4c3967cdc7ac140c042e9f774f90a175783a257
Change-Id: I4173b2759886e4ca5d007a57c38fc64f5a65f885
Signed-off-by: Haow Wang <haow.wang@mediatek.com>
CR-Id: ALPS02288503
| -rw-r--r-- | drivers/misc/mediatek/c2k_ccci/modem_sdio.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/misc/mediatek/c2k_ccci/modem_sdio.c b/drivers/misc/mediatek/c2k_ccci/modem_sdio.c index 232ff5de1..359c199d8 100644 --- a/drivers/misc/mediatek/c2k_ccci/modem_sdio.c +++ b/drivers/misc/mediatek/c2k_ccci/modem_sdio.c @@ -4730,11 +4730,37 @@ static const struct sdio_device_id modem_sdio_ids[] = { MODULE_DEVICE_TABLE(sdio, modem_sdio_ids); +static int c2k_sdio_suspend(struct device *dev) +{ + struct sdio_func *func = dev_to_sdio_func(dev); + int ret; + + if (func) { + LOGPRT(LOG_INFO, "c2k_sdio_suspend\n"); + ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER); + } + return 0; +} + +static int c2k_sdio_resume(struct device *dev) +{ + return 0; +} + +static const struct dev_pm_ops c2k_sdio_pm_ops = { + .suspend = c2k_sdio_suspend, + .resume = c2k_sdio_resume, +}; + static struct sdio_driver modem_sdio_driver = { .probe = modem_sdio_probe, .remove = modem_sdio_remove, .name = "modem_sdio", .id_table = modem_sdio_ids, + .drv = { + .owner = THIS_MODULE, + .pm = &c2k_sdio_pm_ops, + } }; #if ENABLE_CCMNI |
