summaryrefslogtreecommitdiffstats
path: root/target/linux/omap/patches-3.18/900-wlcore-Add-support-for-DT-platform-data.patch
diff options
context:
space:
mode:
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.patch31
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;