aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx
diff options
context:
space:
mode:
authorLuciano Coelho <luciano.coelho@nokia.com>2009-06-12 07:15:46 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 14:57:46 -0400
commit9f483dc3d1b0b1695c8177c1dea2e721954b10fb (patch)
tree000c5b1f96725d60815105c134ebaa1cbea3628b /drivers/net/wireless/wl12xx
parent052a625a859ceba68022862eeee70511f56483a5 (diff)
wl12xx: pass the wake up condition when configuring the wake up event
Changed the function wl12xx_acx_wake_up_conditions() so that it receives an argument with the actual wake up condition, instead of having WAKE_UP_EVENT_DTIM_BITMAP hardcoded. This is needed because we have to use different conditions in 1271. Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Kalle Valo <kalle.valo@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r--drivers/net/wireless/wl12xx/acx.c5
-rw-r--r--drivers/net/wireless/wl12xx/acx.h3
-rw-r--r--drivers/net/wireless/wl12xx/cmd.c3
3 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.c b/drivers/net/wireless/wl12xx/acx.c
index d0daf69558f0..a6b894573f08 100644
--- a/drivers/net/wireless/wl12xx/acx.c
+++ b/drivers/net/wireless/wl12xx/acx.c
@@ -96,7 +96,8 @@ out:
96 return ret; 96 return ret;
97} 97}
98 98
99int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 listen_interval) 99int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 wake_up_event,
100 u8 listen_interval)
100{ 101{
101 struct acx_wake_up_condition *wake_up; 102 struct acx_wake_up_condition *wake_up;
102 int ret; 103 int ret;
@@ -109,7 +110,7 @@ int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 listen_interval)
109 goto out; 110 goto out;
110 } 111 }
111 112
112 wake_up->wake_up_event = WAKE_UP_EVENT_DTIM_BITMAP; 113 wake_up->wake_up_event = wake_up_event;
113 wake_up->listen_interval = listen_interval; 114 wake_up->listen_interval = listen_interval;
114 115
115 ret = wl12xx_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS, 116 ret = wl12xx_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS,
diff --git a/drivers/net/wireless/wl12xx/acx.h b/drivers/net/wireless/wl12xx/acx.h
index 549e537d2e6e..92e724875ade 100644
--- a/drivers/net/wireless/wl12xx/acx.h
+++ b/drivers/net/wireless/wl12xx/acx.h
@@ -1112,7 +1112,8 @@ int wl12xx_acx_frame_rates(struct wl12xx *wl, u8 ctrl_rate, u8 ctrl_mod,
1112 u8 mgt_rate, u8 mgt_mod); 1112 u8 mgt_rate, u8 mgt_mod);
1113int wl12xx_acx_station_id(struct wl12xx *wl); 1113int wl12xx_acx_station_id(struct wl12xx *wl);
1114int wl12xx_acx_default_key(struct wl12xx *wl, u8 key_id); 1114int wl12xx_acx_default_key(struct wl12xx *wl, u8 key_id);
1115int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 listen_interval); 1115int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 wake_up_event,
1116 u8 listen_interval);
1116int wl12xx_acx_sleep_auth(struct wl12xx *wl, u8 sleep_auth); 1117int wl12xx_acx_sleep_auth(struct wl12xx *wl, u8 sleep_auth);
1117int wl12xx_acx_fw_version(struct wl12xx *wl, char *buf, size_t len); 1118int wl12xx_acx_fw_version(struct wl12xx *wl, char *buf, size_t len);
1118int wl12xx_acx_tx_power(struct wl12xx *wl, int power); 1119int wl12xx_acx_tx_power(struct wl12xx *wl, int power);
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c
index 0a02cdde935b..d98941a10897 100644
--- a/drivers/net/wireless/wl12xx/cmd.c
+++ b/drivers/net/wireless/wl12xx/cmd.c
@@ -346,7 +346,8 @@ int wl12xx_cmd_ps_mode(struct wl12xx *wl, u8 ps_mode)
346 int ret = 0; 346 int ret = 0;
347 347
348 /* FIXME: this should be in ps.c */ 348 /* FIXME: this should be in ps.c */
349 ret = wl12xx_acx_wake_up_conditions(wl, wl->listen_int); 349 ret = wl12xx_acx_wake_up_conditions(wl, WAKE_UP_EVENT_DTIM_BITMAP,
350 wl->listen_int);
350 if (ret < 0) { 351 if (ret < 0) {
351 wl12xx_error("couldn't set wake up conditions"); 352 wl12xx_error("couldn't set wake up conditions");
352 goto out; 353 goto out;