diff options
author | D. Andrei Măceș <dmaces@nd.edu> | 2016-06-18 10:54:07 -0400 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-07-18 20:51:16 -0700 |
commit | 0d6fc9dc0513a9b2071780ad882d8bb70905f410 (patch) | |
tree | d5691bc8706b33d8554c59f3032735b824959ff7 | |
parent | 2a8637cb05cba61f990e61333b164ba3626563f5 (diff) | |
download | android_hardware_ti_wlan-0d6fc9dc0513a9b2071780ad882d8bb70905f410.tar.gz android_hardware_ti_wlan-0d6fc9dc0513a9b2071780ad882d8bb70905f410.tar.bz2 android_hardware_ti_wlan-0d6fc9dc0513a9b2071780ad882d8bb70905f410.zip |
wl12xx_sdio: Use pdata power callback if defined (needed before probe)
Similar to wl1251, "power is controlled by runtime PM, but we still call
board callback in case it wants to do any additional setup" (i.e., regu-
lators, clock buffers, etc).
This allow us to get rid of ugly MMC hacks, such as:
https://github.com/CyanogenMod/android_kernel_bn_omap/commit/4611a54 &
https://github.com/CyanogenMod/android_kernel_bn_omap/commit/172f588.
Change-Id: I1264beeacf7841a52c664495fbafe9bc9bb8f03d
-rw-r--r-- | mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c b/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c index c7505d0d..7fc19619 100644 --- a/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c +++ b/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/sdio.c @@ -364,12 +364,22 @@ static struct sdio_driver wl1271_sdio_driver = { static int __init wl1271_init(void) { + const struct wl12xx_platform_data *wlan_data = wl12xx_get_platform_data(); + + if (wlan_data->set_power) + wlan_data->set_power(1); + return sdio_register_driver(&wl1271_sdio_driver); } static void __exit wl1271_exit(void) { + const struct wl12xx_platform_data *wlan_data = wl12xx_get_platform_data(); + sdio_unregister_driver(&wl1271_sdio_driver); + + if (wlan_data->set_power) + wlan_data->set_power(0); } module_init(wl1271_init); |