summaryrefslogtreecommitdiff
path: root/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp7.01/wl12xx-set-power-r5.sp7.01.patch
diff options
context:
space:
mode:
Diffstat (limited to 'multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp7.01/wl12xx-set-power-r5.sp7.01.patch')
-rw-r--r--multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp7.01/wl12xx-set-power-r5.sp7.01.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp7.01/wl12xx-set-power-r5.sp7.01.patch b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp7.01/wl12xx-set-power-r5.sp7.01.patch
new file mode 100644
index 0000000..fba5b90
--- /dev/null
+++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp7.01/wl12xx-set-power-r5.sp7.01.patch
@@ -0,0 +1,53 @@
+Index: wl12xx-ol_R5.SP7.01/drivers/net/wireless/wl12xx/sdio.c
+===================================================================
+--- wl12xx-ol_R5.SP7.01.orig/drivers/net/wireless/wl12xx/sdio.c 2013-12-14 23:41:55.000000000 -0600
++++ wl12xx-ol_R5.SP7.01/drivers/net/wireless/wl12xx/sdio.c 2014-02-04 13:26:44.612614307 -0600
+@@ -48,6 +48,7 @@
+ struct wl12xx_sdio_glue {
+ struct device *dev;
+ struct platform_device *core;
++ void (*set_power)(bool enable); // PVK
+ };
+
+ static const struct sdio_device_id wl1271_devices[] __devinitconst = {
+@@ -135,6 +136,10 @@
+ struct sdio_func *func = dev_to_sdio_func(glue->dev);
+ struct mmc_card *card = func->card;
+
++ // MTS: enable chip on power on
++ if (glue->set_power)
++ glue->set_power(1);
++
+ ret = pm_runtime_get_sync(&card->dev);
+ if (ret) {
+ /*
+@@ -163,6 +168,10 @@
+ struct sdio_func *func = dev_to_sdio_func(glue->dev);
+ struct mmc_card *card = func->card;
+
++ // MTS: disable chip on power off
++ if (glue->set_power)
++ glue->set_power(0);
++
+ sdio_claim_host(func);
+ sdio_disable_func(func);
+ sdio_release_host(func);
+@@ -277,6 +286,11 @@
+ dev_err(glue->dev, "can't add platform device\n");
+ goto out_dev_put;
+ }
++
++ // MTS: add set_power to control enable pin
++ if (wlan_data->set_power)
++ glue->set_power = wlan_data->set_power;
++
+ return 0;
+
+ out_dev_put:
+@@ -383,4 +397,4 @@
+ MODULE_FIRMWARE(WL128X_FW_NAME_SINGLE);
+ MODULE_FIRMWARE(WL128X_FW_NAME_MULTI);
+ MODULE_FIRMWARE(WL127X_PLT_FW_NAME);
+-MODULE_FIRMWARE(WL128X_PLT_FW_NAME);
+\ No newline at end of file
++MODULE_FIRMWARE(WL128X_PLT_FW_NAME);