diff options
author | Juuso Oikarinen <juuso.oikarinen@nokia.com> | 2009-06-12 07:15:54 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-10 14:57:46 -0400 |
commit | 9f2ad4fb52916e58a1b75e9a30f42638655932d3 (patch) | |
tree | 1268dbcefde1165b1569333b0dc9fd26c6a2b911 /drivers/net/wireless/wl12xx/main.c | |
parent | 9f483dc3d1b0b1695c8177c1dea2e721954b10fb (diff) |
wl12xx: Moved wl1251 TX path implementation into chip specific files
Moved wl1251 TX path implementation into chip specific files to enable
parallel implementation for the wl1271 TX path.
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@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/main.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index 73232db2b466..8feba36ff48d 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c | |||
@@ -37,7 +37,7 @@ | |||
37 | #include "wl1251.h" | 37 | #include "wl1251.h" |
38 | #include "spi.h" | 38 | #include "spi.h" |
39 | #include "event.h" | 39 | #include "event.h" |
40 | #include "tx.h" | 40 | #include "wl1251_tx.h" |
41 | #include "rx.h" | 41 | #include "rx.h" |
42 | #include "ps.h" | 42 | #include "ps.h" |
43 | #include "init.h" | 43 | #include "init.h" |
@@ -303,6 +303,11 @@ static int wl12xx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
303 | 303 | ||
304 | skb_queue_tail(&wl->tx_queue, skb); | 304 | skb_queue_tail(&wl->tx_queue, skb); |
305 | 305 | ||
306 | /* | ||
307 | * The chip specific setup must run before the first TX packet - | ||
308 | * before that, the tx_work will not be initialized! | ||
309 | */ | ||
310 | |||
306 | schedule_work(&wl->tx_work); | 311 | schedule_work(&wl->tx_work); |
307 | 312 | ||
308 | /* | 313 | /* |
@@ -400,8 +405,7 @@ static void wl12xx_op_stop(struct ieee80211_hw *hw) | |||
400 | mutex_lock(&wl->mutex); | 405 | mutex_lock(&wl->mutex); |
401 | 406 | ||
402 | /* let's notify MAC80211 about the remaining pending TX frames */ | 407 | /* let's notify MAC80211 about the remaining pending TX frames */ |
403 | wl12xx_tx_flush(wl); | 408 | wl->chip.op_tx_flush(wl); |
404 | |||
405 | wl12xx_power_off(wl); | 409 | wl12xx_power_off(wl); |
406 | 410 | ||
407 | memset(wl->bssid, 0, ETH_ALEN); | 411 | memset(wl->bssid, 0, ETH_ALEN); |
@@ -1176,7 +1180,7 @@ static int wl12xx_init_ieee80211(struct wl12xx *wl) | |||
1176 | { | 1180 | { |
1177 | /* The tx descriptor buffer and the TKIP space */ | 1181 | /* The tx descriptor buffer and the TKIP space */ |
1178 | wl->hw->extra_tx_headroom = sizeof(struct tx_double_buffer_desc) | 1182 | wl->hw->extra_tx_headroom = sizeof(struct tx_double_buffer_desc) |
1179 | + WL12XX_TKIP_IV_SPACE; | 1183 | + WL1251_TKIP_IV_SPACE; |
1180 | 1184 | ||
1181 | /* unit us */ | 1185 | /* unit us */ |
1182 | /* FIXME: find a proper value */ | 1186 | /* FIXME: find a proper value */ |
@@ -1226,7 +1230,6 @@ static int __devinit wl12xx_probe(struct spi_device *spi) | |||
1226 | 1230 | ||
1227 | skb_queue_head_init(&wl->tx_queue); | 1231 | skb_queue_head_init(&wl->tx_queue); |
1228 | 1232 | ||
1229 | INIT_WORK(&wl->tx_work, wl12xx_tx_work); | ||
1230 | INIT_WORK(&wl->filter_work, wl12xx_filter_work); | 1233 | INIT_WORK(&wl->filter_work, wl12xx_filter_work); |
1231 | wl->channel = WL12XX_DEFAULT_CHANNEL; | 1234 | wl->channel = WL12XX_DEFAULT_CHANNEL; |
1232 | wl->scanning = false; | 1235 | wl->scanning = false; |