diff options
author | Eliad Peller <eliad@wizery.com> | 2011-10-05 05:55:41 -0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-10-07 01:32:33 -0400 |
commit | 87fbcb0f8c5c8fd57a4e3e7e638977c04ce1e0ca (patch) | |
tree | 7c4198319bbb1dc6bbcd5b4b683d4a023a635875 /drivers/net/wireless/wl12xx/cmd.c | |
parent | 92c77c734f958474ac73af670834bc32cb833e54 (diff) |
wl12xx: define wl12xx_vif
Define a per-vif data struct.
This struct holds all the vif-specifc data, which is
currently being hold by the global wl struct.
Start by moving the basic_rate_set field into it.
NOTE: in order to make the patches a bit smaller, start by
using wl->vif in some functions, instead of changing all
the function prototypes at once. finally, wl->vif will be
removed altogether.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/cmd.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/cmd.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c index bee44c7d67fd..c99fc61113d1 100644 --- a/drivers/net/wireless/wl12xx/cmd.c +++ b/drivers/net/wireless/wl12xx/cmd.c | |||
@@ -555,7 +555,7 @@ out: | |||
555 | return ret; | 555 | return ret; |
556 | } | 556 | } |
557 | 557 | ||
558 | int wl12xx_cmd_role_start_sta(struct wl1271 *wl) | 558 | int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif) |
559 | { | 559 | { |
560 | struct wl12xx_cmd_role_start *cmd; | 560 | struct wl12xx_cmd_role_start *cmd; |
561 | int ret; | 561 | int ret; |
@@ -572,7 +572,7 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl) | |||
572 | if (wl->band == IEEE80211_BAND_5GHZ) | 572 | if (wl->band == IEEE80211_BAND_5GHZ) |
573 | cmd->band = WL12XX_BAND_5GHZ; | 573 | cmd->band = WL12XX_BAND_5GHZ; |
574 | cmd->channel = wl->channel; | 574 | cmd->channel = wl->channel; |
575 | cmd->sta.basic_rate_set = cpu_to_le32(wl->basic_rate_set); | 575 | cmd->sta.basic_rate_set = cpu_to_le32(wlvif->basic_rate_set); |
576 | cmd->sta.beacon_interval = cpu_to_le16(wl->beacon_int); | 576 | cmd->sta.beacon_interval = cpu_to_le16(wl->beacon_int); |
577 | cmd->sta.ssid_type = WL12XX_SSID_TYPE_ANY; | 577 | cmd->sta.ssid_type = WL12XX_SSID_TYPE_ANY; |
578 | cmd->sta.ssid_len = wl->ssid_len; | 578 | cmd->sta.ssid_len = wl->ssid_len; |
@@ -592,7 +592,7 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl) | |||
592 | wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d " | 592 | wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d " |
593 | "basic_rate_set: 0x%x, remote_rates: 0x%x", | 593 | "basic_rate_set: 0x%x, remote_rates: 0x%x", |
594 | wl->role_id, cmd->sta.hlid, cmd->sta.session, | 594 | wl->role_id, cmd->sta.hlid, cmd->sta.session, |
595 | wl->basic_rate_set, wl->rate_set); | 595 | wlvif->basic_rate_set, wl->rate_set); |
596 | 596 | ||
597 | ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0); | 597 | ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0); |
598 | if (ret < 0) { | 598 | if (ret < 0) { |
@@ -649,7 +649,7 @@ out: | |||
649 | return ret; | 649 | return ret; |
650 | } | 650 | } |
651 | 651 | ||
652 | int wl12xx_cmd_role_start_ap(struct wl1271 *wl) | 652 | int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif) |
653 | { | 653 | { |
654 | struct wl12xx_cmd_role_start *cmd; | 654 | struct wl12xx_cmd_role_start *cmd; |
655 | struct ieee80211_bss_conf *bss_conf = &wl->vif->bss_conf; | 655 | struct ieee80211_bss_conf *bss_conf = &wl->vif->bss_conf; |
@@ -683,7 +683,7 @@ int wl12xx_cmd_role_start_ap(struct wl1271 *wl) | |||
683 | cmd->ap.bss_index = WL1271_AP_BSS_INDEX; | 683 | cmd->ap.bss_index = WL1271_AP_BSS_INDEX; |
684 | cmd->ap.global_hlid = wl->ap_global_hlid; | 684 | cmd->ap.global_hlid = wl->ap_global_hlid; |
685 | cmd->ap.broadcast_hlid = wl->ap_bcast_hlid; | 685 | cmd->ap.broadcast_hlid = wl->ap_bcast_hlid; |
686 | cmd->ap.basic_rate_set = cpu_to_le32(wl->basic_rate_set); | 686 | cmd->ap.basic_rate_set = cpu_to_le32(wlvif->basic_rate_set); |
687 | cmd->ap.beacon_interval = cpu_to_le16(wl->beacon_int); | 687 | cmd->ap.beacon_interval = cpu_to_le16(wl->beacon_int); |
688 | cmd->ap.dtim_interval = bss_conf->dtim_period; | 688 | cmd->ap.dtim_interval = bss_conf->dtim_period; |
689 | cmd->ap.beacon_expiry = WL1271_AP_DEF_BEACON_EXP; | 689 | cmd->ap.beacon_expiry = WL1271_AP_DEF_BEACON_EXP; |
@@ -767,7 +767,7 @@ out: | |||
767 | return ret; | 767 | return ret; |
768 | } | 768 | } |
769 | 769 | ||
770 | int wl12xx_cmd_role_start_ibss(struct wl1271 *wl) | 770 | int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif) |
771 | { | 771 | { |
772 | struct wl12xx_cmd_role_start *cmd; | 772 | struct wl12xx_cmd_role_start *cmd; |
773 | struct ieee80211_bss_conf *bss_conf = &wl->vif->bss_conf; | 773 | struct ieee80211_bss_conf *bss_conf = &wl->vif->bss_conf; |
@@ -785,7 +785,7 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl) | |||
785 | if (wl->band == IEEE80211_BAND_5GHZ) | 785 | if (wl->band == IEEE80211_BAND_5GHZ) |
786 | cmd->band = WL12XX_BAND_5GHZ; | 786 | cmd->band = WL12XX_BAND_5GHZ; |
787 | cmd->channel = wl->channel; | 787 | cmd->channel = wl->channel; |
788 | cmd->ibss.basic_rate_set = cpu_to_le32(wl->basic_rate_set); | 788 | cmd->ibss.basic_rate_set = cpu_to_le32(wlvif->basic_rate_set); |
789 | cmd->ibss.beacon_interval = cpu_to_le16(wl->beacon_int); | 789 | cmd->ibss.beacon_interval = cpu_to_le16(wl->beacon_int); |
790 | cmd->ibss.dtim_interval = bss_conf->dtim_period; | 790 | cmd->ibss.dtim_interval = bss_conf->dtim_period; |
791 | cmd->ibss.ssid_type = WL12XX_SSID_TYPE_ANY; | 791 | cmd->ibss.ssid_type = WL12XX_SSID_TYPE_ANY; |
@@ -805,7 +805,7 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl) | |||
805 | wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d " | 805 | wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d " |
806 | "basic_rate_set: 0x%x, remote_rates: 0x%x", | 806 | "basic_rate_set: 0x%x, remote_rates: 0x%x", |
807 | wl->role_id, cmd->sta.hlid, cmd->sta.session, | 807 | wl->role_id, cmd->sta.hlid, cmd->sta.session, |
808 | wl->basic_rate_set, wl->rate_set); | 808 | wlvif->basic_rate_set, wl->rate_set); |
809 | 809 | ||
810 | wl1271_debug(DEBUG_CMD, "wl->bssid = %pM", wl->bssid); | 810 | wl1271_debug(DEBUG_CMD, "wl->bssid = %pM", wl->bssid); |
811 | 811 | ||
@@ -1085,7 +1085,8 @@ out: | |||
1085 | 1085 | ||
1086 | } | 1086 | } |
1087 | 1087 | ||
1088 | int wl1271_cmd_build_ps_poll(struct wl1271 *wl, u16 aid) | 1088 | int wl1271_cmd_build_ps_poll(struct wl1271 *wl, struct wl12xx_vif *wlvif, |
1089 | u16 aid) | ||
1089 | { | 1090 | { |
1090 | struct sk_buff *skb; | 1091 | struct sk_buff *skb; |
1091 | int ret = 0; | 1092 | int ret = 0; |
@@ -1095,7 +1096,7 @@ int wl1271_cmd_build_ps_poll(struct wl1271 *wl, u16 aid) | |||
1095 | goto out; | 1096 | goto out; |
1096 | 1097 | ||
1097 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_PS_POLL, skb->data, | 1098 | ret = wl1271_cmd_template_set(wl, CMD_TEMPL_PS_POLL, skb->data, |
1098 | skb->len, 0, wl->basic_rate_set); | 1099 | skb->len, 0, wlvif->basic_rate_set); |
1099 | 1100 | ||
1100 | out: | 1101 | out: |
1101 | dev_kfree_skb(skb); | 1102 | dev_kfree_skb(skb); |