diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2015-02-28 14:56:53 +0000 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2015-02-28 14:56:53 +0000 |
commit | 9f85ea99c0a959698d46c66eecef525ac0dad7b0 (patch) | |
tree | 0a2bd5abe08d3420156fd637cbc1b9dcea0d2b04 /target/linux/omap/patches-3.18/900-wlcore-Add-support-for-DT-platform-data.patch | |
parent | d7df24054230b15cf01117de118fee2fdb56876d (diff) | |
download | upstream-9f85ea99c0a959698d46c66eecef525ac0dad7b0.tar.gz upstream-9f85ea99c0a959698d46c66eecef525ac0dad7b0.tar.bz2 upstream-9f85ea99c0a959698d46c66eecef525ac0dad7b0.zip |
omap: complete 3.18 support
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44572 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/omap/patches-3.18/900-wlcore-Add-support-for-DT-platform-data.patch')
-rw-r--r-- | target/linux/omap/patches-3.18/900-wlcore-Add-support-for-DT-platform-data.patch | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/target/linux/omap/patches-3.18/900-wlcore-Add-support-for-DT-platform-data.patch b/target/linux/omap/patches-3.18/900-wlcore-Add-support-for-DT-platform-data.patch index 750d9e3d68..8fcf7711ab 100644 --- a/target/linux/omap/patches-3.18/900-wlcore-Add-support-for-DT-platform-data.patch +++ b/target/linux/omap/patches-3.18/900-wlcore-Add-support-for-DT-platform-data.patch @@ -88,22 +88,22 @@ Signed-off-by: Arik Nemtsov <arik@wizery.com> static int wl1271_probe(struct sdio_func *func, const struct sdio_device_id *id) { -@@ -248,12 +304,9 @@ static int wl1271_probe(struct sdio_func +@@ -245,12 +301,9 @@ static int wl1271_probe(struct sdio_func /* Use block mode for transferring over one block size of data */ func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; -- pdev_data->pdata = wl12xx_get_platform_data(); -- if (IS_ERR(pdev_data->pdata)) { -- ret = PTR_ERR(pdev_data->pdata); +- pdev_data.pdata = wl12xx_get_platform_data(); +- if (IS_ERR(pdev_data.pdata)) { +- ret = PTR_ERR(pdev_data.pdata); - dev_err(glue->dev, "missing wlan platform data: %d\n", ret); -+ pdev_data->pdata = get_platform_data(&func->dev); -+ if (!(pdev_data->pdata)) ++ pdev_data.pdata = get_platform_data(&func->dev); ++ if (!(pdev_data.pdata)) goto out_free_glue; - } /* if sdio can keep power while host is suspended, enable wow */ mmcflags = sdio_get_host_pm_caps(func); -@@ -282,7 +335,7 @@ static int wl1271_probe(struct sdio_func +@@ -279,7 +332,7 @@ static int wl1271_probe(struct sdio_func if (!glue->core) { dev_err(glue->dev, "can't allocate platform_device"); ret = -ENOMEM; @@ -112,22 +112,22 @@ Signed-off-by: Arik Nemtsov <arik@wizery.com> } glue->core->dev.parent = &func->dev; -@@ -316,6 +369,9 @@ static int wl1271_probe(struct sdio_func +@@ -313,6 +366,9 @@ static int wl1271_probe(struct sdio_func out_dev_put: platform_device_put(glue->core); +out_free_pdata: -+ del_platform_data(pdev_data->pdata); ++ del_platform_data(pdev_data.pdata); + out_free_glue: kfree(glue); -@@ -329,11 +385,14 @@ out: +@@ -323,11 +379,14 @@ out: static void wl1271_remove(struct sdio_func *func) { struct wl12xx_sdio_glue *glue = sdio_get_drvdata(func); + struct wlcore_platdev_data *pdev_data = glue->core->dev.platform_data; -+ struct wl12xx_platform_data *pdata = pdev_data->pdata; ++ struct wl12xx_platform_data *pdata = pdev_data.pdata; /* Undo decrement done above in wl1271_probe */ pm_runtime_get_noresume(&func->dev); @@ -139,13 +139,16 @@ Signed-off-by: Arik Nemtsov <arik@wizery.com> --- a/include/linux/wl12xx.h +++ b/include/linux/wl12xx.h -@@ -51,11 +51,12 @@ enum { - struct wl12xx_platform_data { - void (*set_power)(bool enable); +@@ -51,6 +51,7 @@ enum { + struct wl1251_platform_data { + int power_gpio; /* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */ + int gpio; int irq; bool use_eeprom; + }; +@@ -59,7 +60,7 @@ struct wl12xx_platform_data { + int irq; int board_ref_clock; int board_tcxo_clock; - unsigned long platform_quirks; |