PERFORCE change 114933 for review
Sam Leffler
sam at FreeBSD.org
Fri Feb 23 23:52:55 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=114933
Change 114933 by sam at sam_ebb on 2007/02/23 23:52:33
Cleanup ic_modecaps: use bit twiddling macros instead of
explicit mask operations.
Affected files ...
.. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#21 edit
.. //depot/projects/wifi/sys/net80211/ieee80211.c#41 edit
.. //depot/projects/wifi/sys/net80211/ieee80211_var.h#48 edit
Differences ...
==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#21 (text+ko) ====
@@ -2678,7 +2678,7 @@
scan_type = IWI_SCAN_TYPE_BROADCAST;
ix = 0;
- if (ic->ic_modecaps & IEEE80211_MODE_5GHZ) {
+ if (isset(ic->ic_modecaps, IEEE80211_MODE_5GHZ)) {
start = ix;
for (i = 0; i <= IEEE80211_CHAN_MAX; i++) {
c = &ic->ic_channels[i];
@@ -2702,7 +2702,7 @@
ix++;
}
}
- if (ic->ic_modecaps & IEEE80211_MODE_2GHZ) {
+ if (isset(ic->ic_modecaps, IEEE80211_MODE_2GHZ)) {
start = ix;
for (i = 0; i <= IEEE80211_CHAN_MAX; i++) {
c = &ic->ic_channels[i];
==== //depot/projects/wifi/sys/net80211/ieee80211.c#41 (text+ko) ====
@@ -148,7 +148,7 @@
ieee80211_chan_init(struct ieee80211com *ic)
{
#define DEFAULTRATES(m, def) do { \
- if ((ic->ic_modecaps & (1<<m)) && ic->ic_sup_rates[m].rs_nrates == 0) \
+ if (isset(ic->ic_modecaps, m) && ic->ic_sup_rates[m].rs_nrates == 0) \
ic->ic_sup_rates[m] = def; \
} while (0)
struct ieee80211_channel *c;
@@ -157,7 +157,7 @@
KASSERT(0 < ic->ic_nchans && ic->ic_nchans < IEEE80211_CHAN_MAX,
("invalid number of channels specified: %u", ic->ic_nchans));
memset(ic->ic_chan_avail, 0, sizeof(ic->ic_chan_avail));
- ic->ic_modecaps = 1<<IEEE80211_MODE_AUTO;
+ setbit(ic->ic_modecaps, IEEE80211_MODE_AUTO);
for (i = 0; i < ic->ic_nchans; i++) {
c = &ic->ic_channels[i];
KASSERT(c->ic_flags != 0, ("channel with no flags"));
@@ -168,19 +168,19 @@
* Identify mode capabilities.
*/
if (IEEE80211_IS_CHAN_A(c))
- ic->ic_modecaps |= 1<<IEEE80211_MODE_11A;
+ setbit(ic->ic_modecaps, IEEE80211_MODE_11A);
if (IEEE80211_IS_CHAN_B(c))
- ic->ic_modecaps |= 1<<IEEE80211_MODE_11B;
+ setbit(ic->ic_modecaps, IEEE80211_MODE_11B);
if (IEEE80211_IS_CHAN_ANYG(c))
- ic->ic_modecaps |= 1<<IEEE80211_MODE_11G;
+ setbit(ic->ic_modecaps, IEEE80211_MODE_11G);
if (IEEE80211_IS_CHAN_FHSS(c))
- ic->ic_modecaps |= 1<<IEEE80211_MODE_FH;
+ setbit(ic->ic_modecaps, IEEE80211_MODE_FH);
if (IEEE80211_IS_CHAN_108A(c))
- ic->ic_modecaps |= 1<<IEEE80211_MODE_TURBO_A;
+ setbit(ic->ic_modecaps, IEEE80211_MODE_TURBO_A);
if (IEEE80211_IS_CHAN_108G(c))
- ic->ic_modecaps |= 1<<IEEE80211_MODE_TURBO_G;
+ setbit(ic->ic_modecaps, IEEE80211_MODE_TURBO_G);
if (IEEE80211_IS_CHAN_ST(c))
- ic->ic_modecaps |= 1<<IEEE80211_MODE_STURBO_A;
+ setbit(ic->ic_modecaps, IEEE80211_MODE_STURBO_A);
}
/* initialize candidate channels to all available */
memcpy(ic->ic_chan_active, ic->ic_chan_avail,
@@ -474,7 +474,7 @@
IFM_IEEE80211_11A | IFM_IEEE80211_TURBO,
IFM_IEEE80211_11G | IFM_IEEE80211_TURBO,
};
- if ((ic->ic_modecaps & (1<<mode)) == 0)
+ if (isclr(ic->ic_modecaps, mode))
continue;
mopt = mopts[mode];
ADD(ic, IFM_AUTO, mopt); /* e.g. 11a auto */
@@ -565,7 +565,7 @@
struct ieee80211_rateset *rs;
for (mode = IEEE80211_MODE_11A; mode < IEEE80211_MODE_MAX; mode++) {
- if ((ic->ic_modecaps & (1<<mode)) == 0)
+ if (isclr(ic->ic_modecaps, mode))
continue;
if_printf(ifp, "%s rates: ", ieee80211_phymode_name[mode]);
rs = &ic->ic_sup_rates[mode];
@@ -681,7 +681,7 @@
* In autoselect mode search for the rate.
*/
for (i = IEEE80211_MODE_11A; i < IEEE80211_MODE_MAX; i++) {
- if ((ic->ic_modecaps & (1<<i)) &&
+ if (isset(ic->ic_modecaps, i) &&
findrate(ic, i, rate) != -1)
return 1;
}
@@ -787,7 +787,7 @@
if (newopmode == IEEE80211_M_HOSTAP &&
newphymode == IEEE80211_MODE_AUTO) {
for (j = IEEE80211_MODE_11A; j < IEEE80211_MODE_MAX; j++)
- if (ic->ic_modecaps & (1<<j)) {
+ if (isset(ic->ic_modecaps, j)) {
newphymode = j;
break;
}
==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#48 (text+ko) ====
@@ -111,7 +111,7 @@
u_int32_t ic_flags; /* state flags */
u_int32_t ic_flags_ext; /* extended state flags */
u_int32_t ic_caps; /* capabilities */
- u_int16_t ic_modecaps; /* set of mode capabilities */
+ u_int8_t ic_modecaps[2]; /* set of mode capabilities */
u_int16_t ic_curmode; /* current mode */
struct ieee80211_rateset ic_sup_rates[IEEE80211_MODE_MAX];
u_int16_t ic_bintval; /* beacon interval */
More information about the p4-projects
mailing list