summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2024-09-26 22:50:55 +0300
committerKalle Valo <kvalo@kernel.org>2024-10-17 19:47:13 +0300
commit98ca3178ad797a5ae9df50a69be49292d1734485 (patch)
tree5fdb0089a37dc96184b37ce70d670c378a02e1c1
parentc8945c8cd41ab4f8d0d59a4e9861e9c9017840af (diff)
downloadlinux-98ca3178ad797a5ae9df50a69be49292d1734485.tar.xz
wifi: wilc1000: Keep slot powered on during suspend/resume
The WILC3000 can suspend and enter low power state. According to local measurements, the WILC3000 consumes the same amount of power if the slot is powered up and WILC3000 is suspended, and if the WILC3000 is powered off. Use the former option, keep the WILC3000 powered up as that allows for things like WoWlan to work. Note that this is tested on WILC3000 only, not on WILC1000 . Signed-off-by: Marek Vasut <marex@denx.de> Tested-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://patch.msgid.link/20240926195113.2823392-1-marex@denx.de
-rw-r--r--drivers/net/wireless/microchip/wilc1000/sdio.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/net/wireless/microchip/wilc1000/sdio.c b/drivers/net/wireless/microchip/wilc1000/sdio.c
index b4da05d5a498..d67662b6b2a1 100644
--- a/drivers/net/wireless/microchip/wilc1000/sdio.c
+++ b/drivers/net/wireless/microchip/wilc1000/sdio.c
@@ -969,7 +969,6 @@ static int wilc_sdio_suspend(struct device *dev)
{
struct sdio_func *func = dev_to_sdio_func(dev);
struct wilc *wilc = sdio_get_drvdata(func);
- int ret;
dev_info(dev, "sdio suspend\n");
@@ -983,13 +982,7 @@ static int wilc_sdio_suspend(struct device *dev)
wilc_sdio_disable_interrupt(wilc);
- ret = wilc_sdio_reset(wilc);
- if (ret) {
- dev_err(&func->dev, "Fail reset sdio\n");
- return ret;
- }
-
- return 0;
+ return sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER);
}
static int wilc_sdio_resume(struct device *dev)