summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/wl12xx/wl1271_sdio.c
diff options
context:
space:
mode:
authorOhad Ben-Cohen <ohad@wizery.com>2010-09-15 23:22:04 (GMT)
committerJohn W. Linville <linville@tuxdriver.com>2010-09-21 15:04:56 (GMT)
commit2cc78ff78c0af502b040d4527212e29e02d3231d (patch)
treef056210964e0d5799027f900dec47aa10572599a /drivers/net/wireless/wl12xx/wl1271_sdio.c
parentc1f9a095600e07fefe64eb94eb711f410100824a (diff)
downloadlinux-fsl-qoriq-2cc78ff78c0af502b040d4527212e29e02d3231d.tar.xz
wl1271: propagate set_power's return value
Make it possible for the set power method to indicate a success/failure return value. This is needed to support more complex power on/off operations such as SDIO power manipulations. Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Acked-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_sdio.c')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_sdio.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_sdio.c b/drivers/net/wireless/wl12xx/wl1271_sdio.c
index b5d9565..1d5dc72 100644
--- a/drivers/net/wireless/wl12xx/wl1271_sdio.c
+++ b/drivers/net/wireless/wl12xx/wl1271_sdio.c
@@ -159,35 +159,38 @@ static void wl1271_sdio_raw_write(struct wl1271 *wl, int addr, void *buf,
wl1271_error("sdio write failed (%d)", ret);
}
-static void wl1271_sdio_power_on(struct wl1271 *wl)
+static int wl1271_sdio_power_on(struct wl1271 *wl)
{
struct sdio_func *func = wl_to_func(wl);
sdio_claim_host(func);
sdio_enable_func(func);
sdio_release_host(func);
+
+ return 0;
}
-static void wl1271_sdio_power_off(struct wl1271 *wl)
+static int wl1271_sdio_power_off(struct wl1271 *wl)
{
struct sdio_func *func = wl_to_func(wl);
sdio_claim_host(func);
sdio_disable_func(func);
sdio_release_host(func);
+
+ return 0;
}
-static void wl1271_sdio_set_power(struct wl1271 *wl, bool enable)
+static int wl1271_sdio_set_power(struct wl1271 *wl, bool enable)
{
/* Let the SDIO stack handle wlan_enable control, so we
* keep host claimed while wlan is in use to keep wl1271
* alive.
*/
if (enable)
- wl1271_sdio_power_on(wl);
+ return wl1271_sdio_power_on(wl);
else
- wl1271_sdio_power_off(wl);
-
+ return wl1271_sdio_power_off(wl);
}
static struct wl1271_if_operations sdio_ops = {