1 The pwr_in_suspend flag depends on the MMC settings which can be
2 retrieved from the SDIO subsystem, so it doesn't need to be part of
3 the platform data structure. Move it to the platform device data that
4 is passed from SDIO to wlcore.
6 Signed-off-by: Luciano Coelho <coelho@ti.com>
7 Reviewed-by: Felipe Balbi <balbi@ti.com>
9 --- a/drivers/net/wireless/ti/wlcore/main.c
10 +++ b/drivers/net/wireless/ti/wlcore/main.c
11 @@ -6074,7 +6074,6 @@ static void wlcore_nvs_cb(const struct f
12 struct wl1271 *wl = context;
13 struct platform_device *pdev = wl->pdev;
14 struct wlcore_platdev_data *pdev_data = dev_get_platdata(&pdev->dev);
15 - struct wl12xx_platform_data *pdata = pdev_data->pdata;
18 irq_handler_t hardirq_fn = NULL;
19 @@ -6127,7 +6126,7 @@ static void wlcore_nvs_cb(const struct f
21 wl->irq_wake_enabled = true;
22 device_init_wakeup(wl->dev, 1);
23 - if (pdata->pwr_in_suspend)
24 + if (pdev_data->pwr_in_suspend)
25 wl->hw->wiphy->wowlan = &wlcore_wowlan_support;
28 --- a/drivers/net/wireless/ti/wlcore/sdio.c
29 +++ b/drivers/net/wireless/ti/wlcore/sdio.c
30 @@ -260,7 +260,7 @@ static int wl1271_probe(struct sdio_func
31 dev_dbg(glue->dev, "sdio PM caps = 0x%x\n", mmcflags);
33 if (mmcflags & MMC_PM_KEEP_POWER)
34 - pdev_data->pdata->pwr_in_suspend = true;
35 + pdev_data->pwr_in_suspend = true;
37 sdio_set_drvdata(func, glue);
39 --- a/drivers/net/wireless/ti/wlcore/wlcore_i.h
40 +++ b/drivers/net/wireless/ti/wlcore/wlcore_i.h
41 @@ -209,6 +209,7 @@ struct wl1271_if_operations {
42 struct wlcore_platdev_data {
43 struct wl12xx_platform_data *pdata;
44 struct wl1271_if_operations *if_ops;
45 + bool pwr_in_suspend;
48 #define MAX_NUM_KEYS 14