mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 06:18:45 -04:00
staging: brcm80211: replaced 5Ghz specific wf_channel2mhz()
Code cleanup related. Replaced broadcom specific function with Linux function ieee80211_dsss_chan_to_freq(). Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1b1d36b6e8
commit
d69a135806
@@ -489,7 +489,7 @@ wl_iw_get_range(struct net_device *dev,
|
||||
wl_rateset_t rateset;
|
||||
s8 *channels;
|
||||
int error, i, k;
|
||||
uint sf, ch;
|
||||
uint ch;
|
||||
|
||||
int phytype;
|
||||
int bw_cap = 0, sgi_tx = 0, nmode = 0;
|
||||
@@ -530,11 +530,10 @@ wl_iw_get_range(struct net_device *dev,
|
||||
|
||||
ch = dtoh32(list->element[i]);
|
||||
if (ch <= CH_MAX_2G_CHANNEL) {
|
||||
sf = WF_CHAN_FACTOR_2_4_G;
|
||||
range->freq[i].m = ieee80211_dsss_chan_to_freq(ch);
|
||||
} else {
|
||||
sf = WF_CHAN_FACTOR_5_G;
|
||||
range->freq[i].m = wf_channel2mhz(ch, sf);
|
||||
range->freq[i].m = ieee80211_ofdm_chan_to_freq(
|
||||
WF_CHAN_FACTOR_5_G/2, ch);
|
||||
}
|
||||
range->freq[i].e = 6;
|
||||
}
|
||||
@@ -1540,9 +1539,10 @@ wl_iw_get_scan_prep(wl_scan_results_t *list,
|
||||
iwe.u.freq.m = ieee80211_dsss_chan_to_freq(
|
||||
CHSPEC_CHANNEL(bi->chanspec));
|
||||
else
|
||||
iwe.u.freq.m = wf_channel2mhz(
|
||||
CHSPEC_CHANNEL(bi->chanspec),
|
||||
WF_CHAN_FACTOR_5_G);
|
||||
iwe.u.freq.m = ieee80211_ofdm_chan_to_freq(
|
||||
WF_CHAN_FACTOR_5_G/2,
|
||||
CHSPEC_CHANNEL(bi->chanspec));
|
||||
|
||||
iwe.u.freq.e = 6;
|
||||
event =
|
||||
IWE_STREAM_ADD_EVENT(info, event, end, &iwe,
|
||||
@@ -1820,8 +1820,9 @@ wl_iw_iscan_get_scan(struct net_device *dev,
|
||||
iwe.u.freq.m =
|
||||
ieee80211_dsss_chan_to_freq(channel);
|
||||
else
|
||||
iwe.u.freq.m = wf_channel2mhz(channel,
|
||||
WF_CHAN_FACTOR_5_G);
|
||||
iwe.u.freq.m = ieee80211_ofdm_chan_to_freq(
|
||||
WF_CHAN_FACTOR_5_G/2,
|
||||
channel);
|
||||
|
||||
iwe.u.freq.e = 6;
|
||||
event =
|
||||
|
||||
@@ -171,22 +171,4 @@ extern chanspec_t wf_chspec_ctlchspec(chanspec_t chspec);
|
||||
*/
|
||||
extern int wf_mhz2channel(uint freq, uint start_factor);
|
||||
|
||||
/*
|
||||
* Return the center frequency in MHz of the given channel and base frequency.
|
||||
* The channel number is interpreted relative to the given base frequency.
|
||||
*
|
||||
* The valid channel range is [1, 14] in the 2.4 GHz band and [0, 200] otherwise.
|
||||
* The base frequency is specified as (start_factor * 500 kHz).
|
||||
* Constants WF_CHAN_FACTOR_2_4_G, WF_CHAN_FACTOR_5_G are defined for
|
||||
* 2.4 GHz and 5 GHz bands.
|
||||
* The channel range of [1, 14] is only checked for a start_factor of
|
||||
* WF_CHAN_FACTOR_2_4_G (4814).
|
||||
* Odd start_factors produce channels on .5 MHz boundaries, in which case
|
||||
* the answer is rounded down to an integral MHz.
|
||||
* -1 is returned for an out of range channel.
|
||||
*
|
||||
* Reference 802.11 REVma, section 17.3.8.3, and 802.11B section 18.4.6.2
|
||||
*/
|
||||
extern int wf_channel2mhz(uint channel, uint start_factor);
|
||||
|
||||
#endif /* _bcmwifi_h_ */
|
||||
|
||||
@@ -6837,7 +6837,9 @@ prep_mac80211_status(struct wlc_info *wlc, d11rxhdr_t *rxh, struct sk_buff *p,
|
||||
/* XXX Channel/badn needs to be filtered against whether we are single/dual band card */
|
||||
if (channel > 14) {
|
||||
rx_status->band = IEEE80211_BAND_5GHZ;
|
||||
rx_status->freq = wf_channel2mhz(channel, WF_CHAN_FACTOR_5_G);
|
||||
rx_status->freq = ieee80211_ofdm_chan_to_freq(
|
||||
WF_CHAN_FACTOR_5_G/2, channel);
|
||||
|
||||
} else {
|
||||
rx_status->band = IEEE80211_BAND_2GHZ;
|
||||
rx_status->freq = ieee80211_dsss_chan_to_freq(channel);
|
||||
|
||||
@@ -161,30 +161,3 @@ int wf_mhz2channel(uint freq, uint start_factor)
|
||||
return ch;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the center frequency in MHz of the given channel and base frequency.
|
||||
* The channel number is interpreted relative to the given base frequency.
|
||||
*
|
||||
* The valid channel range is [1, 14] in the 2.4 GHz band and [0, 200] otherwise.
|
||||
* The base frequency is specified as (start_factor * 500 kHz).
|
||||
* Constants WF_CHAN_FACTOR_2_4_G, WF_CHAN_FACTOR_4_G, and WF_CHAN_FACTOR_5_G
|
||||
* are defined for 2.4 GHz, 4 GHz, and 5 GHz bands.
|
||||
* The channel range of [1, 14] is only checked for a start_factor of
|
||||
* WF_CHAN_FACTOR_2_4_G (4814 = 2407 * 2).
|
||||
* Odd start_factors produce channels on .5 MHz boundaries, in which case
|
||||
* the answer is rounded down to an integral MHz.
|
||||
* -1 is returned for an out of range channel.
|
||||
*
|
||||
* Reference 802.11 REVma, section 17.3.8.3, and 802.11B section 18.4.6.2
|
||||
*/
|
||||
int wf_channel2mhz(uint ch, uint start_factor)
|
||||
{
|
||||
int freq;
|
||||
|
||||
if (ch > 200)
|
||||
freq = -1;
|
||||
else
|
||||
freq = ch * 5 + start_factor / 2;
|
||||
|
||||
return freq;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user