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;
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;
}
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,
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 =
*/
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_ */
/* 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);
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;
-}