49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
The pwr_in_suspend flag depends on the MMC settings which can be
|
|
retrieved from the SDIO subsystem, so it doesn't need to be part of
|
|
the platform data structure. Move it to the platform device data that
|
|
is passed from SDIO to wlcore.
|
|
|
|
Signed-off-by: Luciano Coelho <coelho@ti.com>
|
|
Reviewed-by: Felipe Balbi <balbi@ti.com>
|
|
|
|
--- a/drivers/net/wireless/ti/wlcore/main.c
|
|
+++ b/drivers/net/wireless/ti/wlcore/main.c
|
|
@@ -6041,7 +6041,6 @@ static void wlcore_nvs_cb(const struct f
|
|
struct wl1271 *wl = context;
|
|
struct platform_device *pdev = wl->pdev;
|
|
struct wlcore_platdev_data *pdev_data = dev_get_platdata(&pdev->dev);
|
|
- struct wl12xx_platform_data *pdata = pdev_data->pdata;
|
|
|
|
int ret;
|
|
irq_handler_t hardirq_fn = NULL;
|
|
@@ -6091,7 +6090,7 @@ static void wlcore_nvs_cb(const struct f
|
|
if (!ret) {
|
|
wl->irq_wake_enabled = true;
|
|
device_init_wakeup(wl->dev, 1);
|
|
- if (pdata->pwr_in_suspend)
|
|
+ if (pdev_data->pwr_in_suspend)
|
|
wl->hw->wiphy->wowlan = &wlcore_wowlan_support;
|
|
}
|
|
#endif
|
|
--- a/drivers/net/wireless/ti/wlcore/sdio.c
|
|
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
|
|
@@ -260,7 +260,7 @@ static int wl1271_probe(struct sdio_func
|
|
dev_dbg(glue->dev, "sdio PM caps = 0x%x\n", mmcflags);
|
|
|
|
if (mmcflags & MMC_PM_KEEP_POWER)
|
|
- pdev_data->pdata->pwr_in_suspend = true;
|
|
+ pdev_data->pwr_in_suspend = true;
|
|
|
|
sdio_set_drvdata(func, glue);
|
|
|
|
--- a/drivers/net/wireless/ti/wlcore/wlcore_i.h
|
|
+++ b/drivers/net/wireless/ti/wlcore/wlcore_i.h
|
|
@@ -209,6 +209,7 @@ struct wl1271_if_operations {
|
|
struct wlcore_platdev_data {
|
|
struct wl12xx_platform_data *pdata;
|
|
struct wl1271_if_operations *if_ops;
|
|
+ bool pwr_in_suspend;
|
|
};
|
|
|
|
#define MAX_NUM_KEYS 14
|