aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/omap/patches-3.12/902-wlcore-remove-pwr_in_suspend-from-platform-data.patch
diff options
context:
space:
mode:
authorImre Kaloz <kaloz@openwrt.org>2013-11-27 12:40:07 +0000
committerImre Kaloz <kaloz@openwrt.org>2013-11-27 12:40:07 +0000
commit620833b3a1ac621e93dc747def1e1f0bb97cb753 (patch)
tree577c536e003bfaa4eff77a323c06e0c2ecaac7ec /target/linux/omap/patches-3.12/902-wlcore-remove-pwr_in_suspend-from-platform-data.patch
parent94cdb9986f60a1fbcd78385bf791b7d87b43e24d (diff)
downloadmaster-187ad058-620833b3a1ac621e93dc747def1e1f0bb97cb753.tar.gz
master-187ad058-620833b3a1ac621e93dc747def1e1f0bb97cb753.tar.bz2
master-187ad058-620833b3a1ac621e93dc747def1e1f0bb97cb753.zip
add device tree based initialization to wl12xx
Signed-off-by: Imre Kaloz <kaloz@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38933 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/omap/patches-3.12/902-wlcore-remove-pwr_in_suspend-from-platform-data.patch')
-rw-r--r--target/linux/omap/patches-3.12/902-wlcore-remove-pwr_in_suspend-from-platform-data.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/target/linux/omap/patches-3.12/902-wlcore-remove-pwr_in_suspend-from-platform-data.patch b/target/linux/omap/patches-3.12/902-wlcore-remove-pwr_in_suspend-from-platform-data.patch
new file mode 100644
index 0000000000..662d713e2f
--- /dev/null
+++ b/target/linux/omap/patches-3.12/902-wlcore-remove-pwr_in_suspend-from-platform-data.patch
@@ -0,0 +1,65 @@
+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>
+
+---
+ drivers/net/wireless/ti/wlcore/main.c | 3 +--
+ drivers/net/wireless/ti/wlcore/sdio.c | 2 +-
+ drivers/net/wireless/ti/wlcore/wlcore_i.h | 1 +
+ include/linux/wl12xx.h | 1 -
+ 4 files changed, 3 insertions(+), 4 deletions(-)
+
+--- a/drivers/net/wireless/ti/wlcore/main.c
++++ b/drivers/net/wireless/ti/wlcore/main.c
+@@ -5901,7 +5901,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 = pdev->dev.platform_data;
+- struct wl12xx_platform_data *pdata = pdev_data->pdata;
+
+ int ret;
+
+@@ -5948,7 +5947,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
+--- a/include/linux/wl12xx.h
++++ b/include/linux/wl12xx.h
+@@ -59,7 +59,6 @@ struct wl12xx_platform_data {
+ int irq;
+ int board_ref_clock;
+ int board_tcxo_clock;
+- bool pwr_in_suspend;
+ };
+
+ #ifdef CONFIG_WILINK_PLATFORM_DATA