<chapter>
       <title>Device registration</title>
 !Pinclude/net/cfg80211.h Device registration
-!Finclude/net/cfg80211.h ieee80211_band
 !Finclude/net/cfg80211.h ieee80211_channel_flags
 !Finclude/net/cfg80211.h ieee80211_channel
 !Finclude/net/cfg80211.h ieee80211_rate_flags
 
                        rx_status.rate_idx = rate;
 
                        rx_status.freq = adm8211_channels[priv->channel - 1].center_freq;
-                       rx_status.band = IEEE80211_BAND_2GHZ;
+                       rx_status.band = NL80211_BAND_2GHZ;
 
                        memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status));
                        ieee80211_rx_irqsafe(dev, skb);
 
        priv->channel = 1;
 
-       dev->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
+       dev->wiphy->bands[NL80211_BAND_2GHZ] = &priv->band;
 
        err = ieee80211_register_hw(dev);
        if (err) {
 
        memcpy(ar->channels, ar5523_channels, sizeof(ar5523_channels));
        memcpy(ar->rates, ar5523_rates, sizeof(ar5523_rates));
 
-       ar->band.band = IEEE80211_BAND_2GHZ;
+       ar->band.band = NL80211_BAND_2GHZ;
        ar->band.channels = ar->channels;
        ar->band.n_channels = ARRAY_SIZE(ar5523_channels);
        ar->band.bitrates = ar->rates;
        ar->band.n_bitrates = ARRAY_SIZE(ar5523_rates);
-       ar->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &ar->band;
+       ar->hw->wiphy->bands[NL80211_BAND_2GHZ] = &ar->band;
        return 0;
 }
 
 
        bool bt_ant_diversity;
 
        int last_rssi;
-       struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band sbands[NUM_NL80211_BANDS];
 };
 
 static inline const struct ath_ps_ops *ath_ps_ops(struct ath_common *common)
 
        } scan;
 
        struct {
-               struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
+               struct ieee80211_supported_band sbands[NUM_NL80211_BANDS];
        } mac;
 
        /* should never be NULL; needed for regular htt rx */
 
        ath10k_mac_tx_push_pending(ar);
 }
 
-static inline enum ieee80211_band phy_mode_to_band(u32 phy_mode)
+static inline enum nl80211_band phy_mode_to_band(u32 phy_mode)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        switch (phy_mode) {
        case MODE_11A:
        case MODE_11AC_VHT20:
        case MODE_11AC_VHT40:
        case MODE_11AC_VHT80:
-               band = IEEE80211_BAND_5GHZ;
+               band = NL80211_BAND_5GHZ;
                break;
        case MODE_11G:
        case MODE_11B:
        case MODE_11AC_VHT40_2G:
        case MODE_11AC_VHT80_2G:
        default:
-               band = IEEE80211_BAND_2GHZ;
+               band = NL80211_BAND_2GHZ;
        }
 
        return band;
 
        enum wmi_phy_mode phymode = MODE_UNKNOWN;
 
        switch (chandef->chan->band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                switch (chandef->width) {
                case NL80211_CHAN_WIDTH_20_NOHT:
                        if (chandef->chan->flags & IEEE80211_CHAN_NO_OFDM)
                        break;
                }
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                switch (chandef->width) {
                case NL80211_CHAN_WIDTH_20_NOHT:
                        phymode = MODE_11A;
        struct cfg80211_chan_def def;
        const struct ieee80211_supported_band *sband;
        const struct ieee80211_rate *rates;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u32 ratemask;
        u8 rate;
        int i;
        const struct ieee80211_sta_ht_cap *ht_cap = &sta->ht_cap;
        struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
        struct cfg80211_chan_def def;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        const u8 *ht_mcs_mask;
        const u16 *vht_mcs_mask;
        int i, n;
        const struct ieee80211_sta_vht_cap *vht_cap = &sta->vht_cap;
        struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
        struct cfg80211_chan_def def;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        const u16 *vht_mcs_mask;
        u8 ampdu_factor;
 
 
        arg->peer_flags |= ar->wmi.peer_flags->vht;
 
-       if (def.chan->band == IEEE80211_BAND_2GHZ)
+       if (def.chan->band == NL80211_BAND_2GHZ)
                arg->peer_flags |= ar->wmi.peer_flags->vht_2g;
 
        arg->peer_vht_caps = vht_cap->cap;
 
 static bool ath10k_mac_sta_has_ofdm_only(struct ieee80211_sta *sta)
 {
-       return sta->supp_rates[IEEE80211_BAND_2GHZ] >>
+       return sta->supp_rates[NL80211_BAND_2GHZ] >>
               ATH10K_MAC_FIRST_OFDM_RATE_IDX;
 }
 
 {
        struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
        struct cfg80211_chan_def def;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        const u8 *ht_mcs_mask;
        const u16 *vht_mcs_mask;
        enum wmi_phy_mode phymode = MODE_UNKNOWN;
        vht_mcs_mask = arvif->bitrate_mask.control[band].vht_mcs;
 
        switch (band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                if (sta->vht_cap.vht_supported &&
                    !ath10k_peer_assoc_h_vht_masked(vht_mcs_mask)) {
                        if (sta->bandwidth == IEEE80211_STA_RX_BW_40)
                }
 
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                /*
                 * Check VHT first.
                 */
 {
        struct ieee80211_hw *hw = ar->hw;
        struct ieee80211_supported_band **bands;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_channel *channel;
        struct wmi_scan_chan_list_arg arg = {0};
        struct wmi_channel_arg *ch;
        lockdep_assert_held(&ar->conf_mutex);
 
        bands = hw->wiphy->bands;
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                if (!bands[band])
                        continue;
 
                return -ENOMEM;
 
        ch = arg.channels;
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                if (!bands[band])
                        continue;
 
                        /* FIXME: why use only legacy modes, why not any
                         * HT/VHT modes? Would that even make any
                         * difference? */
-                       if (channel->band == IEEE80211_BAND_2GHZ)
+                       if (channel->band == NL80211_BAND_2GHZ)
                                ch->mode = MODE_11G;
                        else
                                ch->mode = MODE_11A;
        vht_cap = ath10k_create_vht_cap(ar);
 
        if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
-               band = &ar->mac.sbands[IEEE80211_BAND_2GHZ];
+               band = &ar->mac.sbands[NL80211_BAND_2GHZ];
                band->ht_cap = ht_cap;
 
                /* Enable the VHT support at 2.4 GHz */
                band->vht_cap = vht_cap;
        }
        if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY) {
-               band = &ar->mac.sbands[IEEE80211_BAND_5GHZ];
+               band = &ar->mac.sbands[NL80211_BAND_5GHZ];
                band->ht_cap = ht_cap;
                band->vht_cap = vht_cap;
        }
        struct ath10k_sta *arsta;
        struct ieee80211_sta *sta;
        struct cfg80211_chan_def def;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        const u8 *ht_mcs_mask;
        const u16 *vht_mcs_mask;
        u32 changed, bw, nss, smps;
 
        mutex_lock(&ar->conf_mutex);
 
-       sband = hw->wiphy->bands[IEEE80211_BAND_2GHZ];
+       sband = hw->wiphy->bands[NL80211_BAND_2GHZ];
        if (sband && idx >= sband->n_channels) {
                idx -= sband->n_channels;
                sband = NULL;
        }
 
        if (!sband)
-               sband = hw->wiphy->bands[IEEE80211_BAND_5GHZ];
+               sband = hw->wiphy->bands[NL80211_BAND_5GHZ];
 
        if (!sband || idx >= sband->n_channels) {
                ret = -ENOENT;
 
 static bool
 ath10k_mac_bitrate_mask_has_single_rate(struct ath10k *ar,
-                                       enum ieee80211_band band,
+                                       enum nl80211_band band,
                                        const struct cfg80211_bitrate_mask *mask)
 {
        int num_rates = 0;
 
 static bool
 ath10k_mac_bitrate_mask_get_single_nss(struct ath10k *ar,
-                                      enum ieee80211_band band,
+                                      enum nl80211_band band,
                                       const struct cfg80211_bitrate_mask *mask,
                                       int *nss)
 {
 
 static int
 ath10k_mac_bitrate_mask_get_single_rate(struct ath10k *ar,
-                                       enum ieee80211_band band,
+                                       enum nl80211_band band,
                                        const struct cfg80211_bitrate_mask *mask,
                                        u8 *rate, u8 *nss)
 {
 
 static bool
 ath10k_mac_can_set_bitrate_mask(struct ath10k *ar,
-                               enum ieee80211_band band,
+                               enum nl80211_band band,
                                const struct cfg80211_bitrate_mask *mask)
 {
        int i;
        struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
        struct cfg80211_chan_def def;
        struct ath10k *ar = arvif->ar;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        const u8 *ht_mcs_mask;
        const u16 *vht_mcs_mask;
        u8 rate;
 };
 
 #define CHAN2G(_channel, _freq, _flags) { \
-       .band                   = IEEE80211_BAND_2GHZ, \
+       .band                   = NL80211_BAND_2GHZ, \
        .hw_value               = (_channel), \
        .center_freq            = (_freq), \
        .flags                  = (_flags), \
 }
 
 #define CHAN5G(_channel, _freq, _flags) { \
-       .band                   = IEEE80211_BAND_5GHZ, \
+       .band                   = NL80211_BAND_5GHZ, \
        .hw_value               = (_channel), \
        .center_freq            = (_freq), \
        .flags                  = (_flags), \
                        goto err_free;
                }
 
-               band = &ar->mac.sbands[IEEE80211_BAND_2GHZ];
+               band = &ar->mac.sbands[NL80211_BAND_2GHZ];
                band->n_channels = ARRAY_SIZE(ath10k_2ghz_channels);
                band->channels = channels;
                band->n_bitrates = ath10k_g_rates_size;
                band->bitrates = ath10k_g_rates;
 
-               ar->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = band;
+               ar->hw->wiphy->bands[NL80211_BAND_2GHZ] = band;
        }
 
        if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY) {
                        goto err_free;
                }
 
-               band = &ar->mac.sbands[IEEE80211_BAND_5GHZ];
+               band = &ar->mac.sbands[NL80211_BAND_5GHZ];
                band->n_channels = ARRAY_SIZE(ath10k_5ghz_channels);
                band->channels = channels;
                band->n_bitrates = ath10k_a_rates_size;
                band->bitrates = ath10k_a_rates;
-               ar->hw->wiphy->bands[IEEE80211_BAND_5GHZ] = band;
+               ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
        }
 
        ath10k_mac_setup_ht_vht_cap(ar);
                ar->dfs_detector->exit(ar->dfs_detector);
 
 err_free:
-       kfree(ar->mac.sbands[IEEE80211_BAND_2GHZ].channels);
-       kfree(ar->mac.sbands[IEEE80211_BAND_5GHZ].channels);
+       kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels);
+       kfree(ar->mac.sbands[NL80211_BAND_5GHZ].channels);
 
        SET_IEEE80211_DEV(ar->hw, NULL);
        return ret;
        if (config_enabled(CONFIG_ATH10K_DFS_CERTIFIED) && ar->dfs_detector)
                ar->dfs_detector->exit(ar->dfs_detector);
 
-       kfree(ar->mac.sbands[IEEE80211_BAND_2GHZ].channels);
-       kfree(ar->mac.sbands[IEEE80211_BAND_5GHZ].channels);
+       kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels);
+       kfree(ar->mac.sbands[NL80211_BAND_5GHZ].channels);
 
        SET_IEEE80211_DEV(ar->hw, NULL);
 }
 
         * of mgmt rx.
         */
        if (channel >= 1 && channel <= 14) {
-               status->band = IEEE80211_BAND_2GHZ;
+               status->band = NL80211_BAND_2GHZ;
        } else if (channel >= 36 && channel <= 165) {
-               status->band = IEEE80211_BAND_5GHZ;
+               status->band = NL80211_BAND_5GHZ;
        } else {
                /* Shouldn't happen unless list of advertised channels to
                 * mac80211 has been changed.
                return 0;
        }
 
-       if (phy_mode == MODE_11B && status->band == IEEE80211_BAND_5GHZ)
+       if (phy_mode == MODE_11B && status->band == NL80211_BAND_5GHZ)
                ath10k_dbg(ar, ATH10K_DBG_MGMT, "wmi mgmt rx 11b (CCK) on 5GHz\n");
 
        sband = &ar->mac.sbands[status->band];
        struct ieee80211_supported_band *sband;
        int band, ch, idx = 0;
 
-       for (band = IEEE80211_BAND_2GHZ; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = NL80211_BAND_2GHZ; band < NUM_NL80211_BANDS; band++) {
                sband = ar->hw->wiphy->bands[band];
                if (!sband)
                        continue;
 
                if (as->firstep_level < ATH5K_ANI_MAX_FIRSTEP_LVL)
                        ath5k_ani_set_firstep_level(ah, as->firstep_level + 1);
                return;
-       } else if (ah->ah_current_channel->band == IEEE80211_BAND_2GHZ) {
+       } else if (ah->ah_current_channel->band == NL80211_BAND_2GHZ) {
                /* beacon RSSI is low. in B/G mode turn of OFDM weak signal
                 * detect and zero firstep level to maximize CCK sensitivity */
                ATH5K_DBG_UNLIMIT(ah, ATH5K_DEBUG_ANI,
 
        void __iomem            *iobase;        /* address of the device */
        struct mutex            lock;           /* dev-level lock */
        struct ieee80211_hw     *hw;            /* IEEE 802.11 common */
-       struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band sbands[NUM_NL80211_BANDS];
        struct ieee80211_channel channels[ATH_CHAN_MAX];
-       struct ieee80211_rate   rates[IEEE80211_NUM_BANDS][AR5K_MAX_RATES];
-       s8                      rate_idx[IEEE80211_NUM_BANDS][AR5K_MAX_RATES];
+       struct ieee80211_rate   rates[NUM_NL80211_BANDS][AR5K_MAX_RATES];
+       s8                      rate_idx[NUM_NL80211_BANDS][AR5K_MAX_RATES];
        enum nl80211_iftype     opmode;
 
 #ifdef CONFIG_ATH5K_DEBUG
 
 /* Protocol Control Unit Functions */
 /* Helpers */
-int ath5k_hw_get_frame_duration(struct ath5k_hw *ah, enum ieee80211_band band,
+int ath5k_hw_get_frame_duration(struct ath5k_hw *ah, enum nl80211_band band,
                int len, struct ieee80211_rate *rate, bool shortpre);
 unsigned int ath5k_hw_get_default_slottime(struct ath5k_hw *ah);
 unsigned int ath5k_hw_get_default_sifs(struct ath5k_hw *ah);
 
 /* PHY functions */
 /* Misc PHY functions */
-u16 ath5k_hw_radio_revision(struct ath5k_hw *ah, enum ieee80211_band band);
+u16 ath5k_hw_radio_revision(struct ath5k_hw *ah, enum nl80211_band band);
 int ath5k_hw_phy_disable(struct ath5k_hw *ah);
 /* Gain_F optimization */
 enum ath5k_rfgain ath5k_hw_gainf_calibrate(struct ath5k_hw *ah);
 
        ah->ah_phy_revision = ath5k_hw_reg_read(ah, AR5K_PHY_CHIP_ID) &
                        0xffffffff;
        ah->ah_radio_5ghz_revision = ath5k_hw_radio_revision(ah,
-                       IEEE80211_BAND_5GHZ);
+                       NL80211_BAND_5GHZ);
 
        /* Try to identify radio chip based on its srev */
        switch (ah->ah_radio_5ghz_revision & 0xf0) {
                ah->ah_radio = AR5K_RF5111;
                ah->ah_single_chip = false;
                ah->ah_radio_2ghz_revision = ath5k_hw_radio_revision(ah,
-                                                       IEEE80211_BAND_2GHZ);
+                                                       NL80211_BAND_2GHZ);
                break;
        case AR5K_SREV_RAD_5112:
        case AR5K_SREV_RAD_2112:
                ah->ah_radio = AR5K_RF5112;
                ah->ah_single_chip = false;
                ah->ah_radio_2ghz_revision = ath5k_hw_radio_revision(ah,
-                                                       IEEE80211_BAND_2GHZ);
+                                                       NL80211_BAND_2GHZ);
                break;
        case AR5K_SREV_RAD_2413:
                ah->ah_radio = AR5K_RF2413;
                        ah->ah_radio = AR5K_RF5111;
                        ah->ah_single_chip = false;
                        ah->ah_radio_2ghz_revision = ath5k_hw_radio_revision(ah,
-                                                       IEEE80211_BAND_2GHZ);
+                                                       NL80211_BAND_2GHZ);
                } else if (ah->ah_mac_version == (AR5K_SREV_AR2425 >> 4) ||
                           ah->ah_mac_version == (AR5K_SREV_AR2417 >> 4) ||
                           ah->ah_phy_revision == AR5K_SREV_PHY_2425) {
 
  * Returns true for the channel numbers used.
  */
 #ifdef CONFIG_ATH5K_TEST_CHANNELS
-static bool ath5k_is_standard_channel(short chan, enum ieee80211_band band)
+static bool ath5k_is_standard_channel(short chan, enum nl80211_band band)
 {
        return true;
 }
 
 #else
-static bool ath5k_is_standard_channel(short chan, enum ieee80211_band band)
+static bool ath5k_is_standard_channel(short chan, enum nl80211_band band)
 {
-       if (band == IEEE80211_BAND_2GHZ && chan <= 14)
+       if (band == NL80211_BAND_2GHZ && chan <= 14)
                return true;
 
        return  /* UNII 1,2 */
                unsigned int mode, unsigned int max)
 {
        unsigned int count, size, freq, ch;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        switch (mode) {
        case AR5K_MODE_11A:
                /* 1..220, but 2GHz frequencies are filtered by check_channel */
                size = 220;
-               band = IEEE80211_BAND_5GHZ;
+               band = NL80211_BAND_5GHZ;
                break;
        case AR5K_MODE_11B:
        case AR5K_MODE_11G:
                size = 26;
-               band = IEEE80211_BAND_2GHZ;
+               band = NL80211_BAND_2GHZ;
                break;
        default:
                ATH5K_WARN(ah, "bad mode, not copying channels\n");
        int max_c, count_c = 0;
        int i;
 
-       BUILD_BUG_ON(ARRAY_SIZE(ah->sbands) < IEEE80211_NUM_BANDS);
+       BUILD_BUG_ON(ARRAY_SIZE(ah->sbands) < NUM_NL80211_BANDS);
        max_c = ARRAY_SIZE(ah->channels);
 
        /* 2GHz band */
-       sband = &ah->sbands[IEEE80211_BAND_2GHZ];
-       sband->band = IEEE80211_BAND_2GHZ;
-       sband->bitrates = &ah->rates[IEEE80211_BAND_2GHZ][0];
+       sband = &ah->sbands[NL80211_BAND_2GHZ];
+       sband->band = NL80211_BAND_2GHZ;
+       sband->bitrates = &ah->rates[NL80211_BAND_2GHZ][0];
 
        if (test_bit(AR5K_MODE_11G, ah->ah_capabilities.cap_mode)) {
                /* G mode */
                sband->n_channels = ath5k_setup_channels(ah, sband->channels,
                                        AR5K_MODE_11G, max_c);
 
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] = sband;
+               hw->wiphy->bands[NL80211_BAND_2GHZ] = sband;
                count_c = sband->n_channels;
                max_c -= count_c;
        } else if (test_bit(AR5K_MODE_11B, ah->ah_capabilities.cap_mode)) {
                sband->n_channels = ath5k_setup_channels(ah, sband->channels,
                                        AR5K_MODE_11B, max_c);
 
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] = sband;
+               hw->wiphy->bands[NL80211_BAND_2GHZ] = sband;
                count_c = sband->n_channels;
                max_c -= count_c;
        }
 
        /* 5GHz band, A mode */
        if (test_bit(AR5K_MODE_11A, ah->ah_capabilities.cap_mode)) {
-               sband = &ah->sbands[IEEE80211_BAND_5GHZ];
-               sband->band = IEEE80211_BAND_5GHZ;
-               sband->bitrates = &ah->rates[IEEE80211_BAND_5GHZ][0];
+               sband = &ah->sbands[NL80211_BAND_5GHZ];
+               sband->band = NL80211_BAND_5GHZ;
+               sband->bitrates = &ah->rates[NL80211_BAND_5GHZ][0];
 
                memcpy(sband->bitrates, &ath5k_rates[4],
                       sizeof(struct ieee80211_rate) * 8);
                sband->n_channels = ath5k_setup_channels(ah, sband->channels,
                                        AR5K_MODE_11A, max_c);
 
-               hw->wiphy->bands[IEEE80211_BAND_5GHZ] = sband;
+               hw->wiphy->bands[NL80211_BAND_5GHZ] = sband;
        }
        ath5k_setup_rate_idx(ah, sband);
 
 
 
        BUG_ON(!ah->sbands);
 
-       for (b = 0; b < IEEE80211_NUM_BANDS; b++) {
+       for (b = 0; b < NUM_NL80211_BANDS; b++) {
                struct ieee80211_supported_band *band = &ah->sbands[b];
                char bname[6];
                switch (band->band) {
-               case IEEE80211_BAND_2GHZ:
+               case NL80211_BAND_2GHZ:
                        strcpy(bname, "2 GHz");
                        break;
-               case IEEE80211_BAND_5GHZ:
+               case NL80211_BAND_5GHZ:
                        strcpy(bname, "5 GHz");
                        break;
                default:
 
  * bwmodes.
  */
 int
-ath5k_hw_get_frame_duration(struct ath5k_hw *ah, enum ieee80211_band band,
+ath5k_hw_get_frame_duration(struct ath5k_hw *ah, enum nl80211_band band,
                int len, struct ieee80211_rate *rate, bool shortpre)
 {
        int sifs, preamble, plcp_bits, sym_time;
        case AR5K_BWMODE_DEFAULT:
                sifs = AR5K_INIT_SIFS_DEFAULT_BG;
        default:
-               if (channel->band == IEEE80211_BAND_5GHZ)
+               if (channel->band == NL80211_BAND_5GHZ)
                        sifs = AR5K_INIT_SIFS_DEFAULT_A;
                break;
        }
        struct ieee80211_rate *rate;
        unsigned int i;
        /* 802.11g covers both OFDM and CCK */
-       u8 band = IEEE80211_BAND_2GHZ;
+       u8 band = NL80211_BAND_2GHZ;
 
        /* Write rate duration table */
        for (i = 0; i < ah->sbands[band].n_bitrates; i++) {
 
 /**
  * ath5k_hw_radio_revision() - Get the PHY Chip revision
  * @ah: The &struct ath5k_hw
- * @band: One of enum ieee80211_band
+ * @band: One of enum nl80211_band
  *
  * Returns the revision number of a 2GHz, 5GHz or single chip
  * radio.
  */
 u16
-ath5k_hw_radio_revision(struct ath5k_hw *ah, enum ieee80211_band band)
+ath5k_hw_radio_revision(struct ath5k_hw *ah, enum nl80211_band band)
 {
        unsigned int i;
        u32 srev;
         * Set the radio chip access register
         */
        switch (band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                ath5k_hw_reg_write(ah, AR5K_PHY_SHIFT_2GHZ, AR5K_PHY(0));
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                ath5k_hw_reg_write(ah, AR5K_PHY_SHIFT_5GHZ, AR5K_PHY(0));
                break;
        default:
        u16 freq = channel->center_freq;
 
        /* Check if the channel is in our supported range */
-       if (channel->band == IEEE80211_BAND_2GHZ) {
+       if (channel->band == NL80211_BAND_2GHZ) {
                if ((freq >= ah->ah_capabilities.cap_range.range_2ghz_min) &&
                    (freq <= ah->ah_capabilities.cap_range.range_2ghz_max))
                        return true;
-       } else if (channel->band == IEEE80211_BAND_5GHZ)
+       } else if (channel->band == NL80211_BAND_5GHZ)
                if ((freq >= ah->ah_capabilities.cap_range.range_5ghz_min) &&
                    (freq <= ah->ah_capabilities.cap_range.range_5ghz_max))
                        return true;
 /**
  * ath5k_hw_rfgain_init() - Write initial RF gain settings to hw
  * @ah: The &struct ath5k_hw
- * @band: One of enum ieee80211_band
+ * @band: One of enum nl80211_band
  *
  * Write initial RF gain table to set the RF sensitivity.
  *
  * with Gain_F calibration
  */
 static int
-ath5k_hw_rfgain_init(struct ath5k_hw *ah, enum ieee80211_band band)
+ath5k_hw_rfgain_init(struct ath5k_hw *ah, enum nl80211_band band)
 {
        const struct ath5k_ini_rfgain *ath5k_rfg;
        unsigned int i, size, index;
                return -EINVAL;
        }
 
-       index = (band == IEEE80211_BAND_2GHZ) ? 1 : 0;
+       index = (band == NL80211_BAND_2GHZ) ? 1 : 0;
 
        for (i = 0; i < size; i++) {
                AR5K_REG_WAIT(i);
        }
 
        /* Set Output and Driver bias current (OB/DB) */
-       if (channel->band == IEEE80211_BAND_2GHZ) {
+       if (channel->band == NL80211_BAND_2GHZ) {
 
                if (channel->hw_value == AR5K_MODE_11B)
                        ee_mode = AR5K_EEPROM_MODE_11B;
                                                AR5K_RF_DB_2GHZ, true);
 
        /* RF5111 always needs OB/DB for 5GHz, even if we use 2GHz */
-       } else if ((channel->band == IEEE80211_BAND_5GHZ) ||
+       } else if ((channel->band == NL80211_BAND_5GHZ) ||
                        (ah->ah_radio == AR5K_RF5111)) {
 
                /* For 11a, Turbo and XR we need to choose
        }
 
        if (ah->ah_radio == AR5K_RF5413 &&
-       channel->band == IEEE80211_BAND_2GHZ) {
+       channel->band == NL80211_BAND_2GHZ) {
 
                ath5k_hw_rfb_op(ah, rf_regs, 1, AR5K_RF_DERBY_CHAN_SEL_MODE,
                                                                        true);
         */
        data0 = data1 = 0;
 
-       if (channel->band == IEEE80211_BAND_2GHZ) {
+       if (channel->band == NL80211_BAND_2GHZ) {
                /* Map 2GHz channel to 5GHz Atheros channel ID */
                ret = ath5k_hw_rf5111_chan2athchan(
                        ieee80211_frequency_to_channel(channel->center_freq),
        /* Convert current frequency to fbin value (the same way channels
         * are stored on EEPROM, check out ath5k_eeprom_bin2freq) and scale
         * up by 2 so we can compare it later */
-       if (channel->band == IEEE80211_BAND_2GHZ) {
+       if (channel->band == NL80211_BAND_2GHZ) {
                chan_fbin = (channel->center_freq - 2300) * 10;
                freq_band = AR5K_EEPROM_BAND_2GHZ;
        } else {
                        symbol_width = AR5K_SPUR_SYMBOL_WIDTH_BASE_100Hz / 4;
                        break;
                default:
-                       if (channel->band == IEEE80211_BAND_5GHZ) {
+                       if (channel->band == NL80211_BAND_5GHZ) {
                                /* Both sample_freq and chip_freq are 40MHz */
                                spur_delta_phase = (spur_offset << 17) / 25;
                                spur_freq_sigma_delta =
 
 int ath5k_hw_set_ifs_intervals(struct ath5k_hw *ah, unsigned int slot_time)
 {
        struct ieee80211_channel *channel = ah->ah_current_channel;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        struct ieee80211_rate *rate;
        u32 ack_tx_time, eifs, eifs_clock, sifs, sifs_clock;
         *
         * Also we have different lowest rate for 802.11a
         */
-       if (channel->band == IEEE80211_BAND_5GHZ)
-               band = IEEE80211_BAND_5GHZ;
+       if (channel->band == NL80211_BAND_5GHZ)
+               band = NL80211_BAND_5GHZ;
        else
-               band = IEEE80211_BAND_2GHZ;
+               band = NL80211_BAND_2GHZ;
 
        switch (ah->ah_bwmode) {
        case AR5K_BWMODE_5MHZ:
 
                        clock = AR5K_PHY_PLL_RF5111;            /*Zero*/
                }
 
-               if (channel->band == IEEE80211_BAND_2GHZ) {
+               if (channel->band == NL80211_BAND_2GHZ) {
                        mode |= AR5K_PHY_MODE_FREQ_2GHZ;
                        clock |= AR5K_PHY_PLL_44MHZ;
 
                                else
                                        mode |= AR5K_PHY_MODE_MOD_DYN;
                        }
-               } else if (channel->band == IEEE80211_BAND_5GHZ) {
+               } else if (channel->band == NL80211_BAND_5GHZ) {
                        mode |= (AR5K_PHY_MODE_FREQ_5GHZ |
                                 AR5K_PHY_MODE_MOD_OFDM);
 
                u32 data;
                ath5k_hw_reg_write(ah, AR5K_PHY_CCKTXCTL_WORLD,
                                AR5K_PHY_CCKTXCTL);
-               if (channel->band == IEEE80211_BAND_5GHZ)
+               if (channel->band == NL80211_BAND_5GHZ)
                        data = 0xffb81020;
                else
                        data = 0xffb80d20;
 
 }
 
 #define CHAN2G(_channel, _freq, _flags) {   \
-       .band           = IEEE80211_BAND_2GHZ,  \
+       .band           = NL80211_BAND_2GHZ,  \
        .hw_value       = (_channel),           \
        .center_freq    = (_freq),              \
        .flags          = (_flags),             \
 }
 
 #define CHAN5G(_channel, _flags) {                 \
-       .band           = IEEE80211_BAND_5GHZ,      \
+       .band           = NL80211_BAND_5GHZ,      \
        .hw_value       = (_channel),               \
        .center_freq    = 5000 + (5 * (_channel)),  \
        .flags          = (_flags),                 \
 }
 #endif
 
-static int ath6kl_set_htcap(struct ath6kl_vif *vif, enum ieee80211_band band,
+static int ath6kl_set_htcap(struct ath6kl_vif *vif, enum nl80211_band band,
                            bool ht_enable)
 {
        struct ath6kl_htcap *htcap = &vif->htcap[band];
        if (ht_enable) {
                /* Set default ht capabilities */
                htcap->ht_enable = true;
-               htcap->cap_info = (band == IEEE80211_BAND_2GHZ) ?
+               htcap->cap_info = (band == NL80211_BAND_2GHZ) ?
                                   ath6kl_g_htcap : ath6kl_a_htcap;
                htcap->ampdu_factor = IEEE80211_HT_MAX_AMPDU_16K;
        } else /* Disable ht */
        struct wiphy *wiphy = vif->ar->wiphy;
        int band, ret = 0;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                if (!wiphy->bands[band])
                        continue;
 
                                       struct regulatory_request *request)
 {
        struct ath6kl *ar = wiphy_priv(wiphy);
-       u32 rates[IEEE80211_NUM_BANDS];
+       u32 rates[NUM_NL80211_BANDS];
        int ret, i;
 
        ath6kl_dbg(ATH6KL_DBG_WLAN_CFG,
         * changed.
         */
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++)
+       for (i = 0; i < NUM_NL80211_BANDS; i++)
                if (wiphy->bands[i])
                        rates[i] = (1 << wiphy->bands[i]->n_bitrates) - 1;
 
        vif->listen_intvl_t = ATH6KL_DEFAULT_LISTEN_INTVAL;
        vif->bmiss_time_t = ATH6KL_DEFAULT_BMISS_TIME;
        vif->bg_scan_period = 0;
-       vif->htcap[IEEE80211_BAND_2GHZ].ht_enable = true;
-       vif->htcap[IEEE80211_BAND_5GHZ].ht_enable = true;
+       vif->htcap[NL80211_BAND_2GHZ].ht_enable = true;
+       vif->htcap[NL80211_BAND_5GHZ].ht_enable = true;
 
        memcpy(ndev->dev_addr, ar->mac_addr, ETH_ALEN);
        if (fw_vif_idx != 0) {
        wiphy->available_antennas_rx = ar->hw.rx_ant;
 
        if (band_2gig)
-               wiphy->bands[IEEE80211_BAND_2GHZ] = &ath6kl_band_2ghz;
+               wiphy->bands[NL80211_BAND_2GHZ] = &ath6kl_band_2ghz;
        if (band_5gig)
-               wiphy->bands[IEEE80211_BAND_5GHZ] = &ath6kl_band_5ghz;
+               wiphy->bands[NL80211_BAND_5GHZ] = &ath6kl_band_5ghz;
 
        wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
 
 
        struct ath6kl_wep_key wep_key_list[WMI_MAX_KEY_INDEX + 1];
        struct ath6kl_key keys[WMI_MAX_KEY_INDEX + 1];
        struct aggr_info *aggr_cntxt;
-       struct ath6kl_htcap htcap[IEEE80211_NUM_BANDS];
+       struct ath6kl_htcap htcap[NUM_NL80211_BANDS];
 
        struct timer_list disconnect_timer;
        struct timer_list sched_scan_timer;
 
        sc->no_cck = cpu_to_le32(no_cck);
        sc->num_ch = num_chan;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                sband = ar->wiphy->bands[band];
 
                if (!sband)
        memset(&ratemask, 0, sizeof(ratemask));
 
        /* only check 2.4 and 5 GHz bands, skip the rest */
-       for (band = 0; band <= IEEE80211_BAND_5GHZ; band++) {
+       for (band = 0; band <= NL80211_BAND_5GHZ; band++) {
                /* copy legacy rate mask */
                ratemask[band] = mask->control[band].legacy;
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        ratemask[band] =
                                mask->control[band].legacy << 4;
 
                if (mode == WMI_RATES_MODE_11A ||
                    mode == WMI_RATES_MODE_11A_HT20 ||
                    mode == WMI_RATES_MODE_11A_HT40)
-                       band = IEEE80211_BAND_5GHZ;
+                       band = NL80211_BAND_5GHZ;
                else
-                       band = IEEE80211_BAND_2GHZ;
+                       band = NL80211_BAND_2GHZ;
                cmd->ratemask[mode] = cpu_to_le64(ratemask[band]);
        }
 
        memset(&ratemask, 0, sizeof(ratemask));
 
        /* only check 2.4 and 5 GHz bands, skip the rest */
-       for (band = 0; band <= IEEE80211_BAND_5GHZ; band++) {
+       for (band = 0; band <= NL80211_BAND_5GHZ; band++) {
                /* copy legacy rate mask */
                ratemask[band] = mask->control[band].legacy;
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        ratemask[band] =
                                mask->control[band].legacy << 4;
 
                if (mode == WMI_RATES_MODE_11A ||
                    mode == WMI_RATES_MODE_11A_HT20 ||
                    mode == WMI_RATES_MODE_11A_HT40)
-                       band = IEEE80211_BAND_5GHZ;
+                       band = NL80211_BAND_5GHZ;
                else
-                       band = IEEE80211_BAND_2GHZ;
+                       band = NL80211_BAND_2GHZ;
                cmd->ratemask[mode] = cpu_to_le32(ratemask[band]);
        }
 
 }
 
 int ath6kl_wmi_set_htcap_cmd(struct wmi *wmi, u8 if_idx,
-                            enum ieee80211_band band,
+                            enum nl80211_band band,
                             struct ath6kl_htcap *htcap)
 {
        struct sk_buff *skb;
        cmd = (struct wmi_set_htcap_cmd *) skb->data;
 
        /*
-        * NOTE: Band in firmware matches enum ieee80211_band, it is unlikely
+        * NOTE: Band in firmware matches enum nl80211_band, it is unlikely
         * this will be changed in firmware. If at all there is any change in
         * band value, the host needs to be fixed.
         */
 
 int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 if_idx,
                                 u8 keep_alive_intvl);
 int ath6kl_wmi_set_htcap_cmd(struct wmi *wmi, u8 if_idx,
-                            enum ieee80211_band band,
+                            enum nl80211_band band,
                             struct ath6kl_htcap *htcap);
 int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len);
 
 
 }
 
 static bool ath9k_hw_get_nf_thresh(struct ath_hw *ah,
-                                  enum ieee80211_band band,
+                                  enum nl80211_band band,
                                   int16_t *nft)
 {
        switch (band) {
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                *nft = (int8_t)ah->eep_ops->get_eeprom(ah, EEP_NFTHRESH_5);
                break;
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                *nft = (int8_t)ah->eep_ops->get_eeprom(ah, EEP_NFTHRESH_2);
                break;
        default:
 
        struct ieee80211_channel *chan;
        int i, j;
 
-       sband = &common->sbands[IEEE80211_BAND_2GHZ];
+       sband = &common->sbands[NL80211_BAND_2GHZ];
        if (!sband->n_channels)
-               sband = &common->sbands[IEEE80211_BAND_5GHZ];
+               sband = &common->sbands[NL80211_BAND_5GHZ];
 
        chan = &sband->channels[0];
        for (i = 0; i < ATH9K_NUM_CHANCTX; i++) {
        struct ieee80211_channel *chan;
        int i;
 
-       sband = &common->sbands[IEEE80211_BAND_2GHZ];
+       sband = &common->sbands[NL80211_BAND_2GHZ];
        if (!sband->n_channels)
-               sband = &common->sbands[IEEE80211_BAND_5GHZ];
+               sband = &common->sbands[NL80211_BAND_5GHZ];
 
        chan = &sband->channels[0];
 
 
 #include "common.h"
 
 #define CHAN2G(_freq, _idx)  { \
-       .band = IEEE80211_BAND_2GHZ, \
+       .band = NL80211_BAND_2GHZ, \
        .center_freq = (_freq), \
        .hw_value = (_idx), \
        .max_power = 20, \
 }
 
 #define CHAN5G(_freq, _idx) { \
-       .band = IEEE80211_BAND_5GHZ, \
+       .band = NL80211_BAND_5GHZ, \
        .center_freq = (_freq), \
        .hw_value = (_idx), \
        .max_power = 20, \
 
                memcpy(channels, ath9k_2ghz_chantable,
                       sizeof(ath9k_2ghz_chantable));
-               common->sbands[IEEE80211_BAND_2GHZ].channels = channels;
-               common->sbands[IEEE80211_BAND_2GHZ].band = IEEE80211_BAND_2GHZ;
-               common->sbands[IEEE80211_BAND_2GHZ].n_channels =
+               common->sbands[NL80211_BAND_2GHZ].channels = channels;
+               common->sbands[NL80211_BAND_2GHZ].band = NL80211_BAND_2GHZ;
+               common->sbands[NL80211_BAND_2GHZ].n_channels =
                        ARRAY_SIZE(ath9k_2ghz_chantable);
-               common->sbands[IEEE80211_BAND_2GHZ].bitrates = ath9k_legacy_rates;
-               common->sbands[IEEE80211_BAND_2GHZ].n_bitrates =
+               common->sbands[NL80211_BAND_2GHZ].bitrates = ath9k_legacy_rates;
+               common->sbands[NL80211_BAND_2GHZ].n_bitrates =
                        ARRAY_SIZE(ath9k_legacy_rates);
        }
 
 
                memcpy(channels, ath9k_5ghz_chantable,
                       sizeof(ath9k_5ghz_chantable));
-               common->sbands[IEEE80211_BAND_5GHZ].channels = channels;
-               common->sbands[IEEE80211_BAND_5GHZ].band = IEEE80211_BAND_5GHZ;
-               common->sbands[IEEE80211_BAND_5GHZ].n_channels =
+               common->sbands[NL80211_BAND_5GHZ].channels = channels;
+               common->sbands[NL80211_BAND_5GHZ].band = NL80211_BAND_5GHZ;
+               common->sbands[NL80211_BAND_5GHZ].n_channels =
                        ARRAY_SIZE(ath9k_5ghz_chantable);
-               common->sbands[IEEE80211_BAND_5GHZ].bitrates =
+               common->sbands[NL80211_BAND_5GHZ].bitrates =
                        ath9k_legacy_rates + 4;
-               common->sbands[IEEE80211_BAND_5GHZ].n_bitrates =
+               common->sbands[NL80211_BAND_5GHZ].n_bitrates =
                        ARRAY_SIZE(ath9k_legacy_rates) - 4;
        }
        return 0;
 
        if (ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ)
                ath9k_cmn_setup_ht_cap(ah,
-                       &common->sbands[IEEE80211_BAND_2GHZ].ht_cap);
+                       &common->sbands[NL80211_BAND_2GHZ].ht_cap);
        if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
                ath9k_cmn_setup_ht_cap(ah,
-                       &common->sbands[IEEE80211_BAND_5GHZ].ht_cap);
+                       &common->sbands[NL80211_BAND_5GHZ].ht_cap);
 }
 EXPORT_SYMBOL(ath9k_cmn_reload_chainmask);
 
                           struct ieee80211_rx_status *rxs)
 {
        struct ieee80211_supported_band *sband;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        unsigned int i = 0;
        struct ath_hw *ah = common->ah;
 
        ichan->channel = chan->center_freq;
        ichan->chan = chan;
 
-       if (chan->band == IEEE80211_BAND_5GHZ)
+       if (chan->band == NL80211_BAND_5GHZ)
                flags |= CHANNEL_5GHZ;
 
        switch (chandef->width) {
 
        }
 
        if (IS_OFDM_RATE(rs->rs_rate)) {
-               if (ah->curchan->chan->band == IEEE80211_BAND_2GHZ)
+               if (ah->curchan->chan->band == NL80211_BAND_2GHZ)
                        rstats->ofdm_stats[rxs->rate_idx - 4].ofdm_cnt++;
                else
                        rstats->ofdm_stats[rxs->rate_idx].ofdm_cnt++;
        struct ath_hw *ah = sc->sc_ah;
        struct ath_rx_rate_stats *rstats;
        struct ieee80211_sta *sta = an->sta;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u32 len = 0, size = 4096;
        char *buf;
        size_t retval;
        len += scnprintf(buf + len, size - len, "\n");
 
 legacy:
-       if (band == IEEE80211_BAND_2GHZ) {
+       if (band == NL80211_BAND_2GHZ) {
                PRINT_CCK_RATE("CCK-1M/LP", 0, false);
                PRINT_CCK_RATE("CCK-2M/LP", 1, false);
                PRINT_CCK_RATE("CCK-5.5M/LP", 2, false);
 
                struct ieee80211_tx_rate *rates = info->status.rates;
 
                rate = &common->sbands[info->band].bitrates[rates[ridx].idx];
-               if (info->band == IEEE80211_BAND_2GHZ &&
+               if (info->band == NL80211_BAND_2GHZ &&
                    !(rate->flags & IEEE80211_RATE_ERP_G))
                        phy = WLAN_RC_PHY_CCK;
                else
 
                sizeof(struct htc_frame_hdr) + 4;
 
        if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ)
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
-                       &common->sbands[IEEE80211_BAND_2GHZ];
+               hw->wiphy->bands[NL80211_BAND_2GHZ] =
+                       &common->sbands[NL80211_BAND_2GHZ];
        if (priv->ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
-               hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
-                       &common->sbands[IEEE80211_BAND_5GHZ];
+               hw->wiphy->bands[NL80211_BAND_5GHZ] =
+                       &common->sbands[NL80211_BAND_5GHZ];
 
        ath9k_cmn_reload_chainmask(ah);
 
 
        memset(&tmask, 0, sizeof(struct ath9k_htc_target_rate_mask));
 
        tmask.vif_index = avp->index;
-       tmask.band = IEEE80211_BAND_2GHZ;
-       tmask.mask = cpu_to_be32(mask->control[IEEE80211_BAND_2GHZ].legacy);
+       tmask.band = NL80211_BAND_2GHZ;
+       tmask.mask = cpu_to_be32(mask->control[NL80211_BAND_2GHZ].legacy);
 
        WMI_CMD_BUF(WMI_BITRATE_MASK_CMDID, &tmask);
        if (ret) {
                goto out;
        }
 
-       tmask.band = IEEE80211_BAND_5GHZ;
-       tmask.mask = cpu_to_be32(mask->control[IEEE80211_BAND_5GHZ].legacy);
+       tmask.band = NL80211_BAND_5GHZ;
+       tmask.mask = cpu_to_be32(mask->control[NL80211_BAND_5GHZ].legacy);
 
        WMI_CMD_BUF(WMI_BITRATE_MASK_CMDID, &tmask);
        if (ret) {
        }
 
        ath_dbg(common, CONFIG, "Set bitrate masks: 0x%x, 0x%x\n",
-               mask->control[IEEE80211_BAND_2GHZ].legacy,
-               mask->control[IEEE80211_BAND_5GHZ].legacy);
+               mask->control[NL80211_BAND_2GHZ].legacy,
+               mask->control[NL80211_BAND_5GHZ].legacy);
 out:
        return ret;
 }
 
                if (txs->ts_flags & ATH9K_HTC_TXSTAT_SGI)
                        rate->flags |= IEEE80211_TX_RC_SHORT_GI;
        } else {
-               if (cur_conf->chandef.chan->band == IEEE80211_BAND_5GHZ)
+               if (cur_conf->chandef.chan->band == NL80211_BAND_5GHZ)
                        rate->idx += 4; /* No CCK rates */
        }
 
 
        struct ath9k_channel *curchan = ah->curchan;
 
        if (ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ)
-               ath9k_init_band_txpower(sc, IEEE80211_BAND_2GHZ);
+               ath9k_init_band_txpower(sc, NL80211_BAND_2GHZ);
        if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
-               ath9k_init_band_txpower(sc, IEEE80211_BAND_5GHZ);
+               ath9k_init_band_txpower(sc, NL80211_BAND_5GHZ);
 
        ah->curchan = curchan;
 }
        sc->ant_tx = hw->wiphy->available_antennas_tx;
 
        if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ)
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
-                       &common->sbands[IEEE80211_BAND_2GHZ];
+               hw->wiphy->bands[NL80211_BAND_2GHZ] =
+                       &common->sbands[NL80211_BAND_2GHZ];
        if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
-               hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
-                       &common->sbands[IEEE80211_BAND_5GHZ];
+               hw->wiphy->bands[NL80211_BAND_5GHZ] =
+                       &common->sbands[NL80211_BAND_5GHZ];
 
 #ifdef CONFIG_ATH9K_CHANNEL_CONTEXT
        ath9k_set_mcc_capab(sc, hw);
 
        if (idx == 0)
                ath_update_survey_stats(sc);
 
-       sband = hw->wiphy->bands[IEEE80211_BAND_2GHZ];
+       sband = hw->wiphy->bands[NL80211_BAND_2GHZ];
        if (sband && idx >= sband->n_channels) {
                idx -= sband->n_channels;
                sband = NULL;
        }
 
        if (!sband)
-               sband = hw->wiphy->bands[IEEE80211_BAND_5GHZ];
+               sband = hw->wiphy->bands[NL80211_BAND_5GHZ];
 
        if (!sband || idx >= sband->n_channels) {
                spin_unlock_bh(&common->cc_lock);
 
                                bool is_2ghz;
                                struct modal_eep_header *pmodal;
 
-                               is_2ghz = info->band == IEEE80211_BAND_2GHZ;
+                               is_2ghz = info->band == NL80211_BAND_2GHZ;
                                pmodal = &eep->modalHeader[is_2ghz];
                                power_ht40delta = pmodal->ht40PowerIncForPdadc;
                        } else {
 
                /* legacy rates */
                rate = &common->sbands[tx_info->band].bitrates[rates[i].idx];
-               if ((tx_info->band == IEEE80211_BAND_2GHZ) &&
+               if ((tx_info->band == NL80211_BAND_2GHZ) &&
                    !(rate->flags & IEEE80211_RATE_ERP_G))
                        phy = WLAN_RC_PHY_CCK;
                else
 
        if (conf_is_ht40(&ar->hw->conf))
                val = 0x010a;
        else {
-               if (ar->hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ)
+               if (ar->hw->conf.chandef.chan->band == NL80211_BAND_2GHZ)
                        val = 0x105;
                else
                        val = 0x104;
                rts_rate = 0x1da;
                cts_rate = 0x10a;
        } else {
-               if (ar->hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) {
+               if (ar->hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) {
                        /* 11 mbit CCK */
                        rts_rate = 033;
                        cts_rate = 003;
                return 0;
        }
 
-       if ((ar->hw->conf.chandef.chan->band == IEEE80211_BAND_5GHZ) ||
+       if ((ar->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ) ||
            vif->bss_conf.use_short_slot)
                slottime = 9;
 
        basic |= (vif->bss_conf.basic_rates & 0xff0) << 4;
        rcu_read_unlock();
 
-       if (ar->hw->conf.chandef.chan->band == IEEE80211_BAND_5GHZ)
+       if (ar->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ)
                mandatory = 0xff00; /* OFDM 6/9/12/18/24/36/48/54 */
        else
                mandatory = 0xff0f; /* OFDM (6/9../54) + CCK (1/2/5.5/11) */
                chains = AR9170_TX_PHY_TXCHAIN_1;
 
        switch (channel->band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                power = ar->power_2G_ofdm[0] & 0x3f;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                power = ar->power_5G_leg[0] & 0x3f;
                break;
        default:
 
                        return err;
        }
 
-       for (b = 0; b < IEEE80211_NUM_BANDS; b++) {
+       for (b = 0; b < NUM_NL80211_BANDS; b++) {
                band = ar->hw->wiphy->bands[b];
 
                if (!band)
        }
 
        if (ar->eeprom.operating_flags & AR9170_OPFLAG_2GHZ) {
-               ar->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
+               ar->hw->wiphy->bands[NL80211_BAND_2GHZ] =
                        &carl9170_band_2GHz;
                chans += carl9170_band_2GHz.n_channels;
                bands++;
        }
        if (ar->eeprom.operating_flags & AR9170_OPFLAG_5GHZ) {
-               ar->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
+               ar->hw->wiphy->bands[NL80211_BAND_5GHZ] =
                        &carl9170_band_5GHz;
                chans += carl9170_band_5GHz.n_channels;
                bands++;
 
        return carl9170_regwrite_result();
 }
 
-static int carl9170_init_phy(struct ar9170 *ar, enum ieee80211_band band)
+static int carl9170_init_phy(struct ar9170 *ar, enum nl80211_band band)
 {
        int i, err;
        u32 val;
-       bool is_2ghz = band == IEEE80211_BAND_2GHZ;
+       bool is_2ghz = band == NL80211_BAND_2GHZ;
        bool is_40mhz = conf_is_ht40(&ar->hw->conf);
 
        carl9170_regwrite_begin(ar);
        u8 f, tmp;
 
        switch (channel->band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                f = channel->center_freq - 2300;
                cal_freq_pier = ar->eeprom.cal_freq_pier_2G;
                i = AR5416_NUM_2G_CAL_PIERS - 1;
                break;
 
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                f = (channel->center_freq - 4800) / 5;
                cal_freq_pier = ar->eeprom.cal_freq_pier_5G;
                i = AR5416_NUM_5G_CAL_PIERS - 1;
                        int j;
 
                        switch (channel->band) {
-                       case IEEE80211_BAND_2GHZ:
+                       case NL80211_BAND_2GHZ:
                                cal_pier_data = &ar->eeprom.
                                        cal_pier_data_2G[chain][idx];
                                break;
 
-                       case IEEE80211_BAND_5GHZ:
+                       case NL80211_BAND_5GHZ:
                                cal_pier_data = &ar->eeprom.
                                        cal_pier_data_5G[chain][idx];
                                break;
                /* skip CTL and heavy clip for CTL_MKK and CTL_ETSI */
                return;
 
-       if (ar->hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) {
+       if (ar->hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) {
                modes = mode_list_2ghz;
                nr_modes = ARRAY_SIZE(mode_list_2ghz);
        } else {
                return err;
 
        err = carl9170_init_rf_banks_0_7(ar,
-                                        channel->band == IEEE80211_BAND_5GHZ);
+                                        channel->band == NL80211_BAND_5GHZ);
        if (err)
                return err;
 
                return err;
 
        err = carl9170_init_rf_bank4_pwr(ar,
-                                        channel->band == IEEE80211_BAND_5GHZ,
+                                        channel->band == NL80211_BAND_5GHZ,
                                         channel->center_freq, bw);
        if (err)
                return err;
 
 
                        return -EINVAL;
                }
-               if (status->band == IEEE80211_BAND_2GHZ)
+               if (status->band == NL80211_BAND_2GHZ)
                        status->rate_idx += 4;
                break;
 
 
                        /* +1 dBm for HT40 */
                        *tpc += 2;
 
-                       if (info->band == IEEE80211_BAND_2GHZ)
+                       if (info->band == NL80211_BAND_2GHZ)
                                txpower = ar->power_2G_ht40;
                        else
                                txpower = ar->power_5G_ht40;
                } else {
-                       if (info->band == IEEE80211_BAND_2GHZ)
+                       if (info->band == NL80211_BAND_2GHZ)
                                txpower = ar->power_2G_ht20;
                        else
                                txpower = ar->power_5G_ht20;
                *phyrate = txrate->idx;
                *tpc += txpower[idx & 7];
        } else {
-               if (info->band == IEEE80211_BAND_2GHZ) {
+               if (info->band == NL80211_BAND_2GHZ) {
                        if (idx < 4)
                                txpower = ar->power_2G_cck;
                        else
                 * tmp |= cpu_to_le32(AR9170_TX_PHY_GREENFIELD);
                 */
        } else {
-               if (info->band == IEEE80211_BAND_2GHZ) {
+               if (info->band == NL80211_BAND_2GHZ) {
                        if (txrate->idx <= AR9170_TX_PHY_RATE_CCK_11M)
                                tmp |= cpu_to_le32(AR9170_TX_PHY_MOD_CCK);
                        else
 
                              struct ath_regulatory *reg,
                              enum nl80211_reg_initiator initiator)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        struct ieee80211_channel *ch;
        unsigned int i;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                if (!wiphy->bands[band])
                        continue;
                sband = wiphy->bands[band];
 {
        struct ieee80211_supported_band *sband;
 
-       sband = wiphy->bands[IEEE80211_BAND_2GHZ];
+       sband = wiphy->bands[NL80211_BAND_2GHZ];
        if (!sband)
                return;
 
        struct ieee80211_channel *ch;
        unsigned int i;
 
-       if (!wiphy->bands[IEEE80211_BAND_5GHZ])
+       if (!wiphy->bands[NL80211_BAND_5GHZ])
                return;
 
-       sband = wiphy->bands[IEEE80211_BAND_5GHZ];
+       sband = wiphy->bands[NL80211_BAND_5GHZ];
 
        for (i = 0; i < sband->n_channels; i++) {
                ch = &sband->channels[i];
 EXPORT_SYMBOL(ath_regd_init);
 
 u32 ath_regd_get_band_ctl(struct ath_regulatory *reg,
-                         enum ieee80211_band band)
+                         enum nl80211_band band)
 {
        if (!reg->regpair ||
            (reg->country_code == CTRY_DEFAULT &&
        }
 
        switch (band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                return reg->regpair->reg_2ghz_ctl;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                return reg->regpair->reg_5ghz_ctl;
        default:
                return NO_CTL;
 
                  void (*reg_notifier)(struct wiphy *wiphy,
                                       struct regulatory_request *request));
 u32 ath_regd_get_band_ctl(struct ath_regulatory *reg,
-                         enum ieee80211_band band);
+                         enum nl80211_band band);
 void ath_reg_notifier_apply(struct wiphy *wiphy,
                            struct regulatory_request *request,
                            struct ath_regulatory *reg);
 
 MODULE_PARM_DESC(debug_mask, "Debugging mask");
 
 #define CHAN2G(_freq, _idx) { \
-       .band = IEEE80211_BAND_2GHZ, \
+       .band = NL80211_BAND_2GHZ, \
        .center_freq = (_freq), \
        .hw_value = (_idx), \
        .max_power = 25, \
 }
 
 #define CHAN5G(_freq, _idx) { \
-       .band = IEEE80211_BAND_5GHZ, \
+       .band = NL80211_BAND_5GHZ, \
        .center_freq = (_freq), \
        .hw_value = (_idx), \
        .max_power = 25, \
 }
 
 static void wcn36xx_update_allowed_rates(struct ieee80211_sta *sta,
-                                        enum ieee80211_band band)
+                                        enum nl80211_band band)
 {
        int i, size;
        u16 *rates_table;
 
        size = ARRAY_SIZE(sta_priv->supported_rates.dsss_rates);
        rates_table = sta_priv->supported_rates.dsss_rates;
-       if (band == IEEE80211_BAND_2GHZ) {
+       if (band == NL80211_BAND_2GHZ) {
                for (i = 0; i < size; i++) {
                        if (rates & 0x01) {
                                rates_table[i] = wcn_2ghz_rates[i].hw_value;
                BIT(NL80211_IFTYPE_ADHOC) |
                BIT(NL80211_IFTYPE_MESH_POINT);
 
-       wcn->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &wcn_band_2ghz;
-       wcn->hw->wiphy->bands[IEEE80211_BAND_5GHZ] = &wcn_band_5ghz;
+       wcn->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wcn_band_2ghz;
+       wcn->hw->wiphy->bands[NL80211_BAND_5GHZ] = &wcn_band_5ghz;
 
        wcn->hw->wiphy->cipher_suites = cipher_suites;
        wcn->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
 
                struct ieee80211_sta *sta,
                struct wcn36xx_hal_config_bss_params *bss_params)
 {
-       if (IEEE80211_BAND_5GHZ == WCN36XX_BAND(wcn))
+       if (NL80211_BAND_5GHZ == WCN36XX_BAND(wcn))
                bss_params->nw_type = WCN36XX_HAL_11A_NW_TYPE;
        else if (sta && sta->ht_cap.ht_supported)
                bss_params->nw_type = WCN36XX_HAL_11N_NW_TYPE;
-       else if (sta && (sta->supp_rates[IEEE80211_BAND_2GHZ] & 0x7f))
+       else if (sta && (sta->supp_rates[NL80211_BAND_2GHZ] & 0x7f))
                bss_params->nw_type = WCN36XX_HAL_11G_NW_TYPE;
        else
                bss_params->nw_type = WCN36XX_HAL_11B_NW_TYPE;
 
 
        /* default rate for unicast */
        if (ieee80211_is_mgmt(hdr->frame_control))
-               bd->bd_rate = (WCN36XX_BAND(wcn) == IEEE80211_BAND_5GHZ) ?
+               bd->bd_rate = (WCN36XX_BAND(wcn) == NL80211_BAND_5GHZ) ?
                        WCN36XX_BD_RATE_CTRL :
                        WCN36XX_BD_RATE_MGMT;
        else if (ieee80211_is_ctl(hdr->frame_control))
 
 #define WIL_MAX_ROC_DURATION_MS 5000
 
 #define CHAN60G(_channel, _flags) {                            \
-       .band                   = IEEE80211_BAND_60GHZ,         \
+       .band                   = NL80211_BAND_60GHZ,           \
        .center_freq            = 56160 + (2160 * (_channel)),  \
        .hw_value               = (_channel),                   \
        .flags                  = (_flags),                     \
                NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 |
                NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P;
 
-       wiphy->bands[IEEE80211_BAND_60GHZ] = &wil_band_60ghz;
+       wiphy->bands[NL80211_BAND_60GHZ] = &wil_band_60ghz;
 
        /* TODO: figure this out */
        wiphy->signal_type = CFG80211_SIGNAL_TYPE_UNSPEC;
 
 
        wdev->iftype = NL80211_IFTYPE_STATION; /* TODO */
        /* default monitor channel */
-       ch = wdev->wiphy->bands[IEEE80211_BAND_60GHZ]->channels;
+       ch = wdev->wiphy->bands[NL80211_BAND_60GHZ]->channels;
        cfg80211_chandef_create(&wdev->preset_chandef, ch, NL80211_CHAN_NO_HT);
 
        ndev = alloc_netdev(0, "wlan%d", NET_NAME_UNKNOWN, wil_dev_setup);
 
        }
 
        ch_no = data->info.channel + 1;
-       freq = ieee80211_channel_to_frequency(ch_no, IEEE80211_BAND_60GHZ);
+       freq = ieee80211_channel_to_frequency(ch_no, NL80211_BAND_60GHZ);
        channel = ieee80211_get_channel(wiphy, freq);
        signal = data->info.sqi;
        d_status = le16_to_cpu(data->info.status);
 
                channel = el[2];
 
 exit:
-       return ieee80211_channel_to_frequency(channel, IEEE80211_BAND_2GHZ);
+       return ieee80211_channel_to_frequency(channel, NL80211_BAND_2GHZ);
 }
 
 static void at76_rx_tasklet(unsigned long param)
        rx_status.signal = buf->rssi;
        rx_status.flag |= RX_FLAG_DECRYPTED;
        rx_status.flag |= RX_FLAG_IV_STRIPPED;
-       rx_status.band = IEEE80211_BAND_2GHZ;
+       rx_status.band = NL80211_BAND_2GHZ;
        rx_status.freq = at76_guess_freq(priv);
 
        at76_dbg(DBG_MAC80211, "calling ieee80211_rx_irqsafe(): %d/%d",
        priv->hw->wiphy->max_scan_ssids = 1;
        priv->hw->wiphy->max_scan_ie_len = 0;
        priv->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
-       priv->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &at76_supported_band;
+       priv->hw->wiphy->bands[NL80211_BAND_2GHZ] = &at76_supported_band;
        ieee80211_hw_set(priv->hw, RX_INCLUDES_FCS);
        ieee80211_hw_set(priv->hw, SIGNAL_UNSPEC);
        priv->hw->max_signal = 100;
 
 
                        /* Values in MHz -> * 10^5 * 10 */
                        range->freq[k].m = 100000 *
-                        ieee80211_channel_to_frequency(i, IEEE80211_BAND_2GHZ);
+                        ieee80211_channel_to_frequency(i, NL80211_BAND_2GHZ);
                        range->freq[k++].e = 1;
                }
                range->num_frequency = k;
 
 
 /**
  * b43_current_band - Returns the currently used band.
- * Returns one of IEEE80211_BAND_2GHZ and IEEE80211_BAND_5GHZ.
+ * Returns one of NL80211_BAND_2GHZ and NL80211_BAND_5GHZ.
  */
-static inline enum ieee80211_band b43_current_band(struct b43_wl *wl)
+static inline enum nl80211_band b43_current_band(struct b43_wl *wl)
 {
        return wl->hw->conf.chandef.chan->band;
 }
 
 #define b43_g_ratetable_size   12
 
 #define CHAN2G(_channel, _freq, _flags) {                      \
-       .band                   = IEEE80211_BAND_2GHZ,          \
+       .band                   = NL80211_BAND_2GHZ,            \
        .center_freq            = (_freq),                      \
        .hw_value               = (_channel),                   \
        .flags                  = (_flags),                     \
 #undef CHAN2G
 
 #define CHAN4G(_channel, _flags) {                             \
-       .band                   = IEEE80211_BAND_5GHZ,          \
+       .band                   = NL80211_BAND_5GHZ,            \
        .center_freq            = 4000 + (5 * (_channel)),      \
        .hw_value               = (_channel),                   \
        .flags                  = (_flags),                     \
        .max_power              = 30,                           \
 }
 #define CHAN5G(_channel, _flags) {                             \
-       .band                   = IEEE80211_BAND_5GHZ,          \
+       .band                   = NL80211_BAND_5GHZ,            \
        .center_freq            = 5000 + (5 * (_channel)),      \
        .hw_value               = (_channel),                   \
        .flags                  = (_flags),                     \
 #undef CHAN5G
 
 static struct ieee80211_supported_band b43_band_5GHz_nphy = {
-       .band           = IEEE80211_BAND_5GHZ,
+       .band           = NL80211_BAND_5GHZ,
        .channels       = b43_5ghz_nphy_chantable,
        .n_channels     = ARRAY_SIZE(b43_5ghz_nphy_chantable),
        .bitrates       = b43_a_ratetable,
 };
 
 static struct ieee80211_supported_band b43_band_5GHz_nphy_limited = {
-       .band           = IEEE80211_BAND_5GHZ,
+       .band           = NL80211_BAND_5GHZ,
        .channels       = b43_5ghz_nphy_chantable_limited,
        .n_channels     = ARRAY_SIZE(b43_5ghz_nphy_chantable_limited),
        .bitrates       = b43_a_ratetable,
 };
 
 static struct ieee80211_supported_band b43_band_5GHz_aphy = {
-       .band           = IEEE80211_BAND_5GHZ,
+       .band           = NL80211_BAND_5GHZ,
        .channels       = b43_5ghz_aphy_chantable,
        .n_channels     = ARRAY_SIZE(b43_5ghz_aphy_chantable),
        .bitrates       = b43_a_ratetable,
 };
 
 static struct ieee80211_supported_band b43_band_2GHz = {
-       .band           = IEEE80211_BAND_2GHZ,
+       .band           = NL80211_BAND_2GHZ,
        .channels       = b43_2ghz_chantable,
        .n_channels     = ARRAY_SIZE(b43_2ghz_chantable),
        .bitrates       = b43_g_ratetable,
 };
 
 static struct ieee80211_supported_band b43_band_2ghz_limited = {
-       .band           = IEEE80211_BAND_2GHZ,
+       .band           = NL80211_BAND_2GHZ,
        .channels       = b43_2ghz_chantable,
        .n_channels     = b43_2ghz_chantable_limited_size,
        .bitrates       = b43_g_ratetable,
 {
        /* slot_time is in usec. */
        /* This test used to exit for all but a G PHY. */
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                return;
        b43_write16(dev, B43_MMIO_IFSSLOT, 510 + slot_time);
        /* Shared memory location 0x0010 is the slot time and should be
        mutex_unlock(&wl->mutex);
 }
 
-static const char *band_to_string(enum ieee80211_band band)
+static const char *band_to_string(enum nl80211_band band)
 {
        switch (band) {
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                return "5";
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                return "2.4";
        default:
                break;
        u32 tmp;
 
        switch (chan->band) {
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                gmode = false;
                break;
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                gmode = true;
                break;
        default:
                     phy->radio_rev == 9;
 
        if (have_2ghz_phy)
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] = limited_2g ?
+               hw->wiphy->bands[NL80211_BAND_2GHZ] = limited_2g ?
                        &b43_band_2ghz_limited : &b43_band_2GHz;
        if (dev->phy.type == B43_PHYTYPE_N) {
                if (have_5ghz_phy)
-                       hw->wiphy->bands[IEEE80211_BAND_5GHZ] = limited_5g ?
+                       hw->wiphy->bands[NL80211_BAND_5GHZ] = limited_5g ?
                                &b43_band_5GHz_nphy_limited :
                                &b43_band_5GHz_nphy;
        } else {
                if (have_5ghz_phy)
-                       hw->wiphy->bands[IEEE80211_BAND_5GHZ] = &b43_band_5GHz_aphy;
+                       hw->wiphy->bands[NL80211_BAND_5GHZ] = &b43_band_5GHz_aphy;
        }
 
        dev->phy.supports_2ghz = have_2ghz_phy;
 
 
 static unsigned int b43_phy_ac_op_get_default_chan(struct b43_wldev *dev)
 {
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                return 11;
        return 36;
 }
 
         * firmware from sending ghost packets.
         */
        channelcookie = new_channel;
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                channelcookie |= B43_SHM_SH_CHAN_5GHZ;
        /* FIXME: set 40Mhz flag if required */
        if (0)
 
        } else {
                b43_phy_set(dev, B43_PHY_HT_TXPCTL_CMD_C1, en_bits);
 
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                        for (i = 0; i < 3; i++)
                                b43_phy_write(dev, cmd_regs[i], 0x32);
                }
        u16 freq = dev->phy.chandef->chan->center_freq;
        int i, c;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                for (c = 0; c < 3; c++) {
                        target[c] = sprom->core_pwr_info[c].maxpwr_2g;
                        a1[c] = sprom->core_pwr_info[c].pa_2g[0];
                                const struct b43_phy_ht_channeltab_e_phy *e,
                                struct ieee80211_channel *new_channel)
 {
-       if (new_channel->band == IEEE80211_BAND_5GHZ) {
+       if (new_channel->band == NL80211_BAND_5GHZ) {
                /* Switch to 2 GHz for a moment to access B-PHY regs */
                b43_phy_mask(dev, B43_PHY_HT_BANDCTL, ~B43_PHY_HT_BANDCTL_5GHZ);
 
        } else {
                b43_phy_ht_classifier(dev, B43_PHY_HT_CLASS_CTL_OFDM_EN,
                                      B43_PHY_HT_CLASS_CTL_OFDM_EN);
-               if (new_channel->band == IEEE80211_BAND_2GHZ)
+               if (new_channel->band == NL80211_BAND_2GHZ)
                        b43_phy_mask(dev, B43_PHY_HT_TEST, ~0x840);
        }
 
        if (0) /* TODO: condition */
                ; /* TODO: PHY op on reg 0x217 */
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                b43_phy_ht_classifier(dev, B43_PHY_HT_CLASS_CTL_CCK_EN, 0);
        else
                b43_phy_ht_classifier(dev, B43_PHY_HT_CLASS_CTL_CCK_EN,
        b43_phy_ht_classifier(dev, 0, 0);
        b43_phy_ht_read_clip_detection(dev, clip_state);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                b43_phy_ht_bphy_init(dev);
 
        b43_httab_write_bulk(dev, B43_HTTAB32(0x1a, 0xc0),
        enum nl80211_channel_type channel_type =
                cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                if ((new_channel < 1) || (new_channel > 14))
                        return -EINVAL;
        } else {
 
 static unsigned int b43_phy_ht_op_get_default_chan(struct b43_wldev *dev)
 {
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                return 11;
        return 36;
 }
 
 /* wlc_radio_2064_init */
 static void b43_radio_2064_init(struct b43_wldev *dev)
 {
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                b43_radio_write(dev, 0x09c, 0x0020);
                b43_radio_write(dev, 0x105, 0x0008);
        } else {
        b43_mac_suspend(dev);
 
        if (!dev->phy.lcn->hw_pwr_ctl_capable) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        tx_gains.gm_gain = 4;
                        tx_gains.pga_gain = 12;
                        tx_gains.pad_gain = 12;
        else
                B43_WARN_ON(1);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                b43_phy_lcn_tx_pwr_ctl_init(dev);
 
        b43_switch_channel(dev, dev->phy.channel);
        enum nl80211_channel_type channel_type =
                cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                if ((new_channel < 1) || (new_channel > 14))
                        return -EINVAL;
        } else {
 
 static unsigned int b43_phy_lcn_op_get_default_chan(struct b43_wldev *dev)
 {
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                return 1;
        return 36;
 }
 
 
 static unsigned int b43_lpphy_op_get_default_chan(struct b43_wldev *dev)
 {
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                return 1;
        return 36;
 }
        u32 ofdmpo;
        int i;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                lpphy->tx_isolation_med_band = sprom->tri2g;
                lpphy->bx_arch = sprom->bxa2g;
                lpphy->rx_pwr_offset = sprom->rxpo2g;
 
        B43_WARN_ON(dev->phy.rev >= 2);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                isolation = lpphy->tx_isolation_med_band;
        else if (freq <= 5320)
                isolation = lpphy->tx_isolation_low_band;
        b43_phy_maskset(dev, B43_LPPHY_INPUT_PWRDB,
                        0xFF00, lpphy->rx_pwr_offset);
        if ((sprom->boardflags_lo & B43_BFL_FEM) &&
-          ((b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) ||
+          ((b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ||
           (sprom->boardflags_hi & B43_BFH_PAREF))) {
                ssb_pmu_set_ldo_voltage(&bus->chipco, LDO_PAREF, 0x28);
                ssb_pmu_set_ldo_paref(&bus->chipco, true);
                b43_phy_maskset(dev, B43_LPPHY_TR_LOOKUP_7, 0xC0FF, 0x0900);
                b43_phy_maskset(dev, B43_LPPHY_TR_LOOKUP_8, 0xFFC0, 0x000A);
                b43_phy_maskset(dev, B43_LPPHY_TR_LOOKUP_8, 0xC0FF, 0x0B00);
-       } else if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ ||
+       } else if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ ||
                   (dev->dev->board_type == SSB_BOARD_BU4312) ||
                   (dev->phy.rev == 0 && (sprom->boardflags_lo & B43_BFL_FEM))) {
                b43_phy_maskset(dev, B43_LPPHY_TR_LOOKUP_1, 0xFFC0, 0x0001);
                //FIXME the Broadcom driver caches & delays this HF write!
                b43_hf_write(dev, b43_hf_read(dev) | B43_HF_PR45960W);
        }
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                b43_phy_set(dev, B43_LPPHY_LP_PHY_CTL, 0x8000);
                b43_phy_set(dev, B43_LPPHY_CRSGAIN_CTL, 0x0040);
                b43_phy_maskset(dev, B43_LPPHY_MINPWR_LEVEL, 0x00FF, 0xA400);
                b43_lptab_write(dev, B43_LPTAB16(0x08, 0x12), 0x40);
        }
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                b43_phy_set(dev, B43_LPPHY_CRSGAIN_CTL, 0x40);
                b43_phy_maskset(dev, B43_LPPHY_CRSGAIN_CTL, 0xF0FF, 0xB00);
                b43_phy_maskset(dev, B43_LPPHY_SYNCPEAKCNT, 0xFFF8, 0x6);
                b43_radio_write(dev, B2062_S_BG_CTL1,
                        (b43_radio_read(dev, B2062_N_COMM2) >> 1) | 0x80);
        }
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                b43_radio_set(dev, B2062_N_TSSI_CTL0, 0x1);
        else
                b43_radio_mask(dev, B2062_N_TSSI_CTL0, ~0x1);
                lpphy->crs_sys_disable = false;
 
        if (!lpphy->crs_usr_disable && !lpphy->crs_sys_disable) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                        b43_phy_maskset(dev, B43_LPPHY_CRSGAIN_CTL,
                                        0xFF1F, 0x60);
                else
        b43_phy_mask(dev, B43_LPPHY_RF_OVERRIDE_0, 0xFFBF);
        if (dev->phy.rev >= 2) {
                b43_phy_mask(dev, B43_LPPHY_RF_OVERRIDE_2, 0xFEFF);
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        b43_phy_mask(dev, B43_LPPHY_RF_OVERRIDE_2, 0xFBFF);
                        b43_phy_mask(dev, B43_PHY_OFDM(0xE5), 0xFFF7);
                }
        b43_phy_set(dev, B43_LPPHY_RF_OVERRIDE_0, 0x40);
        if (dev->phy.rev >= 2) {
                b43_phy_set(dev, B43_LPPHY_RF_OVERRIDE_2, 0x100);
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        b43_phy_set(dev, B43_LPPHY_RF_OVERRIDE_2, 0x400);
                        b43_phy_set(dev, B43_PHY_OFDM(0xE5), 0x8);
                }
                        0xFBFF, ext_lna << 10);
        b43_phy_write(dev, B43_LPPHY_RX_GAIN_CTL_OVERRIDE_VAL, low_gain);
        b43_phy_maskset(dev, B43_LPPHY_AFE_DDFS, 0xFFF0, high_gain);
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                tmp = (gain >> 2) & 0x3;
                b43_phy_maskset(dev, B43_LPPHY_RF_OVERRIDE_2_VAL,
                                0xE7FF, tmp<<11);
        if (dev->phy.rev >= 2) {
                lpphy_rev2plus_rc_calib(dev);
        } else if (!lpphy->rc_cap) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                        lpphy_rev0_1_rc_calib(dev);
        } else {
                lpphy_set_rc_cap(dev);
 {
        struct lpphy_tx_gains gains;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                gains.gm = 4;
                gains.pad = 12;
                gains.pga = 12;
 
        lpphy_set_trsw_over(dev, tx, rx);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                b43_phy_set(dev, B43_LPPHY_RF_OVERRIDE_0, 0x8);
                b43_phy_maskset(dev, B43_LPPHY_RF_OVERRIDE_VAL_0,
                                0xFFF7, pa << 3);
 
 
 static inline bool b43_nphy_ipa(struct b43_wldev *dev)
 {
-       enum ieee80211_band band = b43_current_band(dev->wl);
-       return ((dev->phy.n->ipa2g_on && band == IEEE80211_BAND_2GHZ) ||
-               (dev->phy.n->ipa5g_on && band == IEEE80211_BAND_5GHZ));
+       enum nl80211_band band = b43_current_band(dev->wl);
+       return ((dev->phy.n->ipa2g_on && band == NL80211_BAND_2GHZ) ||
+               (dev->phy.n->ipa5g_on && band == NL80211_BAND_5GHZ));
 }
 
 /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/RxCoreGetState */
                        break;
                case N_INTC_OVERRIDE_PA:
                        tmp = 0x0030;
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+                       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                                val = value << 5;
                        else
                                val = value << 4;
                        b43_phy_set(dev, reg, 0x1000);
                        break;
                case N_INTC_OVERRIDE_EXT_LNA_PU:
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+                       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                                tmp = 0x0001;
                                tmp2 = 0x0004;
                                val = value;
                        b43_phy_mask(dev, reg, ~tmp2);
                        break;
                case N_INTC_OVERRIDE_EXT_LNA_GAIN:
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+                       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                                tmp = 0x0002;
                                tmp2 = 0x0008;
                                val = value << 1;
                        }
                        break;
                case N_INTC_OVERRIDE_PA:
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+                       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                                tmp = 0x0020;
                                val = value << 5;
                        } else {
                        b43_phy_maskset(dev, reg, ~tmp, val);
                        break;
                case N_INTC_OVERRIDE_EXT_LNA_PU:
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+                       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                                tmp = 0x0001;
                                val = value;
                        } else {
                        b43_phy_maskset(dev, reg, ~tmp, val);
                        break;
                case N_INTC_OVERRIDE_EXT_LNA_GAIN:
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+                       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                                tmp = 0x0002;
                                val = value << 1;
                        } else {
                b43_nphy_stay_in_carrier_search(dev, 1);
 
        if (nphy->gain_boost) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        gain[0] = 6;
                        gain[1] = 6;
                } else {
        switch (phy->radio_rev) {
        case 0 ... 4:
        case 6:
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        b43_radio_write(dev, R2057_RFPLL_LOOPFILTER_R1, 0x3f);
                        b43_radio_write(dev, R2057_CP_KPD_IDAC, 0x3f);
                        b43_radio_write(dev, R2057_RFPLL_LOOPFILTER_C1, 0x8);
        case 9: /* e.g. PHY rev 16 */
                b43_radio_write(dev, R2057_LOGEN_PTAT_RESETS, 0x20);
                b43_radio_write(dev, R2057_VCOBUF_IDACS, 0x18);
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                        b43_radio_write(dev, R2057_LOGEN_PTAT_RESETS, 0x38);
                        b43_radio_write(dev, R2057_VCOBUF_IDACS, 0x0f);
 
                break;
        }
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                u16 txmix2g_tune_boost_pu = 0;
                u16 pad2g_tune_pus = 0;
 
 {
        struct b43_phy *phy = &dev->phy;
        struct ssb_sprom *sprom = dev->dev->bus_sprom;
-       enum ieee80211_band band = b43_current_band(dev->wl);
+       enum nl80211_band band = b43_current_band(dev->wl);
        u16 offset;
        u8 i;
        u16 bias, cbias;
                 dev->dev->chip_pkg == BCMA_PKG_ID_BCM43224_FAB_SMIC);
 
        b43_chantab_radio_2056_upload(dev, e);
-       b2056_upload_syn_pll_cp2(dev, band == IEEE80211_BAND_5GHZ);
+       b2056_upload_syn_pll_cp2(dev, band == NL80211_BAND_5GHZ);
 
        if (sprom->boardflags2_lo & B43_BFL2_GPLL_WAR &&
-           b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+           b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER1, 0x1F);
                b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER2, 0x1F);
                if (dev->dev->chip_id == BCMA_CHIP_ID_BCM4716 ||
                }
        }
        if (sprom->boardflags2_hi & B43_BFH2_GPLL_WAR2 &&
-           b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+           b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER1, 0x1f);
                b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER2, 0x1f);
                b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER4, 0x0b);
                b43_radio_write(dev, B2056_SYN_PLL_CP2, 0x20);
        }
        if (sprom->boardflags2_lo & B43_BFL2_APLL_WAR &&
-           b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+           b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER1, 0x1F);
                b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER2, 0x1F);
                b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER4, 0x05);
                b43_radio_write(dev, B2056_SYN_PLL_CP2, 0x0C);
        }
 
-       if (dev->phy.n->ipa2g_on && band == IEEE80211_BAND_2GHZ) {
+       if (dev->phy.n->ipa2g_on && band == NL80211_BAND_2GHZ) {
                for (i = 0; i < 2; i++) {
                        offset = i ? B2056_TX1 : B2056_TX0;
                        if (dev->phy.rev >= 5) {
                        }
                        b43_radio_write(dev, offset | B2056_TX_PA_SPARE1, 0xee);
                }
-       } else if (dev->phy.n->ipa5g_on && band == IEEE80211_BAND_5GHZ) {
+       } else if (dev->phy.n->ipa5g_on && band == NL80211_BAND_5GHZ) {
                u16 freq = phy->chandef->chan->center_freq;
                if (freq < 5100) {
                        paa_boost = 0xA;
                /* Follow wl, not specs. Do not force uploading all regs */
                b2055_upload_inittab(dev, 0, 0);
        } else {
-               bool ghz5 = b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ;
+               bool ghz5 = b43_current_band(dev->wl) == NL80211_BAND_5GHZ;
                b2055_upload_inittab(dev, ghz5, 0);
        }
        b43_radio_init2055_post(dev);
                                b43_phy_maskset(dev, reg, 0xFFC3, 0);
 
                                if (rssi_type == N_RSSI_W1)
-                                       val = (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) ? 4 : 8;
+                                       val = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ? 4 : 8;
                                else if (rssi_type == N_RSSI_W2)
                                        val = 16;
                                else
 
                                if (rssi_type != N_RSSI_IQ &&
                                    rssi_type != N_RSSI_TBD) {
-                                       enum ieee80211_band band =
+                                       enum nl80211_band band =
                                                b43_current_band(dev->wl);
 
                                        if (dev->phy.rev < 7) {
                                                if (b43_nphy_ipa(dev))
-                                                       val = (band == IEEE80211_BAND_5GHZ) ? 0xC : 0xE;
+                                                       val = (band == NL80211_BAND_5GHZ) ? 0xC : 0xE;
                                                else
                                                        val = 0x11;
                                                reg = (i == 0) ? B2056_TX0 : B2056_TX1;
                                                     1, 0, false);
                b43_nphy_rf_ctl_override_rev7(dev, 0x80, 1, 0, false, 0);
                b43_nphy_rf_ctl_override_rev7(dev, 0x40, 1, 0, false, 0);
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                        b43_nphy_rf_ctl_override_rev7(dev, 0x20, 0, 0, false,
                                                      0);
                        b43_nphy_rf_ctl_override_rev7(dev, 0x10, 1, 0, false,
                b43_nphy_rf_ctl_override(dev, 0x2, 1, 0, false);
                b43_nphy_rf_ctl_override(dev, 0x80, 1, 0, false);
                b43_nphy_rf_ctl_override(dev, 0x40, 1, 0, false);
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                        b43_nphy_rf_ctl_override(dev, 0x20, 0, 0, false);
                        b43_nphy_rf_ctl_override(dev, 0x10, 1, 0, false);
                } else {
                b43_phy_write(dev, regs_to_store[i], saved_regs_phy[i]);
 
        /* Store for future configuration */
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                rssical_radio_regs = nphy->rssical_cache.rssical_radio_regs_2G;
                rssical_phy_regs = nphy->rssical_cache.rssical_phy_regs_2G;
        } else {
        rssical_phy_regs[11] = b43_phy_read(dev, B43_NPHY_RSSIMC_1Q_RSSI_Y);
 
        /* Remember for which channel we store configuration */
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                nphy->rssical_chanspec_2G.center_freq = phy->chandef->chan->center_freq;
        else
                nphy->rssical_chanspec_5G.center_freq = phy->chandef->chan->center_freq;
        b43_nphy_read_clip_detection(dev, clip_state);
        b43_nphy_write_clip_detection(dev, clip_off);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                override = 0x140;
        else
                override = 0x110;
        b43_phy_write(dev, B43_NPHY_CCK_SHIFTB_REF, 0x809C);
 
        if (nphy->gain_boost) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ &&
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ &&
                    b43_is_40mhz(dev))
                        code = 4;
                else
                ~B43_NPHY_OVER_DGAIN_CCKDGECV & 0xFFFF,
                0x5A << B43_NPHY_OVER_DGAIN_CCKDGECV_SHIFT);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                b43_phy_maskset(dev, B43_PHY_N(0xC5D), 0xFF80, 4);
 }
 
        scap_val = b43_radio_read(dev, R2057_RCCAL_SCAP_VAL);
 
        if (b43_nphy_ipa(dev)) {
-               bool ghz2 = b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ;
+               bool ghz2 = b43_current_band(dev->wl) == NL80211_BAND_2GHZ;
 
                switch (phy->radio_rev) {
                case 5:
                                bcap_val_11b[core] = bcap_val;
                                lpf_ofdm_20mhz[core] = 4;
                                lpf_11b[core] = 1;
-                               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+                               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                                        scap_val_11n_20[core] = 0xc;
                                        bcap_val_11n_20[core] = 0xc;
                                        scap_val_11n_40[core] = 0xa;
                        conv = 0x7f;
                        filt = 0xee;
                }
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        for (core = 0; core < 2; core++) {
                                if (core == 0) {
                                        b43_radio_write(dev, 0x5F, bias);
        }
 
        if (b43_nphy_ipa(dev)) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        if (phy->radio_rev == 3 || phy->radio_rev == 4 ||
                            phy->radio_rev == 6) {
                                for (core = 0; core < 2; core++) {
                                         ARRAY_SIZE(rx2tx_events));
        }
 
-       tmp16 = (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) ?
+       tmp16 = (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) ?
                0x2 : 0x9C40;
        b43_phy_write(dev, B43_NPHY_ENDROP_TLEN, tmp16);
 
        b43_ntab_write(dev, B43_NTAB16(8, 0), 2);
        b43_ntab_write(dev, B43_NTAB16(8, 16), 2);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                pdet_range = sprom->fem.ghz2.pdet_range;
        else
                pdet_range = sprom->fem.ghz5.pdet_range;
        switch (pdet_range) {
        case 3:
                if (!(dev->phy.rev >= 4 &&
-                     b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ))
+                     b43_current_band(dev->wl) == NL80211_BAND_2GHZ))
                        break;
                /* FALL THROUGH */
        case 0:
                break;
        case 2:
                if (dev->phy.rev >= 6) {
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+                       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                                vmid[3] = 0x94;
                        else
                                vmid[3] = 0x8e;
                break;
        case 4:
        case 5:
-               if (b43_current_band(dev->wl) != IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) != NL80211_BAND_2GHZ) {
                        if (pdet_range == 4) {
                                vmid[3] = 0x8e;
                                tmp16 = 0x96;
        /* N PHY WAR TX Chain Update with hw_phytxchain as argument */
 
        if ((sprom->boardflags2_lo & B43_BFL2_APLL_WAR &&
-            b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) ||
+            b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ||
            (sprom->boardflags2_lo & B43_BFL2_GPLL_WAR &&
-            b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ))
+            b43_current_band(dev->wl) == NL80211_BAND_2GHZ))
                tmp32 = 0x00088888;
        else
                tmp32 = 0x88888888;
        b43_ntab_write(dev, B43_NTAB32(30, 3), tmp32);
 
        if (dev->phy.rev == 4 &&
-           b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+           b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                b43_radio_write(dev, B2056_TX0 | B2056_TX_GMBB_IDAC,
                                0x70);
                b43_radio_write(dev, B2056_TX1 | B2056_TX_GMBB_IDAC,
                delays1[5] = 0x14;
        }
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ &&
+       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ &&
            nphy->band5g_pwrgain) {
                b43_radio_mask(dev, B2055_C1_TX_RF_SPARE, ~0x8);
                b43_radio_mask(dev, B2055_C2_TX_RF_SPARE, ~0x8);
        struct b43_phy *phy = &dev->phy;
        struct b43_phy_n *nphy = phy->n;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                b43_nphy_classifier(dev, 1, 0);
        else
                b43_nphy_classifier(dev, 1, 1);
                gain = (target.pad[core]) | (target.pga[core] << 4) |
                        (target.txgm[core] << 8);
 
-               indx = (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) ?
+               indx = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ?
                        1 : 0;
                for (i = 0; i < 9; i++)
                        if (tbl_iqcal_gainparams[indx][i][0] == gain)
        struct b43_phy_n *nphy = dev->phy.n;
        u8 i;
        u16 bmask, val, tmp;
-       enum ieee80211_band band = b43_current_band(dev->wl);
+       enum nl80211_band band = b43_current_band(dev->wl);
 
        if (nphy->hang_avoid)
                b43_nphy_stay_in_carrier_search(dev, 1);
                }
                b43_phy_maskset(dev, B43_NPHY_TXPCTL_CMD, ~(bmask), val);
 
-               if (band == IEEE80211_BAND_5GHZ) {
+               if (band == NL80211_BAND_5GHZ) {
                        if (phy->rev >= 19) {
                                /* TODO */
                        } else if (phy->rev >= 7) {
                txpi[0] = 72;
                txpi[1] = 72;
        } else {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        txpi[0] = sprom->txpid2g[0];
                        txpi[1] = sprom->txpid2g[1];
                } else if (freq >= 4900 && freq < 5100) {
        } else if (phy->rev >= 7) {
                for (core = 0; core < 2; core++) {
                        r = core ? 0x190 : 0x170;
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+                       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                                b43_radio_write(dev, r + 0x5, 0x5);
                                b43_radio_write(dev, r + 0x9, 0xE);
                                if (phy->rev != 5)
                        b43_radio_write(dev, r + 0xC, 0);
                }
        } else {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                        b43_radio_write(dev, B2056_SYN_RESERVED_ADDR31, 0x128);
                else
                        b43_radio_write(dev, B2056_SYN_RESERVED_ADDR31, 0x80);
                        b43_radio_write(dev, r | B2056_TX_TSSI_MISC1, 8);
                        b43_radio_write(dev, r | B2056_TX_TSSI_MISC2, 0);
                        b43_radio_write(dev, r | B2056_TX_TSSI_MISC3, 0);
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+                       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                                b43_radio_write(dev, r | B2056_TX_TX_SSI_MASTER,
                                                0x5);
                                if (phy->rev != 5)
                b0[0] = b0[1] = 5612;
                b1[0] = b1[1] = -1393;
        } else {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        for (c = 0; c < 2; c++) {
                                idle[c] = nphy->pwr_ctl_info[c].idle_tssi_2g;
                                target[c] = sprom->core_pwr_info[c].maxpwr_2g;
                        for (c = 0; c < 2; c++) {
                                r = c ? 0x190 : 0x170;
                                if (b43_nphy_ipa(dev))
-                                       b43_radio_write(dev, r + 0x9, (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) ? 0xE : 0xC);
+                                       b43_radio_write(dev, r + 0x9, (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) ? 0xE : 0xC);
                        }
                } else {
                        if (b43_nphy_ipa(dev)) {
-                               tmp = (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) ? 0xC : 0xE;
+                               tmp = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ? 0xC : 0xE;
                                b43_radio_write(dev,
                                        B2056_TX0 | B2056_TX_TX_SSI_MUX, tmp);
                                b43_radio_write(dev,
                } else if (phy->rev >= 7) {
                        pga_gain = (table[i] >> 24) & 0xf;
                        pad_gain = (table[i] >> 19) & 0x1f;
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+                       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                                rfpwr_offset = rf_pwr_offset_table[pad_gain];
                        else
                                rfpwr_offset = rf_pwr_offset_table[pga_gain];
                } else {
                        pga_gain = (table[i] >> 24) & 0xF;
-                       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+                       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                                rfpwr_offset = b43_ntab_papd_pga_gain_delta_ipa_2g[pga_gain];
                        else
                                rfpwr_offset = 0; /* FIXME */
 static void b43_nphy_pa_override(struct b43_wldev *dev, bool enable)
 {
        struct b43_phy_n *nphy = dev->phy.n;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u16 tmp;
 
        if (!enable) {
                if (dev->phy.rev >= 7) {
                        tmp = 0x1480;
                } else if (dev->phy.rev >= 3) {
-                       if (band == IEEE80211_BAND_5GHZ)
+                       if (band == NL80211_BAND_5GHZ)
                                tmp = 0x600;
                        else
                                tmp = 0x480;
                } else {
-                       if (band == IEEE80211_BAND_5GHZ)
+                       if (band == NL80211_BAND_5GHZ)
                                tmp = 0x180;
                        else
                                tmp = 0x120;
        u16 *rssical_radio_regs = NULL;
        u16 *rssical_phy_regs = NULL;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                if (!nphy->rssical_chanspec_2G.center_freq)
                        return;
                rssical_radio_regs = nphy->rssical_cache.rssical_radio_regs_2G;
                save[off + 7] = b43_radio_read(dev, r + R2057_TX0_TSSIG);
                save[off + 8] = b43_radio_read(dev, r + R2057_TX0_TSSI_MISC1);
 
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                        b43_radio_write(dev, r + R2057_TX0_TX_SSI_MASTER, 0xA);
                        b43_radio_write(dev, r + R2057_TX0_IQCAL_VCM_HG, 0x43);
                        b43_radio_write(dev, r + R2057_TX0_IQCAL_IDAC, 0x55);
                save[offset + 9] = b43_radio_read(dev, B2055_XOMISC);
                save[offset + 10] = b43_radio_read(dev, B2055_PLL_LFC1);
 
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                        b43_radio_write(dev, tmp | B2055_CAL_RVARCTL, 0x0A);
                        b43_radio_write(dev, tmp | B2055_CAL_LPOCTL, 0x40);
                        b43_radio_write(dev, tmp | B2055_CAL_TS, 0x55);
                b43_nphy_pa_set_tx_dig_filter(dev, 0x186,
                                              tbl_tx_filter_coef_rev4[3]);
        } else {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                        b43_nphy_pa_set_tx_dig_filter(dev, 0x186,
                                                      tbl_tx_filter_coef_rev4[5]);
                if (dev->phy.channel == 14)
                                                              false, 0);
                        } else if (phy->rev == 7) {
                                b43_radio_maskset(dev, R2057_OVR_REG0, 1 << 4, 1 << 4);
-                               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+                               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                                        b43_radio_maskset(dev, R2057_PAD2G_TUNE_PUS_CORE0, ~1, 0);
                                        b43_radio_maskset(dev, R2057_PAD2G_TUNE_PUS_CORE1, ~1, 0);
                                } else {
                b43_ntab_write(dev, B43_NTAB16(8, 18), tmp);
                regs[5] = b43_phy_read(dev, B43_NPHY_RFCTL_INTC1);
                regs[6] = b43_phy_read(dev, B43_NPHY_RFCTL_INTC2);
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                        tmp = 0x0180;
                else
                        tmp = 0x0120;
        if (nphy->hang_avoid)
                b43_nphy_stay_in_carrier_search(dev, 1);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                rxcal_coeffs = &nphy->cal_cache.rxcal_coeffs_2G;
                txcal_radio_regs = nphy->cal_cache.txcal_radio_regs_2G;
                iqcal_chanspec = &nphy->iqcal_chanspec_2G;
        u16 *txcal_radio_regs = NULL;
        struct b43_phy_n_iq_comp *rxcal_coeffs = NULL;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                if (!nphy->iqcal_chanspec_2G.center_freq)
                        return;
                table = nphy->cal_cache.txcal_coeffs_2G;
        if (dev->phy.rev < 2)
                b43_nphy_tx_iq_workaround(dev);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                txcal_radio_regs = nphy->cal_cache.txcal_radio_regs_2G;
                rxcal_coeffs = &nphy->cal_cache.rxcal_coeffs_2G;
        } else {
 
        phy6or5x = dev->phy.rev >= 6 ||
                (dev->phy.rev == 5 && nphy->ipa2g_on &&
-               b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ);
+               b43_current_band(dev->wl) == NL80211_BAND_2GHZ);
        if (phy6or5x) {
                if (b43_is_40mhz(dev)) {
                        b43_ntab_write_bulk(dev, B43_NTAB16(15, 0), 18,
        u16 tmp[6];
        u16 uninitialized_var(cur_hpf1), uninitialized_var(cur_hpf2), cur_lna;
        u32 real, imag;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        u8 use;
        u16 cur_hpf;
                band = b43_current_band(dev->wl);
 
                if (nphy->rxcalparams & 0xFF000000) {
-                       if (band == IEEE80211_BAND_5GHZ)
+                       if (band == NL80211_BAND_5GHZ)
                                b43_phy_write(dev, rfctl[0], 0x140);
                        else
                                b43_phy_write(dev, rfctl[0], 0x110);
                } else {
-                       if (band == IEEE80211_BAND_5GHZ)
+                       if (band == NL80211_BAND_5GHZ)
                                b43_phy_write(dev, rfctl[0], 0x180);
                        else
                                b43_phy_write(dev, rfctl[0], 0x120);
                }
 
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        b43_phy_write(dev, rfctl[1], 0x148);
                else
                        b43_phy_write(dev, rfctl[1], 0x114);
 #if 0
        /* Some extra gains */
        hw_gain = 6; /* N-PHY specific */
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                hw_gain += sprom->antenna_gain.a0;
        else
                hw_gain += sprom->antenna_gain.a1;
        u8 tx_pwr_state;
        struct nphy_txgains target;
        u16 tmp;
-       enum ieee80211_band tmp2;
+       enum nl80211_band tmp2;
        bool do_rssi_cal;
 
        u16 clip[2];
 
        if ((dev->phy.rev >= 3) &&
           (sprom->boardflags_lo & B43_BFL_EXTLNA) &&
-          (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)) {
+          (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)) {
                switch (dev->dev->bus_type) {
 #ifdef CONFIG_B43_BCMA
                case B43_BUS_BCMA:
 
        b43_nphy_classifier(dev, 0, 0);
        b43_nphy_read_clip_detection(dev, clip);
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                b43_nphy_bphy_init(dev);
 
        tx_pwr_state = nphy->txpwrctrl;
 
        do_rssi_cal = false;
        if (phy->rev >= 3) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                        do_rssi_cal = !nphy->rssical_chanspec_2G.center_freq;
                else
                        do_rssi_cal = !nphy->rssical_chanspec_5G.center_freq;
        }
 
        if (!((nphy->measure_hold & 0x6) != 0)) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                        do_cal = !nphy->iqcal_chanspec_2G.center_freq;
                else
                        do_cal = !nphy->iqcal_chanspec_5G.center_freq;
        int ch = new_channel->hw_value;
        u16 tmp16;
 
-       if (new_channel->band == IEEE80211_BAND_5GHZ) {
+       if (new_channel->band == NL80211_BAND_5GHZ) {
                /* Switch to 2 GHz for a moment to access B43_PHY_B_BBCFG */
                b43_phy_mask(dev, B43_NPHY_BANDCTL, ~B43_NPHY_BANDCTL_5GHZ);
 
                            B43_PHY_B_BBCFG_RSTCCA | B43_PHY_B_BBCFG_RSTRX);
                b43_write16(dev, B43_MMIO_PSM_PHY_HDR, tmp16);
                b43_phy_set(dev, B43_NPHY_BANDCTL, B43_NPHY_BANDCTL_5GHZ);
-       } else if (new_channel->band == IEEE80211_BAND_2GHZ) {
+       } else if (new_channel->band == NL80211_BAND_2GHZ) {
                b43_phy_mask(dev, B43_NPHY_BANDCTL, ~B43_NPHY_BANDCTL_5GHZ);
                tmp16 = b43_read16(dev, B43_MMIO_PSM_PHY_HDR);
                b43_write16(dev, B43_MMIO_PSM_PHY_HDR, tmp16 | 4);
                b43_phy_set(dev, B43_PHY_B_TEST, 0x0800);
        } else {
                b43_nphy_classifier(dev, 2, 2);
-               if (new_channel->band == IEEE80211_BAND_2GHZ)
+               if (new_channel->band == NL80211_BAND_2GHZ)
                        b43_phy_mask(dev, B43_PHY_B_TEST, ~0x840);
        }
 
                        &(tabent_r7->phy_regs) : &(tabent_r7_2g->phy_regs);
 
                if (phy->radio_rev <= 4 || phy->radio_rev == 6) {
-                       tmp = (channel->band == IEEE80211_BAND_5GHZ) ? 2 : 0;
+                       tmp = (channel->band == NL80211_BAND_5GHZ) ? 2 : 0;
                        b43_radio_maskset(dev, R2057_TIA_CONFIG_CORE0, ~2, tmp);
                        b43_radio_maskset(dev, R2057_TIA_CONFIG_CORE1, ~2, tmp);
                }
                b43_radio_2057_setup(dev, tabent_r7, tabent_r7_2g);
                b43_nphy_channel_setup(dev, phy_regs, channel);
        } else if (phy->rev >= 3) {
-               tmp = (channel->band == IEEE80211_BAND_5GHZ) ? 4 : 0;
+               tmp = (channel->band == NL80211_BAND_5GHZ) ? 4 : 0;
                b43_radio_maskset(dev, 0x08, 0xFFFB, tmp);
                b43_radio_2056_setup(dev, tabent_r3);
                b43_nphy_channel_setup(dev, &(tabent_r3->phy_regs), channel);
        } else {
-               tmp = (channel->band == IEEE80211_BAND_5GHZ) ? 0x0020 : 0x0050;
+               tmp = (channel->band == NL80211_BAND_5GHZ) ? 0x0020 : 0x0050;
                b43_radio_maskset(dev, B2055_MASTER1, 0xFF8F, tmp);
                b43_radio_2055_setup(dev, tabent_r2);
                b43_nphy_channel_setup(dev, &(tabent_r2->phy_regs), channel);
        enum nl80211_channel_type channel_type =
                cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                if ((new_channel < 1) || (new_channel > 14))
                        return -EINVAL;
        } else {
 
 static unsigned int b43_nphy_op_get_default_chan(struct b43_wldev *dev)
 {
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                return 1;
        return 36;
 }
 
 
        for (i = 0; i < ARRAY_SIZE(b2062_init_tab); i++) {
                e = &b2062_init_tab[i];
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        if (!(e->flags & B206X_FLAG_G))
                                continue;
                        b43_radio_write(dev, e->offset, e->value_g);
 
        for (i = 0; i < ARRAY_SIZE(b2063_init_tab); i++) {
                e = &b2063_init_tab[i];
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+               if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                        if (!(e->flags & B206X_FLAG_G))
                                continue;
                        b43_radio_write(dev, e->offset, e->value_g);
        tmp |= data.pga << 8;
        tmp |= data.gm;
        if (dev->phy.rev >= 3) {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                        tmp |= 0x10 << 24;
                else
                        tmp |= 0x70 << 24;
        } else {
-               if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+               if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                        tmp |= 0x14 << 24;
                else
                        tmp |= 0x7F << 24;
                    (sprom->boardflags_lo & B43_BFL_HGPA))
                        lpphy_write_gain_table_bulk(dev, 0, 128,
                                        lpphy_rev0_nopa_tx_gain_table);
-               else if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+               else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                        lpphy_write_gain_table_bulk(dev, 0, 128,
                                        lpphy_rev0_2ghz_tx_gain_table);
                else
                    (sprom->boardflags_lo & B43_BFL_HGPA))
                        lpphy_write_gain_table_bulk(dev, 0, 128,
                                        lpphy_rev1_nopa_tx_gain_table);
-               else if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+               else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                        lpphy_write_gain_table_bulk(dev, 0, 128,
                                        lpphy_rev1_2ghz_tx_gain_table);
                else
                if (sprom->boardflags_hi & B43_BFH_NOPA)
                        lpphy_write_gain_table_bulk(dev, 0, 128,
                                        lpphy_rev2_nopa_tx_gain_table);
-               else if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
+               else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
                        lpphy_write_gain_table_bulk(dev, 0, 128,
                                        lpphy_rev2_2ghz_tx_gain_table);
                else
 
                { 0x2, 0x18, 0x2 }, /* Core 1 */
        };
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                antswlut = sprom->fem.ghz5.antswlut;
        else
                antswlut = sprom->fem.ghz2.antswlut;
        struct ssb_sprom *sprom = dev->dev->bus_sprom;
        u8 antswlut;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+       if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
                antswlut = sprom->fem.ghz5.antswlut;
        else
                antswlut = sprom->fem.ghz2.antswlut;
 {
        struct b43_phy *phy = &dev->phy;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                switch (phy->rev) {
                case 17:
                        if (phy->radio_rev == 14)
 const u32 *b43_nphy_get_tx_gain_table(struct b43_wldev *dev)
 {
        struct b43_phy *phy = &dev->phy;
-       enum ieee80211_band band = b43_current_band(dev->wl);
+       enum nl80211_band band = b43_current_band(dev->wl);
        struct ssb_sprom *sprom = dev->dev->bus_sprom;
 
        if (dev->phy.rev < 3)
                return b43_ntab_tx_gain_rev0_1_2;
 
        /* rev 3+ */
-       if ((dev->phy.n->ipa2g_on && band == IEEE80211_BAND_2GHZ) ||
-           (dev->phy.n->ipa5g_on && band == IEEE80211_BAND_5GHZ)) {
+       if ((dev->phy.n->ipa2g_on && band == NL80211_BAND_2GHZ) ||
+           (dev->phy.n->ipa5g_on && band == NL80211_BAND_5GHZ)) {
                return b43_nphy_get_ipa_gain_table(dev);
-       } else if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
+       } else if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
                switch (phy->rev) {
                case 6:
                case 5:
 {
        struct b43_phy *phy = &dev->phy;
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                switch (phy->rev) {
                case 17:
                        if (phy->radio_rev == 14)
 
 
        b43_phy_lcn_upload_static_tables(dev);
 
-       if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
+       if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
                if (sprom->boardflags_lo & B43_BFL_FEM)
                        b43_phy_lcn_load_tx_gain_tab(dev,
                                b43_lcntab_tx_gain_tbl_2ghz_ext_pa_rev0);
 
        chanid = (chanstat & B43_RX_CHAN_ID) >> B43_RX_CHAN_ID_SHIFT;
        switch (chanstat & B43_RX_CHAN_PHYTYPE) {
        case B43_PHYTYPE_A:
-               status.band = IEEE80211_BAND_5GHZ;
+               status.band = NL80211_BAND_5GHZ;
                B43_WARN_ON(1);
                /* FIXME: We don't really know which value the "chanid" contains.
                 *        So the following assignment might be wrong. */
                        ieee80211_channel_to_frequency(chanid, status.band);
                break;
        case B43_PHYTYPE_G:
-               status.band = IEEE80211_BAND_2GHZ;
+               status.band = NL80211_BAND_2GHZ;
                /* Somewhere between 478.104 and 508.1084 firmware for G-PHY
                 * has been modified to be compatible with N-PHY and others.
                 */
                /* chanid is the SHM channel cookie. Which is the plain
                 * channel number in b43. */
                if (chanstat & B43_RX_CHAN_5GHZ)
-                       status.band = IEEE80211_BAND_5GHZ;
+                       status.band = NL80211_BAND_5GHZ;
                else
-                       status.band = IEEE80211_BAND_2GHZ;
+                       status.band = NL80211_BAND_2GHZ;
                status.freq =
                        ieee80211_channel_to_frequency(chanid, status.band);
                break;
 
        b43legacy_generate_plcp_hdr(&plcp, size + FCS_LEN, rate->hw_value);
        dur = ieee80211_generic_frame_duration(dev->wl->hw,
                                               dev->wl->vif,
-                                              IEEE80211_BAND_2GHZ,
+                                              NL80211_BAND_2GHZ,
                                               size,
                                               rate);
        /* Write PLCP in two parts and timing for packet transfer */
                                         IEEE80211_STYPE_PROBE_RESP);
        dur = ieee80211_generic_frame_duration(dev->wl->hw,
                                               dev->wl->vif,
-                                              IEEE80211_BAND_2GHZ,
+                                              NL80211_BAND_2GHZ,
                                               *dest_size,
                                               rate);
        hdr->duration_id = dur;
 
        /* Switch the PHY mode (if necessary). */
        switch (conf->chandef.chan->band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                if (phy->type == B43legacy_PHYTYPE_B)
                        new_phymode = B43legacy_PHYMODE_B;
                else
 static void b43legacy_update_basic_rates(struct b43legacy_wldev *dev, u32 brates)
 {
        struct ieee80211_supported_band *sband =
-               dev->wl->hw->wiphy->bands[IEEE80211_BAND_2GHZ];
+               dev->wl->hw->wiphy->bands[NL80211_BAND_2GHZ];
        struct ieee80211_rate *rate;
        int i;
        u16 basic, direct, offset, basic_offset, rateptr;
 
        phy->possible_phymodes = 0;
        if (have_bphy) {
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
+               hw->wiphy->bands[NL80211_BAND_2GHZ] =
                        &b43legacy_band_2GHz_BPHY;
                phy->possible_phymodes |= B43legacy_PHYMODE_B;
        }
 
        if (have_gphy) {
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
+               hw->wiphy->bands[NL80211_BAND_2GHZ] =
                        &b43legacy_band_2GHz_GPHY;
                phy->possible_phymodes |= B43legacy_PHYMODE_G;
        }
 
        switch (chanstat & B43legacy_RX_CHAN_PHYTYPE) {
        case B43legacy_PHYTYPE_B:
        case B43legacy_PHYTYPE_G:
-               status.band = IEEE80211_BAND_2GHZ;
+               status.band = NL80211_BAND_2GHZ;
                status.freq = chanid + 2400;
                break;
        default:
 
 #define wl_a_rates_size                (wl_g_rates_size - 4)
 
 #define CHAN2G(_channel, _freq) {                              \
-       .band                   = IEEE80211_BAND_2GHZ,          \
+       .band                   = NL80211_BAND_2GHZ,            \
        .center_freq            = (_freq),                      \
        .hw_value               = (_channel),                   \
        .flags                  = IEEE80211_CHAN_DISABLED,      \
 }
 
 #define CHAN5G(_channel) {                                     \
-       .band                   = IEEE80211_BAND_5GHZ,          \
+       .band                   = NL80211_BAND_5GHZ,            \
        .center_freq            = 5000 + (5 * (_channel)),      \
        .hw_value               = (_channel),                   \
        .flags                  = IEEE80211_CHAN_DISABLED,      \
  * above is added to the band during setup.
  */
 static const struct ieee80211_supported_band __wl_band_2ghz = {
-       .band = IEEE80211_BAND_2GHZ,
+       .band = NL80211_BAND_2GHZ,
        .bitrates = wl_g_rates,
        .n_bitrates = wl_g_rates_size,
 };
 
 static const struct ieee80211_supported_band __wl_band_5ghz = {
-       .band = IEEE80211_BAND_5GHZ,
+       .band = NL80211_BAND_5GHZ,
        .bitrates = wl_a_rates,
        .n_bitrates = wl_a_rates_size,
 };
                WARN_ON_ONCE(1);
        }
        switch (ch->chan->band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                ch_inf.band = BRCMU_CHAN_BAND_2G;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                ch_inf.band = BRCMU_CHAN_BAND_5G;
                break;
-       case IEEE80211_BAND_60GHZ:
+       case NL80211_BAND_60GHZ:
        default:
                WARN_ON_ONCE(1);
        }
        channel = bi->ctl_ch;
 
        if (channel <= CH_MAX_2G_CHANNEL)
-               band = wiphy->bands[IEEE80211_BAND_2GHZ];
+               band = wiphy->bands[NL80211_BAND_2GHZ];
        else
-               band = wiphy->bands[IEEE80211_BAND_5GHZ];
+               band = wiphy->bands[NL80211_BAND_5GHZ];
 
        freq = ieee80211_channel_to_frequency(channel, band->band);
        notify_channel = ieee80211_get_channel(wiphy, freq);
        cfg->d11inf.decchspec(&ch);
 
        if (ch.band == BRCMU_CHAN_BAND_2G)
-               band = wiphy->bands[IEEE80211_BAND_2GHZ];
+               band = wiphy->bands[NL80211_BAND_2GHZ];
        else
-               band = wiphy->bands[IEEE80211_BAND_5GHZ];
+               band = wiphy->bands[NL80211_BAND_5GHZ];
 
        freq = ieee80211_channel_to_frequency(ch.chnum, band->band);
        cfg->channel = freq;
        cfg->d11inf.decchspec(&ch);
 
        if (ch.band == BRCMU_CHAN_BAND_2G)
-               band = wiphy->bands[IEEE80211_BAND_2GHZ];
+               band = wiphy->bands[NL80211_BAND_2GHZ];
        else
-               band = wiphy->bands[IEEE80211_BAND_5GHZ];
+               band = wiphy->bands[NL80211_BAND_5GHZ];
 
        freq = ieee80211_channel_to_frequency(ch.chnum, band->band);
        notify_channel = ieee80211_get_channel(wiphy, freq);
        }
 
        wiphy = cfg_to_wiphy(cfg);
-       band = wiphy->bands[IEEE80211_BAND_2GHZ];
+       band = wiphy->bands[NL80211_BAND_2GHZ];
        if (band)
                for (i = 0; i < band->n_channels; i++)
                        band->channels[i].flags = IEEE80211_CHAN_DISABLED;
-       band = wiphy->bands[IEEE80211_BAND_5GHZ];
+       band = wiphy->bands[NL80211_BAND_5GHZ];
        if (band)
                for (i = 0; i < band->n_channels; i++)
                        band->channels[i].flags = IEEE80211_CHAN_DISABLED;
                cfg->d11inf.decchspec(&ch);
 
                if (ch.band == BRCMU_CHAN_BAND_2G) {
-                       band = wiphy->bands[IEEE80211_BAND_2GHZ];
+                       band = wiphy->bands[NL80211_BAND_2GHZ];
                } else if (ch.band == BRCMU_CHAN_BAND_5G) {
-                       band = wiphy->bands[IEEE80211_BAND_5GHZ];
+                       band = wiphy->bands[NL80211_BAND_5GHZ];
                } else {
                        brcmf_err("Invalid channel Spec. 0x%x.\n", ch.chspec);
                        continue;
                        return err;
                }
 
-               band = cfg_to_wiphy(cfg)->bands[IEEE80211_BAND_2GHZ];
+               band = cfg_to_wiphy(cfg)->bands[NL80211_BAND_2GHZ];
                list = (struct brcmf_chanspec_list *)pbuf;
                num_chan = le32_to_cpu(list->count);
                for (i = 0; i < num_chan; i++) {
        band = WLC_BAND_2G;
        err = brcmf_fil_iovar_int_get(ifp, "bw_cap", &band);
        if (!err) {
-               bw_cap[IEEE80211_BAND_2GHZ] = band;
+               bw_cap[NL80211_BAND_2GHZ] = band;
                band = WLC_BAND_5G;
                err = brcmf_fil_iovar_int_get(ifp, "bw_cap", &band);
                if (!err) {
-                       bw_cap[IEEE80211_BAND_5GHZ] = band;
+                       bw_cap[NL80211_BAND_5GHZ] = band;
                        return;
                }
                WARN_ON(1);
 
        switch (mimo_bwcap) {
        case WLC_N_BW_40ALL:
-               bw_cap[IEEE80211_BAND_2GHZ] |= WLC_BW_40MHZ_BIT;
+               bw_cap[NL80211_BAND_2GHZ] |= WLC_BW_40MHZ_BIT;
                /* fall-thru */
        case WLC_N_BW_20IN2G_40IN5G:
-               bw_cap[IEEE80211_BAND_5GHZ] |= WLC_BW_40MHZ_BIT;
+               bw_cap[NL80211_BAND_5GHZ] |= WLC_BW_40MHZ_BIT;
                /* fall-thru */
        case WLC_N_BW_20ALL:
-               bw_cap[IEEE80211_BAND_2GHZ] |= WLC_BW_20MHZ_BIT;
-               bw_cap[IEEE80211_BAND_5GHZ] |= WLC_BW_20MHZ_BIT;
+               bw_cap[NL80211_BAND_2GHZ] |= WLC_BW_20MHZ_BIT;
+               bw_cap[NL80211_BAND_5GHZ] |= WLC_BW_20MHZ_BIT;
                break;
        default:
                brcmf_err("invalid mimo_bw_cap value\n");
        __le16 mcs_map;
 
        /* not allowed in 2.4G band */
-       if (band->band == IEEE80211_BAND_2GHZ)
+       if (band->band == NL80211_BAND_2GHZ)
                return;
 
        band->vht_cap.vht_supported = true;
                brcmf_get_bwcap(ifp, bw_cap);
        }
        brcmf_dbg(INFO, "nmode=%d, vhtmode=%d, bw_cap=(%d, %d)\n",
-                 nmode, vhtmode, bw_cap[IEEE80211_BAND_2GHZ],
-                 bw_cap[IEEE80211_BAND_5GHZ]);
+                 nmode, vhtmode, bw_cap[NL80211_BAND_2GHZ],
+                 bw_cap[NL80211_BAND_5GHZ]);
 
        err = brcmf_fil_iovar_int_get(ifp, "rxchain", &rxchain);
        if (err) {
                        }
 
                        band->n_channels = ARRAY_SIZE(__wl_2ghz_channels);
-                       wiphy->bands[IEEE80211_BAND_2GHZ] = band;
+                       wiphy->bands[NL80211_BAND_2GHZ] = band;
                }
                if (bandlist[i] == cpu_to_le32(WLC_BAND_5G)) {
                        band = kmemdup(&__wl_band_5ghz, sizeof(__wl_band_5ghz),
                        }
 
                        band->n_channels = ARRAY_SIZE(__wl_5ghz_channels);
-                       wiphy->bands[IEEE80211_BAND_5GHZ] = band;
+                       wiphy->bands[NL80211_BAND_5GHZ] = band;
                }
        }
        err = brcmf_setup_wiphybands(wiphy);
                        kfree(wiphy->iface_combinations[i].limits);
        }
        kfree(wiphy->iface_combinations);
-       if (wiphy->bands[IEEE80211_BAND_2GHZ]) {
-               kfree(wiphy->bands[IEEE80211_BAND_2GHZ]->channels);
-               kfree(wiphy->bands[IEEE80211_BAND_2GHZ]);
+       if (wiphy->bands[NL80211_BAND_2GHZ]) {
+               kfree(wiphy->bands[NL80211_BAND_2GHZ]->channels);
+               kfree(wiphy->bands[NL80211_BAND_2GHZ]);
        }
-       if (wiphy->bands[IEEE80211_BAND_5GHZ]) {
-               kfree(wiphy->bands[IEEE80211_BAND_5GHZ]->channels);
-               kfree(wiphy->bands[IEEE80211_BAND_5GHZ]);
+       if (wiphy->bands[NL80211_BAND_5GHZ]) {
+               kfree(wiphy->bands[NL80211_BAND_5GHZ]->channels);
+               kfree(wiphy->bands[NL80211_BAND_5GHZ]);
        }
        wiphy_free(wiphy);
 }
         * cfg80211 here that we do and have it decide we can enable
         * it. But first check if device does support 2G operation.
         */
-       if (wiphy->bands[IEEE80211_BAND_2GHZ]) {
-               cap = &wiphy->bands[IEEE80211_BAND_2GHZ]->ht_cap.cap;
+       if (wiphy->bands[NL80211_BAND_2GHZ]) {
+               cap = &wiphy->bands[NL80211_BAND_2GHZ]->ht_cap.cap;
                *cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40;
        }
        err = wiphy_register(wiphy);
 
 
        freq = ieee80211_channel_to_frequency(ch.chnum,
                                              ch.band == BRCMU_CHAN_BAND_2G ?
-                                             IEEE80211_BAND_2GHZ :
-                                             IEEE80211_BAND_5GHZ);
+                                             NL80211_BAND_2GHZ :
+                                             NL80211_BAND_5GHZ);
 
        wdev = &ifp->vif->wdev;
        cfg80211_rx_mgmt(wdev, freq, 0, (u8 *)mgmt_frame, mgmt_frame_len, 0);
        mgmt_frame_len = e->datalen - sizeof(*rxframe);
        freq = ieee80211_channel_to_frequency(ch.chnum,
                                              ch.band == BRCMU_CHAN_BAND_2G ?
-                                             IEEE80211_BAND_2GHZ :
-                                             IEEE80211_BAND_5GHZ);
+                                             NL80211_BAND_2GHZ :
+                                             NL80211_BAND_5GHZ);
 
        cfg80211_rx_mgmt(&vif->wdev, freq, 0, mgmt_frame, mgmt_frame_len, 0);
 
 
        struct ieee80211_channel *ch;
        int i;
 
-       sband = wiphy->bands[IEEE80211_BAND_5GHZ];
+       sband = wiphy->bands[NL80211_BAND_5GHZ];
        if (!sband)
                return;
 
        const struct ieee80211_reg_rule *rule;
        int band, i;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                sband = wiphy->bands[band];
                if (!sband)
                        continue;
                brcms_reg_apply_beaconing_flags(wiphy, request->initiator);
 
        /* Disable radio if all channels disallowed by regulatory */
-       for (band = 0; !ch_found && band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; !ch_found && band < NUM_NL80211_BANDS; band++) {
                sband = wiphy->bands[band];
                if (!sband)
                        continue;
                                              &sup_chan);
 
                if (band_idx == BAND_2G_INDEX)
-                       sband = wiphy->bands[IEEE80211_BAND_2GHZ];
+                       sband = wiphy->bands[NL80211_BAND_2GHZ];
                else
-                       sband = wiphy->bands[IEEE80211_BAND_5GHZ];
+                       sband = wiphy->bands[NL80211_BAND_5GHZ];
 
                for (i = 0; i < sband->n_channels; i++) {
                        ch = &sband->channels[i];
 
        FIF_PSPOLL)
 
 #define CHAN2GHZ(channel, freqency, chflags)  { \
-       .band = IEEE80211_BAND_2GHZ, \
+       .band = NL80211_BAND_2GHZ, \
        .center_freq = (freqency), \
        .hw_value = (channel), \
        .flags = chflags, \
 }
 
 #define CHAN5GHZ(channel, chflags)  { \
-       .band = IEEE80211_BAND_5GHZ, \
+       .band = NL80211_BAND_5GHZ, \
        .center_freq = 5000 + 5*(channel), \
        .hw_value = (channel), \
        .flags = chflags, \
 };
 
 static const struct ieee80211_supported_band brcms_band_2GHz_nphy_template = {
-       .band = IEEE80211_BAND_2GHZ,
+       .band = NL80211_BAND_2GHZ,
        .channels = brcms_2ghz_chantable,
        .n_channels = ARRAY_SIZE(brcms_2ghz_chantable),
        .bitrates = legacy_ratetable,
 };
 
 static const struct ieee80211_supported_band brcms_band_5GHz_nphy_template = {
-       .band = IEEE80211_BAND_5GHZ,
+       .band = NL80211_BAND_5GHZ,
        .channels = brcms_5ghz_nphy_chantable,
        .n_channels = ARRAY_SIZE(brcms_5ghz_nphy_chantable),
        .bitrates = legacy_ratetable + BRCMS_LEGACY_5G_RATE_OFFSET,
        int has_5g = 0;
        u16 phy_type;
 
-       hw->wiphy->bands[IEEE80211_BAND_2GHZ] = NULL;
-       hw->wiphy->bands[IEEE80211_BAND_5GHZ] = NULL;
+       hw->wiphy->bands[NL80211_BAND_2GHZ] = NULL;
+       hw->wiphy->bands[NL80211_BAND_5GHZ] = NULL;
 
        phy_type = brcms_c_get_phy_type(wl->wlc, 0);
        if (phy_type == PHY_TYPE_N || phy_type == PHY_TYPE_LCN) {
                        band->ht_cap.mcs.rx_mask[1] = 0;
                        band->ht_cap.mcs.rx_highest = cpu_to_le16(72);
                }
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] = band;
+               hw->wiphy->bands[NL80211_BAND_2GHZ] = band;
        } else {
                return -EPERM;
        }
                if (phy_type == PHY_TYPE_N || phy_type == PHY_TYPE_LCN) {
                        band = &wlc->bandstate[BAND_5G_INDEX]->band;
                        *band = brcms_band_5GHz_nphy_template;
-                       hw->wiphy->bands[IEEE80211_BAND_5GHZ] = band;
+                       hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
                } else {
                        return -EPERM;
                }
 
        channel = BRCMS_CHAN_CHANNEL(rxh->RxChan);
 
        rx_status->band =
-               channel > 14 ? IEEE80211_BAND_5GHZ : IEEE80211_BAND_2GHZ;
+               channel > 14 ? NL80211_BAND_5GHZ : NL80211_BAND_2GHZ;
        rx_status->freq =
                ieee80211_channel_to_frequency(channel, rx_status->band);
 
                 * a subset of the 2.4G rates. See bitrates field
                 * of brcms_band_5GHz_nphy (in mac80211_if.c).
                 */
-               if (rx_status->band == IEEE80211_BAND_5GHZ)
+               if (rx_status->band == NL80211_BAND_5GHZ)
                        rx_status->rate_idx -= BRCMS_LEGACY_5G_RATE_OFFSET;
 
                /* Determine short preamble and rate_idx */
 
        ch = le16_to_cpu(status_rid.channel);
        if((ch > 0) && (ch < 15)) {
                fwrq->m = 100000 *
-                       ieee80211_channel_to_frequency(ch, IEEE80211_BAND_2GHZ);
+                       ieee80211_channel_to_frequency(ch, NL80211_BAND_2GHZ);
                fwrq->e = 1;
        } else {
                fwrq->m = ch;
        for(i = 0; i < 14; i++) {
                range->freq[k].i = i + 1; /* List index */
                range->freq[k].m = 100000 *
-                    ieee80211_channel_to_frequency(i + 1, IEEE80211_BAND_2GHZ);
+                    ieee80211_channel_to_frequency(i + 1, NL80211_BAND_2GHZ);
                range->freq[k++].e = 1; /* Values in MHz -> * 10^5 * 10 */
        }
        range->num_frequency = k;
        iwe.cmd = SIOCGIWFREQ;
        iwe.u.freq.m = le16_to_cpu(bss->dsChannel);
        iwe.u.freq.m = 100000 *
-             ieee80211_channel_to_frequency(iwe.u.freq.m, IEEE80211_BAND_2GHZ);
+             ieee80211_channel_to_frequency(iwe.u.freq.m, NL80211_BAND_2GHZ);
        iwe.u.freq.e = 1;
        current_ev = iwe_stream_add_event(info, current_ev, end_buf,
                                          &iwe, IW_EV_FREQ_LEN);
 
        if (geo->bg_channels) {
                struct ieee80211_supported_band *bg_band = &priv->ieee->bg_band;
 
-               bg_band->band = IEEE80211_BAND_2GHZ;
+               bg_band->band = NL80211_BAND_2GHZ;
                bg_band->n_channels = geo->bg_channels;
                bg_band->channels = kcalloc(geo->bg_channels,
                                            sizeof(struct ieee80211_channel),
                }
                /* translate geo->bg to bg_band.channels */
                for (i = 0; i < geo->bg_channels; i++) {
-                       bg_band->channels[i].band = IEEE80211_BAND_2GHZ;
+                       bg_band->channels[i].band = NL80211_BAND_2GHZ;
                        bg_band->channels[i].center_freq = geo->bg[i].freq;
                        bg_band->channels[i].hw_value = geo->bg[i].channel;
                        bg_band->channels[i].max_power = geo->bg[i].max_power;
                bg_band->bitrates = ipw2100_bg_rates;
                bg_band->n_bitrates = RATE_COUNT;
 
-               wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = bg_band;
+               wdev->wiphy->bands[NL80211_BAND_2GHZ] = bg_band;
        }
 
        wdev->wiphy->cipher_suites = ipw_cipher_suites;
 
        if (geo->bg_channels) {
                struct ieee80211_supported_band *bg_band = &priv->ieee->bg_band;
 
-               bg_band->band = IEEE80211_BAND_2GHZ;
+               bg_band->band = NL80211_BAND_2GHZ;
                bg_band->n_channels = geo->bg_channels;
                bg_band->channels = kcalloc(geo->bg_channels,
                                            sizeof(struct ieee80211_channel),
                }
                /* translate geo->bg to bg_band.channels */
                for (i = 0; i < geo->bg_channels; i++) {
-                       bg_band->channels[i].band = IEEE80211_BAND_2GHZ;
+                       bg_band->channels[i].band = NL80211_BAND_2GHZ;
                        bg_band->channels[i].center_freq = geo->bg[i].freq;
                        bg_band->channels[i].hw_value = geo->bg[i].channel;
                        bg_band->channels[i].max_power = geo->bg[i].max_power;
                bg_band->bitrates = ipw2200_bg_rates;
                bg_band->n_bitrates = ipw2200_num_bg_rates;
 
-               wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = bg_band;
+               wdev->wiphy->bands[NL80211_BAND_2GHZ] = bg_band;
        }
 
        /* fill-out priv->ieee->a_band */
        if (geo->a_channels) {
                struct ieee80211_supported_band *a_band = &priv->ieee->a_band;
 
-               a_band->band = IEEE80211_BAND_5GHZ;
+               a_band->band = NL80211_BAND_5GHZ;
                a_band->n_channels = geo->a_channels;
                a_band->channels = kcalloc(geo->a_channels,
                                           sizeof(struct ieee80211_channel),
                }
                /* translate geo->a to a_band.channels */
                for (i = 0; i < geo->a_channels; i++) {
-                       a_band->channels[i].band = IEEE80211_BAND_5GHZ;
+                       a_band->channels[i].band = NL80211_BAND_5GHZ;
                        a_band->channels[i].center_freq = geo->a[i].freq;
                        a_band->channels[i].hw_value = geo->a[i].channel;
                        a_band->channels[i].max_power = geo->a[i].max_power;
                a_band->bitrates = ipw2200_a_rates;
                a_band->n_bitrates = ipw2200_num_a_rates;
 
-               wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = a_band;
+               wdev->wiphy->bands[NL80211_BAND_5GHZ] = a_band;
        }
 
        wdev->wiphy->cipher_suites = ipw_cipher_suites;
 
 }
 
 static int
-il3945_get_channels_for_scan(struct il_priv *il, enum ieee80211_band band,
+il3945_get_channels_for_scan(struct il_priv *il, enum nl80211_band band,
                             u8 is_active, u8 n_probes,
                             struct il3945_scan_channel *scan_ch,
                             struct ieee80211_vif *vif)
                /* scan_pwr_info->tpc.dsp_atten; */
 
                /*scan_pwr_info->tpc.tx_gain; */
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        scan_ch->tpc.tx_gain = ((1 << 5) | (3 << 3)) | 3;
                else {
                        scan_ch->tpc.tx_gain = ((1 << 5) | (5 << 3));
        };
        struct il3945_scan_cmd *scan;
        u8 n_probes = 0;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        bool is_active = false;
        int ret;
        u16 len;
        /* flags + rate selection */
 
        switch (il->scan_band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                scan->flags = RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK;
                scan->tx_cmd.rate = RATE_1M_PLCP;
-               band = IEEE80211_BAND_2GHZ;
+               band = NL80211_BAND_2GHZ;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                scan->tx_cmd.rate = RATE_6M_PLCP;
-               band = IEEE80211_BAND_5GHZ;
+               band = NL80211_BAND_5GHZ;
                break;
        default:
                IL_WARN("Invalid scan band\n");
 
        il->ieee_channels = NULL;
        il->ieee_rates = NULL;
-       il->band = IEEE80211_BAND_2GHZ;
+       il->band = NL80211_BAND_2GHZ;
 
        il->iw_mode = NL80211_IFTYPE_STATION;
        il->missed_beacon_threshold = IL_MISSED_BEACON_THRESHOLD_DEF;
        /* Default value; 4 EDCA QOS priorities */
        hw->queues = 4;
 
-       if (il->bands[IEEE80211_BAND_2GHZ].n_channels)
-               il->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
-                   &il->bands[IEEE80211_BAND_2GHZ];
+       if (il->bands[NL80211_BAND_2GHZ].n_channels)
+               il->hw->wiphy->bands[NL80211_BAND_2GHZ] =
+                   &il->bands[NL80211_BAND_2GHZ];
 
-       if (il->bands[IEEE80211_BAND_5GHZ].n_channels)
-               il->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
-                   &il->bands[IEEE80211_BAND_5GHZ];
+       if (il->bands[NL80211_BAND_5GHZ].n_channels)
+               il->hw->wiphy->bands[NL80211_BAND_5GHZ] =
+                   &il->bands[NL80211_BAND_5GHZ];
 
        il_leds_init(il);
 
                goto out_release_irq;
        }
 
-       il_set_rxon_channel(il, &il->bands[IEEE80211_BAND_2GHZ].channels[5]);
+       il_set_rxon_channel(il, &il->bands[NL80211_BAND_2GHZ].channels[5]);
        il3945_setup_deferred_work(il);
        il3945_setup_handlers(il);
        il_power_initialize(il);
 
 #define RATE_RETRY_TH          15
 
 static u8
-il3945_get_rate_idx_by_rssi(s32 rssi, enum ieee80211_band band)
+il3945_get_rate_idx_by_rssi(s32 rssi, enum nl80211_band band)
 {
        u32 idx = 0;
        u32 table_size = 0;
                rssi = IL_MIN_RSSI_VAL;
 
        switch (band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                tpt_table = il3945_tpt_table_g;
                table_size = ARRAY_SIZE(il3945_tpt_table_g);
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                tpt_table = il3945_tpt_table_a;
                table_size = ARRAY_SIZE(il3945_tpt_table_a);
                break;
 
        il->_3945.sta_supp_rates = sta->supp_rates[sband->band];
        /* For 5 GHz band it start at IL_FIRST_OFDM_RATE */
-       if (sband->band == IEEE80211_BAND_5GHZ) {
+       if (sband->band == NL80211_BAND_5GHZ) {
                rs_sta->last_txrate_idx += IL_FIRST_OFDM_RATE;
                il->_3945.sta_supp_rates <<= IL_FIRST_OFDM_RATE;
        }
 
 static u16
 il3945_get_adjacent_rate(struct il3945_rs_sta *rs_sta, u8 idx, u16 rate_mask,
-                        enum ieee80211_band band)
+                        enum nl80211_band band)
 {
        u8 high = RATE_INVALID;
        u8 low = RATE_INVALID;
 
        /* 802.11A walks to the next literal adjacent rate in
         * the rate table */
-       if (unlikely(band == IEEE80211_BAND_5GHZ)) {
+       if (unlikely(band == NL80211_BAND_5GHZ)) {
                int i;
                u32 mask;
 
 
        /* get user max rate if set */
        max_rate_idx = txrc->max_rate_idx;
-       if (sband->band == IEEE80211_BAND_5GHZ && max_rate_idx != -1)
+       if (sband->band == NL80211_BAND_5GHZ && max_rate_idx != -1)
                max_rate_idx += IL_FIRST_OFDM_RATE;
        if (max_rate_idx < 0 || max_rate_idx >= RATE_COUNT)
                max_rate_idx = -1;
 
        idx = min(rs_sta->last_txrate_idx & 0xffff, RATE_COUNT_3945 - 1);
 
-       if (sband->band == IEEE80211_BAND_5GHZ)
+       if (sband->band == NL80211_BAND_5GHZ)
                rate_mask = rate_mask << IL_FIRST_OFDM_RATE;
 
        spin_lock_irqsave(&rs_sta->lock, flags);
 
 out:
 
-       if (sband->band == IEEE80211_BAND_5GHZ) {
+       if (sband->band == NL80211_BAND_5GHZ) {
                if (WARN_ON_ONCE(idx < IL_FIRST_OFDM_RATE))
                        idx = IL_FIRST_OFDM_RATE;
                rs_sta->last_txrate_idx = idx;
 
        rs_sta->tgg = 0;
        switch (il->band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                /* TODO: this always does G, not a regression */
                if (il->active.flags & RXON_FLG_TGG_PROTECT_MSK) {
                        rs_sta->tgg = 1;
                } else
                        rs_sta->expected_tpt = il3945_expected_tpt_g;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                rs_sta->expected_tpt = il3945_expected_tpt_a;
                break;
        default:
 
        int next_rate = il3945_get_prev_ieee_rate(rate);
 
        switch (il->band) {
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                if (rate == RATE_12M_IDX)
                        next_rate = RATE_9M_IDX;
                else if (rate == RATE_6M_IDX)
                        next_rate = RATE_6M_IDX;
                break;
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                if (!(il->_3945.sta_supp_rates & IL_OFDM_RATES_MASK) &&
                    il_is_associated(il)) {
                        if (rate == RATE_11M_IDX)
 
        /* Fill the MRR chain with some info about on-chip retransmissions */
        rate_idx = il3945_hwrate_to_plcp_idx(tx_resp->rate);
-       if (info->band == IEEE80211_BAND_5GHZ)
+       if (info->band == NL80211_BAND_5GHZ)
                rate_idx -= IL_FIRST_OFDM_RATE;
 
        fail = tx_resp->failure_frame;
        rx_status.mactime = le64_to_cpu(rx_end->timestamp);
        rx_status.band =
            (rx_hdr->
-            phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ? IEEE80211_BAND_2GHZ :
-           IEEE80211_BAND_5GHZ;
+            phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ? NL80211_BAND_2GHZ :
+           NL80211_BAND_5GHZ;
        rx_status.freq =
            ieee80211_channel_to_frequency(le16_to_cpu(rx_hdr->channel),
                                           rx_status.band);
 
        rx_status.rate_idx = il3945_hwrate_to_plcp_idx(rx_hdr->rate);
-       if (rx_status.band == IEEE80211_BAND_5GHZ)
+       if (rx_status.band == NL80211_BAND_5GHZ)
                rx_status.rate_idx -= IL_FIRST_OFDM_RATE;
 
        rx_status.antenna =
 
        chan = le16_to_cpu(il->active.channel);
 
-       txpower.band = (il->band == IEEE80211_BAND_5GHZ) ? 0 : 1;
+       txpower.band = (il->band == NL80211_BAND_5GHZ) ? 0 : 1;
        ch_info = il_get_channel_info(il, il->band, chan);
        if (!ch_info) {
                IL_ERR("Failed to get channel info for channel %d [%d]\n", chan,
 
                il3945_sync_sta(il, vif_priv->ibss_bssid_sta_id,
                                (il->band ==
-                                IEEE80211_BAND_5GHZ) ? RATE_6M_PLCP :
+                                NL80211_BAND_5GHZ) ? RATE_6M_PLCP :
                                RATE_1M_PLCP);
                il3945_rate_scale_init(il->hw, vif_priv->ibss_bssid_sta_id);
 
        }
 
        switch (il->band) {
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                D_RATE("Select A mode rate scale\n");
                /* If one of the following CCK rates is used,
                 * have it fall back to the 6M OFDM rate */
                    il3945_rates[IL_FIRST_OFDM_RATE].table_rs_idx;
                break;
 
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                D_RATE("Select B/G mode rate scale\n");
                /* If an OFDM rate is used, have it fall back to the
                 * 1M CCK rates */
 
 }
 
 int
-il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band)
+il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum nl80211_band band)
 {
        int idx = 0;
        int band_offset = 0;
                return idx;
                /* Legacy rate format, search for match in table */
        } else {
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        band_offset = IL_FIRST_OFDM_RATE;
                for (idx = band_offset; idx < RATE_COUNT_LEGACY; idx++)
                        if (il_rates[idx].plcp == (rate_n_flags & 0xFF))
        rx_status.mactime = le64_to_cpu(phy_res->timestamp);
        rx_status.band =
            (phy_res->
-            phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ? IEEE80211_BAND_2GHZ :
-           IEEE80211_BAND_5GHZ;
+            phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ? NL80211_BAND_2GHZ :
+           NL80211_BAND_5GHZ;
        rx_status.freq =
            ieee80211_channel_to_frequency(le16_to_cpu(phy_res->channel),
                                           rx_status.band);
 
 static int
 il4965_get_channels_for_scan(struct il_priv *il, struct ieee80211_vif *vif,
-                            enum ieee80211_band band, u8 is_active,
+                            enum nl80211_band band, u8 is_active,
                             u8 n_probes, struct il_scan_channel *scan_ch)
 {
        struct ieee80211_channel *chan;
                 * power level:
                 * scan_ch->tx_gain = ((1 << 5) | (2 << 3)) | 3;
                 */
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        scan_ch->tx_gain = ((1 << 5) | (3 << 3)) | 3;
                else
                        scan_ch->tx_gain = ((1 << 5) | (5 << 3));
        u32 rate_flags = 0;
        u16 cmd_len;
        u16 rx_chain = 0;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u8 n_probes = 0;
        u8 rx_ant = il->hw_params.valid_rx_ant;
        u8 rate;
        scan->tx_cmd.stop_time.life_time = TX_CMD_LIFE_TIME_INFINITE;
 
        switch (il->scan_band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                scan->flags = RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK;
                chan_mod =
                    le32_to_cpu(il->active.flags & RXON_FLG_CHANNEL_MODE_MSK) >>
                        rate_flags = RATE_MCS_CCK_MSK;
                }
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                rate = RATE_6M_PLCP;
                break;
        default:
            || rate_idx > RATE_COUNT_LEGACY)
                rate_idx = rate_lowest_index(&il->bands[info->band], sta);
        /* For 5 GHZ band, remap mac80211 rate indices into driver indices */
-       if (info->band == IEEE80211_BAND_5GHZ)
+       if (info->band == NL80211_BAND_5GHZ)
                rate_idx += IL_FIRST_OFDM_RATE;
        /* Get PLCP rate for tx_cmd->rate_n_flags */
        rate_plcp = il_rates[rate_idx].plcp;
        }
        /* Set up the rate scaling to start at selected rate, fall back
         * all the way down to 1M in IEEE order, and then spin on 1M */
-       if (il->band == IEEE80211_BAND_5GHZ)
+       if (il->band == NL80211_BAND_5GHZ)
                r = RATE_6M_IDX;
        else
                r = RATE_1M_IDX;
 
        hw->max_listen_interval = IL_CONN_MAX_LISTEN_INTERVAL;
 
-       if (il->bands[IEEE80211_BAND_2GHZ].n_channels)
-               il->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
-                   &il->bands[IEEE80211_BAND_2GHZ];
-       if (il->bands[IEEE80211_BAND_5GHZ].n_channels)
-               il->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
-                   &il->bands[IEEE80211_BAND_5GHZ];
+       if (il->bands[NL80211_BAND_2GHZ].n_channels)
+               il->hw->wiphy->bands[NL80211_BAND_2GHZ] =
+                   &il->bands[NL80211_BAND_2GHZ];
+       if (il->bands[NL80211_BAND_5GHZ].n_channels)
+               il->hw->wiphy->bands[NL80211_BAND_5GHZ] =
+                   &il->bands[NL80211_BAND_5GHZ];
 
        il_leds_init(il);
 
 
        il->ieee_channels = NULL;
        il->ieee_rates = NULL;
-       il->band = IEEE80211_BAND_2GHZ;
+       il->band = NL80211_BAND_2GHZ;
 
        il->iw_mode = NL80211_IFTYPE_STATION;
        il->current_ht_config.smps = IEEE80211_SMPS_STATIC;
        il->hw_params.max_data_size = IL49_RTC_DATA_SIZE;
        il->hw_params.max_inst_size = IL49_RTC_INST_SIZE;
        il->hw_params.max_bsm_size = BSM_SRAM_SIZE;
-       il->hw_params.ht40_channel = BIT(IEEE80211_BAND_5GHZ);
+       il->hw_params.ht40_channel = BIT(NL80211_BAND_5GHZ);
 
        il->hw_params.rx_wrt_ptr_reg = FH49_RSCSR_CHNL0_WPTR;
 
 
  */
 static int
 il4965_rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
-                               enum ieee80211_band band,
+                               enum nl80211_band band,
                                struct il_scale_tbl_info *tbl, int *rate_idx)
 {
        u32 ant_msk = (rate_n_flags & RATE_MCS_ANT_ABC_MSK);
        /* legacy rate format */
        if (!(rate_n_flags & RATE_MCS_HT_MSK)) {
                if (il4965_num_of_ant == 1) {
-                       if (band == IEEE80211_BAND_5GHZ)
+                       if (band == NL80211_BAND_5GHZ)
                                tbl->lq_type = LQ_A;
                        else
                                tbl->lq_type = LQ_G;
        if (!is_legacy(tbl->lq_type) && (!ht_possible || !scale_idx)) {
                switch_to_legacy = 1;
                scale_idx = rs_ht_to_legacy[scale_idx];
-               if (lq_sta->band == IEEE80211_BAND_5GHZ)
+               if (lq_sta->band == NL80211_BAND_5GHZ)
                        tbl->lq_type = LQ_A;
                else
                        tbl->lq_type = LQ_G;
        /* Mask with station rate restriction */
        if (is_legacy(tbl->lq_type)) {
                /* supp_rates has no CCK bits in A mode */
-               if (lq_sta->band == IEEE80211_BAND_5GHZ)
+               if (lq_sta->band == NL80211_BAND_5GHZ)
                        rate_mask =
                            (u16) (rate_mask &
                                   (lq_sta->supp_rates << IL_FIRST_OFDM_RATE));
        table = &lq_sta->lq;
        tx_rate = le32_to_cpu(table->rs_table[0].rate_n_flags);
        il4965_rs_get_tbl_info_from_mcs(tx_rate, il->band, &tbl_type, &rs_idx);
-       if (il->band == IEEE80211_BAND_5GHZ)
+       if (il->band == NL80211_BAND_5GHZ)
                rs_idx -= IL_FIRST_OFDM_RATE;
        mac_flags = info->status.rates[0].flags;
        mac_idx = info->status.rates[0].idx;
                 * mac80211 HT idx is always zero-idxed; we need to move
                 * HT OFDM rates after CCK rates in 2.4 GHz band
                 */
-               if (il->band == IEEE80211_BAND_2GHZ)
+               if (il->band == NL80211_BAND_2GHZ)
                        mac_idx += IL_FIRST_OFDM_RATE;
        }
        /* Here we actually compare this rate to the latest LQ command */
 
        /* mask with station rate restriction */
        if (is_legacy(tbl->lq_type)) {
-               if (lq_sta->band == IEEE80211_BAND_5GHZ)
+               if (lq_sta->band == NL80211_BAND_5GHZ)
                        /* supp_rates has no CCK bits in A mode */
                        rate_scale_idx_msk =
                            (u16) (rate_mask &
        /* Get max rate if user set max rate */
        if (lq_sta) {
                lq_sta->max_rate_idx = txrc->max_rate_idx;
-               if (sband->band == IEEE80211_BAND_5GHZ &&
+               if (sband->band == NL80211_BAND_5GHZ &&
                    lq_sta->max_rate_idx != -1)
                        lq_sta->max_rate_idx += IL_FIRST_OFDM_RATE;
                if (lq_sta->max_rate_idx < 0 ||
        } else {
                /* Check for invalid rates */
                if (rate_idx < 0 || rate_idx >= RATE_COUNT_LEGACY ||
-                   (sband->band == IEEE80211_BAND_5GHZ &&
+                   (sband->band == NL80211_BAND_5GHZ &&
                     rate_idx < IL_FIRST_OFDM_RATE))
                        rate_idx = rate_lowest_index(sband, sta);
                /* On valid 5 GHz rate, adjust idx */
-               else if (sband->band == IEEE80211_BAND_5GHZ)
+               else if (sband->band == NL80211_BAND_5GHZ)
                        rate_idx -= IL_FIRST_OFDM_RATE;
                info->control.rates[0].flags = 0;
        }
 
        /* Set last_txrate_idx to lowest rate */
        lq_sta->last_txrate_idx = rate_lowest_index(sband, sta);
-       if (sband->band == IEEE80211_BAND_5GHZ)
+       if (sband->band == NL80211_BAND_5GHZ)
                lq_sta->last_txrate_idx += IL_FIRST_OFDM_RATE;
        lq_sta->is_agg = 0;
 
 
             "TX Power requested while scanning!\n"))
                return -EAGAIN;
 
-       band = il->band == IEEE80211_BAND_2GHZ;
+       band = il->band == NL80211_BAND_2GHZ;
 
        is_ht40 = iw4965_is_ht40_channel(il->active.flags);
 
        u8 switch_count;
        u16 beacon_interval = le16_to_cpu(il->timing.beacon_interval);
        struct ieee80211_vif *vif = il->vif;
-       band = (il->band == IEEE80211_BAND_2GHZ);
+       band = (il->band == NL80211_BAND_2GHZ);
 
        if (WARN_ON_ONCE(vif == NULL))
                return -EIO;
         * Force use of chains B and C for scan RX on 5 GHz band
         * because the device has off-channel reception on chain A.
         */
-       .scan_rx_antennas[IEEE80211_BAND_5GHZ] = ANT_BC,
+       .scan_rx_antennas[NL80211_BAND_5GHZ] = ANT_BC,
 
        .eeprom_size = IL4965_EEPROM_IMG_SIZE,
        .num_of_queues = IL49_NUM_QUEUES,
 
 void il4965_rx_replenish_now(struct il_priv *il);
 void il4965_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq);
 int il4965_rxq_stop(struct il_priv *il);
-int il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band);
+int il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum nl80211_band band);
 void il4965_rx_handle(struct il_priv *il);
 
 /* tx */
 
  * Does not set up a command, or touch hardware.
  */
 static int
-il_mod_ht40_chan_info(struct il_priv *il, enum ieee80211_band band, u16 channel,
+il_mod_ht40_chan_info(struct il_priv *il, enum nl80211_band band, u16 channel,
                      const struct il_eeprom_channel *eeprom_ch,
                      u8 clear_ht40_extension_channel)
 {
                        ch_info->channel = eeprom_ch_idx[ch];
                        ch_info->band =
                            (band ==
-                            1) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+                            1) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
 
                        /* permanently store EEPROM's channel regulatory flags
                         *   and max power in channel info database. */
 
        /* Two additional EEPROM bands for 2.4 and 5 GHz HT40 channels */
        for (band = 6; band <= 7; band++) {
-               enum ieee80211_band ieeeband;
+               enum nl80211_band ieeeband;
 
                il_init_band_reference(il, band, &eeprom_ch_count,
                                       &eeprom_ch_info, &eeprom_ch_idx);
 
                /* EEPROM band 6 is 2.4, band 7 is 5 GHz */
                ieeeband =
-                   (band == 6) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+                   (band == 6) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
 
                /* Loop through each band adding each of the channels */
                for (ch = 0; ch < eeprom_ch_count; ch++) {
  * Based on band and channel number.
  */
 const struct il_channel_info *
-il_get_channel_info(const struct il_priv *il, enum ieee80211_band band,
+il_get_channel_info(const struct il_priv *il, enum nl80211_band band,
                    u16 channel)
 {
        int i;
 
        switch (band) {
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                for (i = 14; i < il->channel_count; i++) {
                        if (il->channel_info[i].channel == channel)
                                return &il->channel_info[i];
                }
                break;
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                if (channel >= 1 && channel <= 14)
                        return &il->channel_info[channel - 1];
                break;
        clear_bit(S_SCAN_HW, &il->status);
 
        D_SCAN("Scan on %sGHz took %dms\n",
-              (il->scan_band == IEEE80211_BAND_2GHZ) ? "2.4" : "5.2",
+              (il->scan_band == NL80211_BAND_2GHZ) ? "2.4" : "5.2",
               jiffies_to_msecs(jiffies - il->scan_start));
 
        queue_work(il->workqueue, &il->scan_completed);
 EXPORT_SYMBOL(il_setup_rx_scan_handlers);
 
 u16
-il_get_active_dwell_time(struct il_priv *il, enum ieee80211_band band,
+il_get_active_dwell_time(struct il_priv *il, enum nl80211_band band,
                         u8 n_probes)
 {
-       if (band == IEEE80211_BAND_5GHZ)
+       if (band == NL80211_BAND_5GHZ)
                return IL_ACTIVE_DWELL_TIME_52 +
                    IL_ACTIVE_DWELL_FACTOR_52GHZ * (n_probes + 1);
        else
 EXPORT_SYMBOL(il_get_active_dwell_time);
 
 u16
-il_get_passive_dwell_time(struct il_priv *il, enum ieee80211_band band,
+il_get_passive_dwell_time(struct il_priv *il, enum nl80211_band band,
                          struct ieee80211_vif *vif)
 {
        u16 value;
 
        u16 passive =
            (band ==
-            IEEE80211_BAND_2GHZ) ? IL_PASSIVE_DWELL_BASE +
+            NL80211_BAND_2GHZ) ? IL_PASSIVE_DWELL_BASE +
            IL_PASSIVE_DWELL_TIME_24 : IL_PASSIVE_DWELL_BASE +
            IL_PASSIVE_DWELL_TIME_52;
 
 il_init_scan_params(struct il_priv *il)
 {
        u8 ant_idx = fls(il->hw_params.valid_tx_ant) - 1;
-       if (!il->scan_tx_ant[IEEE80211_BAND_5GHZ])
-               il->scan_tx_ant[IEEE80211_BAND_5GHZ] = ant_idx;
-       if (!il->scan_tx_ant[IEEE80211_BAND_2GHZ])
-               il->scan_tx_ant[IEEE80211_BAND_2GHZ] = ant_idx;
+       if (!il->scan_tx_ant[NL80211_BAND_5GHZ])
+               il->scan_tx_ant[NL80211_BAND_5GHZ] = ant_idx;
+       if (!il->scan_tx_ant[NL80211_BAND_2GHZ])
+               il->scan_tx_ant[NL80211_BAND_2GHZ] = ant_idx;
 }
 EXPORT_SYMBOL(il_init_scan_params);
 
        il_set_ht_add_station(il, sta_id, sta);
 
        /* 3945 only */
-       rate = (il->band == IEEE80211_BAND_5GHZ) ? RATE_6M_PLCP : RATE_1M_PLCP;
+       rate = (il->band == NL80211_BAND_5GHZ) ? RATE_6M_PLCP : RATE_1M_PLCP;
        /* Turn on both antennas for the station... */
        station->sta.rate_n_flags = cpu_to_le16(rate | RATE_MCS_ANT_AB_MSK);
 
 static void
 il_init_ht_hw_capab(const struct il_priv *il,
                    struct ieee80211_sta_ht_cap *ht_info,
-                   enum ieee80211_band band)
+                   enum nl80211_band band)
 {
        u16 max_bit_rate = 0;
        u8 rx_chains_num = il->hw_params.rx_chains_num;
        int i = 0;
        s8 max_tx_power = 0;
 
-       if (il->bands[IEEE80211_BAND_2GHZ].n_bitrates ||
-           il->bands[IEEE80211_BAND_5GHZ].n_bitrates) {
+       if (il->bands[NL80211_BAND_2GHZ].n_bitrates ||
+           il->bands[NL80211_BAND_5GHZ].n_bitrates) {
                D_INFO("Geography modes already initialized.\n");
                set_bit(S_GEO_CONFIGURED, &il->status);
                return 0;
        }
 
        /* 5.2GHz channels start after the 2.4GHz channels */
-       sband = &il->bands[IEEE80211_BAND_5GHZ];
+       sband = &il->bands[NL80211_BAND_5GHZ];
        sband->channels = &channels[ARRAY_SIZE(il_eeprom_band_1)];
        /* just OFDM */
        sband->bitrates = &rates[IL_FIRST_OFDM_RATE];
        sband->n_bitrates = RATE_COUNT_LEGACY - IL_FIRST_OFDM_RATE;
 
        if (il->cfg->sku & IL_SKU_N)
-               il_init_ht_hw_capab(il, &sband->ht_cap, IEEE80211_BAND_5GHZ);
+               il_init_ht_hw_capab(il, &sband->ht_cap, NL80211_BAND_5GHZ);
 
-       sband = &il->bands[IEEE80211_BAND_2GHZ];
+       sband = &il->bands[NL80211_BAND_2GHZ];
        sband->channels = channels;
        /* OFDM & CCK */
        sband->bitrates = rates;
        sband->n_bitrates = RATE_COUNT_LEGACY;
 
        if (il->cfg->sku & IL_SKU_N)
-               il_init_ht_hw_capab(il, &sband->ht_cap, IEEE80211_BAND_2GHZ);
+               il_init_ht_hw_capab(il, &sband->ht_cap, NL80211_BAND_2GHZ);
 
        il->ieee_channels = channels;
        il->ieee_rates = rates;
        il->tx_power_user_lmt = max_tx_power;
        il->tx_power_next = max_tx_power;
 
-       if (il->bands[IEEE80211_BAND_5GHZ].n_channels == 0 &&
+       if (il->bands[NL80211_BAND_5GHZ].n_channels == 0 &&
            (il->cfg->sku & IL_SKU_A)) {
                IL_INFO("Incorrectly detected BG card as ABG. "
                        "Please send your PCI ID 0x%04X:0x%04X to maintainer.\n",
        }
 
        IL_INFO("Tunable channels: %d 802.11bg, %d 802.11a channels\n",
-               il->bands[IEEE80211_BAND_2GHZ].n_channels,
-               il->bands[IEEE80211_BAND_5GHZ].n_channels);
+               il->bands[NL80211_BAND_2GHZ].n_channels,
+               il->bands[NL80211_BAND_5GHZ].n_channels);
 
        set_bit(S_GEO_CONFIGURED, &il->status);
 
 EXPORT_SYMBOL(il_free_geos);
 
 static bool
-il_is_channel_extension(struct il_priv *il, enum ieee80211_band band,
+il_is_channel_extension(struct il_priv *il, enum nl80211_band band,
                        u16 channel, u8 extension_chan_offset)
 {
        const struct il_channel_info *ch_info;
 
 /* Return valid, unused, channel for a passive scan to reset the RF */
 u8
-il_get_single_channel_number(struct il_priv *il, enum ieee80211_band band)
+il_get_single_channel_number(struct il_priv *il, enum nl80211_band band)
 {
        const struct il_channel_info *ch_info;
        int i;
        u8 channel = 0;
        u8 min, max;
 
-       if (band == IEEE80211_BAND_5GHZ) {
+       if (band == NL80211_BAND_5GHZ) {
                min = 14;
                max = il->channel_count;
        } else {
 int
 il_set_rxon_channel(struct il_priv *il, struct ieee80211_channel *ch)
 {
-       enum ieee80211_band band = ch->band;
+       enum nl80211_band band = ch->band;
        u16 channel = ch->hw_value;
 
        if (le16_to_cpu(il->staging.channel) == channel && il->band == band)
                return 0;
 
        il->staging.channel = cpu_to_le16(channel);
-       if (band == IEEE80211_BAND_5GHZ)
+       if (band == NL80211_BAND_5GHZ)
                il->staging.flags &= ~RXON_FLG_BAND_24G_MSK;
        else
                il->staging.flags |= RXON_FLG_BAND_24G_MSK;
 EXPORT_SYMBOL(il_set_rxon_channel);
 
 void
-il_set_flags_for_band(struct il_priv *il, enum ieee80211_band band,
+il_set_flags_for_band(struct il_priv *il, enum nl80211_band band,
                      struct ieee80211_vif *vif)
 {
-       if (band == IEEE80211_BAND_5GHZ) {
+       if (band == NL80211_BAND_5GHZ) {
                il->staging.flags &=
                    ~(RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK |
                      RXON_FLG_CCK_MSK);
 
        if (changes & BSS_CHANGED_ERP_CTS_PROT) {
                D_MAC80211("ERP_CTS %d\n", bss_conf->use_cts_prot);
-               if (bss_conf->use_cts_prot && il->band != IEEE80211_BAND_5GHZ)
+               if (bss_conf->use_cts_prot && il->band != NL80211_BAND_5GHZ)
                        il->staging.flags |= RXON_FLG_TGG_PROTECT_MSK;
                else
                        il->staging.flags &= ~RXON_FLG_TGG_PROTECT_MSK;
 
 int il_init_channel_map(struct il_priv *il);
 void il_free_channel_map(struct il_priv *il);
 const struct il_channel_info *il_get_channel_info(const struct il_priv *il,
-                                                 enum ieee80211_band band,
+                                                 enum nl80211_band band,
                                                  u16 channel);
 
 #define IL_NUM_SCAN_RATES         (2)
 
        u8 group_idx;           /* 0-4, maps channel to group1/2/3/4/5 */
        u8 band_idx;            /* 0-4, maps channel to band1/2/3/4/5 */
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        /* HT40 channel info */
        s8 ht40_max_power_avg;  /* (dBm) regul. eeprom, normal Tx, any rate */
  * @rx_wrt_ptr_reg: FH{39}_RSCSR_CHNL0_WPTR
  * @max_stations:
  * @ht40_channel: is 40MHz width possible in band 2.4
- * BIT(IEEE80211_BAND_5GHZ) BIT(IEEE80211_BAND_5GHZ)
+ * BIT(NL80211_BAND_5GHZ) BIT(NL80211_BAND_5GHZ)
  * @sw_crypto: 0 for hw, 1 for sw
  * @max_xxx_size: for ucode uses
  * @ct_kill_threshold: temperature threshold
        struct list_head free_frames;
        int frames_count;
 
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int alloc_rxb_page;
 
        void (*handlers[IL_CN_MAX]) (struct il_priv *il,
                                     struct il_rx_buf *rxb);
 
-       struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
 
        /* spectrum measurement report caching */
        struct il_spectrum_notification measure_report;
        unsigned long scan_start;
        unsigned long scan_start_tsf;
        void *scan_cmd;
-       enum ieee80211_band scan_band;
+       enum nl80211_band scan_band;
        struct cfg80211_scan_request *scan_request;
        struct ieee80211_vif *scan_vif;
-       u8 scan_tx_ant[IEEE80211_NUM_BANDS];
+       u8 scan_tx_ant[NUM_NL80211_BANDS];
        u8 mgmt_tx_ant;
 
        /* spinlock */
 static inline u8
 il_is_channel_a_band(const struct il_channel_info *ch_info)
 {
-       return ch_info->band == IEEE80211_BAND_5GHZ;
+       return ch_info->band == NL80211_BAND_5GHZ;
 }
 
 static inline int
        /* params not likely to change within a device family */
        struct il_base_params *base_params;
        /* params likely to change within a device family */
-       u8 scan_rx_antennas[IEEE80211_NUM_BANDS];
+       u8 scan_rx_antennas[NUM_NL80211_BANDS];
        enum il_led_mode led_mode;
 
        int eeprom_size;
 int il_check_rxon_cmd(struct il_priv *il);
 int il_full_rxon_required(struct il_priv *il);
 int il_set_rxon_channel(struct il_priv *il, struct ieee80211_channel *ch);
-void il_set_flags_for_band(struct il_priv *il, enum ieee80211_band band,
+void il_set_flags_for_band(struct il_priv *il, enum nl80211_band band,
                           struct ieee80211_vif *vif);
-u8 il_get_single_channel_number(struct il_priv *il, enum ieee80211_band band);
+u8 il_get_single_channel_number(struct il_priv *il, enum nl80211_band band);
 void il_set_rxon_ht(struct il_priv *il, struct il_ht_config *ht_conf);
 bool il_is_ht40_tx_allowed(struct il_priv *il,
                           struct ieee80211_sta_ht_cap *ht_cap);
 u16 il_fill_probe_req(struct il_priv *il, struct ieee80211_mgmt *frame,
                      const u8 *ta, const u8 *ie, int ie_len, int left);
 void il_setup_rx_scan_handlers(struct il_priv *il);
-u16 il_get_active_dwell_time(struct il_priv *il, enum ieee80211_band band,
+u16 il_get_active_dwell_time(struct il_priv *il, enum nl80211_band band,
                             u8 n_probes);
-u16 il_get_passive_dwell_time(struct il_priv *il, enum ieee80211_band band,
+u16 il_get_passive_dwell_time(struct il_priv *il, enum nl80211_band band,
                              struct ieee80211_vif *vif);
 void il_setup_scan_deferred_work(struct il_priv *il);
 void il_cancel_scan_deferred_work(struct il_priv *il);
 }
 
 static inline const struct ieee80211_supported_band *
-il_get_hw_mode(struct il_priv *il, enum ieee80211_band band)
+il_get_hw_mode(struct il_priv *il, enum nl80211_band band)
 {
        return il->hw->wiphy->bands[band];
 }
        u8 action_counter;      /* # mode-switch actions tried */
        u8 is_green;
        u8 is_dup;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        /* The following are bitmaps of rates; RATE_6M_MASK, etc. */
        u32 supp_rates;
 
                return -ENOMEM;
        }
 
-       supp_band = il_get_hw_mode(il, IEEE80211_BAND_2GHZ);
+       supp_band = il_get_hw_mode(il, NL80211_BAND_2GHZ);
        if (supp_band) {
                channels = supp_band->channels;
 
                                      flags & IEEE80211_CHAN_NO_IR ?
                                      "passive only" : "active/passive");
        }
-       supp_band = il_get_hw_mode(il, IEEE80211_BAND_5GHZ);
+       supp_band = il_get_hw_mode(il, NL80211_BAND_5GHZ);
        if (supp_band) {
                channels = supp_band->channels;
 
 
                         struct iwl_rxon_context *ctx);
 void iwl_set_flags_for_band(struct iwl_priv *priv,
                            struct iwl_rxon_context *ctx,
-                           enum ieee80211_band band,
+                           enum nl80211_band band,
                            struct ieee80211_vif *vif);
 
 /* uCode */
                                u8 flags, bool clear);
 
 static inline const struct ieee80211_supported_band *iwl_get_hw_mode(
-                       struct iwl_priv *priv, enum ieee80211_band band)
+                       struct iwl_priv *priv, enum nl80211_band band)
 {
        return priv->hw->wiphy->bands[band];
 }
 #endif
 
 /* rx */
-int iwlagn_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band);
+int iwlagn_hwrate_to_mac80211_idx(u32 rate_n_flags, enum nl80211_band band);
 void iwl_setup_rx_handlers(struct iwl_priv *priv);
 void iwl_chswitch_done(struct iwl_priv *priv, bool is_success);
 
 int __must_check iwl_scan_initiate(struct iwl_priv *priv,
                                   struct ieee80211_vif *vif,
                                   enum iwl_scan_type scan_type,
-                                  enum ieee80211_band band);
+                                  enum nl80211_band band);
 
 /* For faster active scanning, scan will move to the next channel if fewer than
  * PLCP_QUIET_THRESH packets are heard on this channel within
 
        if (!buf)
                return -ENOMEM;
 
-       supp_band = iwl_get_hw_mode(priv, IEEE80211_BAND_2GHZ);
+       supp_band = iwl_get_hw_mode(priv, NL80211_BAND_2GHZ);
        if (supp_band) {
                channels = supp_band->channels;
 
                                        IEEE80211_CHAN_NO_IR ?
                                        "passive only" : "active/passive");
        }
-       supp_band = iwl_get_hw_mode(priv, IEEE80211_BAND_5GHZ);
+       supp_band = iwl_get_hw_mode(priv, NL80211_BAND_5GHZ);
        if (supp_band) {
                channels = supp_band->channels;
 
 
 
        struct iwl_hw_params hw_params;
 
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u8 valid_contexts;
 
        void (*rx_handlers[REPLY_MAX])(struct iwl_priv *priv,
        unsigned long scan_start;
        unsigned long scan_start_tsf;
        void *scan_cmd;
-       enum ieee80211_band scan_band;
+       enum nl80211_band scan_band;
        struct cfg80211_scan_request *scan_request;
        struct ieee80211_vif *scan_vif;
        enum iwl_scan_type scan_type;
-       u8 scan_tx_ant[IEEE80211_NUM_BANDS];
+       u8 scan_tx_ant[NUM_NL80211_BANDS];
        u8 mgmt_tx_ant;
 
        /* max number of station keys */
 
                .data = { &cmd, },
        };
 
-       cmd.band = priv->band == IEEE80211_BAND_2GHZ;
+       cmd.band = priv->band == NL80211_BAND_2GHZ;
        ch = ch_switch->chandef.chan->hw_value;
        IWL_DEBUG_11H(priv, "channel switch from %d to %d\n",
                      ctx->active.channel, ch);
 
        hcmd.data[0] = cmd;
 
-       cmd->band = priv->band == IEEE80211_BAND_2GHZ;
+       cmd->band = priv->band == NL80211_BAND_2GHZ;
        ch = ch_switch->chandef.chan->hw_value;
        IWL_DEBUG_11H(priv, "channel switch from %u to %u\n",
                      ctx->active.channel, ch);
 
        iwl_tt_handler(priv);
 }
 
-int iwlagn_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band)
+int iwlagn_hwrate_to_mac80211_idx(u32 rate_n_flags, enum nl80211_band band)
 {
        int idx = 0;
        int band_offset = 0;
                return idx;
        /* Legacy rate format, search for match in table */
        } else {
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        band_offset = IWL_FIRST_OFDM_RATE;
                for (idx = band_offset; idx < IWL_RATE_COUNT_LEGACY; idx++)
                        if (iwl_rates[idx].plcp == (rate_n_flags & 0xFF))
        int i;
        u8 ind = ant;
 
-       if (priv->band == IEEE80211_BAND_2GHZ &&
+       if (priv->band == NL80211_BAND_2GHZ &&
            priv->bt_traffic_load >= IWL_BT_COEX_TRAFFIC_LOAD_HIGH)
                return 0;
 
 
 
        hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL;
 
-       if (priv->nvm_data->bands[IEEE80211_BAND_2GHZ].n_channels)
-               priv->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
-                       &priv->nvm_data->bands[IEEE80211_BAND_2GHZ];
-       if (priv->nvm_data->bands[IEEE80211_BAND_5GHZ].n_channels)
-               priv->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
-                       &priv->nvm_data->bands[IEEE80211_BAND_5GHZ];
+       if (priv->nvm_data->bands[NL80211_BAND_2GHZ].n_channels)
+               priv->hw->wiphy->bands[NL80211_BAND_2GHZ] =
+                       &priv->nvm_data->bands[NL80211_BAND_2GHZ];
+       if (priv->nvm_data->bands[NL80211_BAND_5GHZ].n_channels)
+               priv->hw->wiphy->bands[NL80211_BAND_5GHZ] =
+                       &priv->nvm_data->bands[NL80211_BAND_5GHZ];
 
        hw->wiphy->hw_version = priv->trans->hw_id;
 
 
        rate_flags = iwl_ant_idx_to_flags(priv->mgmt_tx_ant);
 
        /* In mac80211, rates for 5 GHz start at 0 */
-       if (info->band == IEEE80211_BAND_5GHZ)
+       if (info->band == NL80211_BAND_5GHZ)
                rate += IWL_FIRST_OFDM_RATE;
        else if (rate >= IWL_FIRST_CCK_RATE && rate <= IWL_LAST_CCK_RATE)
                rate_flags |= RATE_MCS_CCK_MSK;
 
        INIT_LIST_HEAD(&priv->calib_results);
 
-       priv->band = IEEE80211_BAND_2GHZ;
+       priv->band = NL80211_BAND_2GHZ;
 
        priv->plcp_delta_threshold = priv->lib->plcp_delta_threshold;
 
 
  * fill "search" or "active" tx mode table.
  */
 static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
-                                   enum ieee80211_band band,
+                                   enum nl80211_band band,
                                    struct iwl_scale_tbl_info *tbl,
                                    int *rate_idx)
 {
        /* legacy rate format */
        if (!(rate_n_flags & RATE_MCS_HT_MSK)) {
                if (num_of_ant == 1) {
-                       if (band == IEEE80211_BAND_5GHZ)
+                       if (band == NL80211_BAND_5GHZ)
                                tbl->lq_type = LQ_A;
                        else
                                tbl->lq_type = LQ_G;
        if (!is_legacy(tbl->lq_type) && (!ht_possible || !scale_index)) {
                switch_to_legacy = 1;
                scale_index = rs_ht_to_legacy[scale_index];
-               if (lq_sta->band == IEEE80211_BAND_5GHZ)
+               if (lq_sta->band == NL80211_BAND_5GHZ)
                        tbl->lq_type = LQ_A;
                else
                        tbl->lq_type = LQ_G;
        /* Mask with station rate restriction */
        if (is_legacy(tbl->lq_type)) {
                /* supp_rates has no CCK bits in A mode */
-               if (lq_sta->band == IEEE80211_BAND_5GHZ)
+               if (lq_sta->band == NL80211_BAND_5GHZ)
                        rate_mask  = (u16)(rate_mask &
                           (lq_sta->supp_rates << IWL_FIRST_OFDM_RATE));
                else
        table = &lq_sta->lq;
        tx_rate = le32_to_cpu(table->rs_table[0].rate_n_flags);
        rs_get_tbl_info_from_mcs(tx_rate, priv->band, &tbl_type, &rs_index);
-       if (priv->band == IEEE80211_BAND_5GHZ)
+       if (priv->band == NL80211_BAND_5GHZ)
                rs_index -= IWL_FIRST_OFDM_RATE;
        mac_flags = info->status.rates[0].flags;
        mac_index = info->status.rates[0].idx;
                 * mac80211 HT index is always zero-indexed; we need to move
                 * HT OFDM rates after CCK rates in 2.4 GHz band
                 */
-               if (priv->band == IEEE80211_BAND_2GHZ)
+               if (priv->band == NL80211_BAND_2GHZ)
                        mac_index += IWL_FIRST_OFDM_RATE;
        }
        /* Here we actually compare this rate to the latest LQ command */
 
        /* mask with station rate restriction */
        if (is_legacy(tbl->lq_type)) {
-               if (lq_sta->band == IEEE80211_BAND_5GHZ)
+               if (lq_sta->band == NL80211_BAND_5GHZ)
                        /* supp_rates has no CCK bits in A mode */
                        rate_scale_index_msk = (u16) (rate_mask &
                                (lq_sta->supp_rates << IWL_FIRST_OFDM_RATE));
        /* Get max rate if user set max rate */
        if (lq_sta) {
                lq_sta->max_rate_idx = txrc->max_rate_idx;
-               if ((sband->band == IEEE80211_BAND_5GHZ) &&
+               if ((sband->band == NL80211_BAND_5GHZ) &&
                    (lq_sta->max_rate_idx != -1))
                        lq_sta->max_rate_idx += IWL_FIRST_OFDM_RATE;
                if ((lq_sta->max_rate_idx < 0) ||
        } else {
                /* Check for invalid rates */
                if ((rate_idx < 0) || (rate_idx >= IWL_RATE_COUNT_LEGACY) ||
-                               ((sband->band == IEEE80211_BAND_5GHZ) &&
+                               ((sband->band == NL80211_BAND_5GHZ) &&
                                 (rate_idx < IWL_FIRST_OFDM_RATE)))
                        rate_idx = rate_lowest_index(sband, sta);
                /* On valid 5 GHz rate, adjust index */
-               else if (sband->band == IEEE80211_BAND_5GHZ)
+               else if (sband->band == NL80211_BAND_5GHZ)
                        rate_idx -= IWL_FIRST_OFDM_RATE;
                info->control.rates[0].flags = 0;
        }
 
        /* Set last_txrate_idx to lowest rate */
        lq_sta->last_txrate_idx = rate_lowest_index(sband, sta);
-       if (sband->band == IEEE80211_BAND_5GHZ)
+       if (sband->band == NL80211_BAND_5GHZ)
                lq_sta->last_txrate_idx += IWL_FIRST_OFDM_RATE;
        lq_sta->is_agg = 0;
 #ifdef CONFIG_MAC80211_DEBUGFS
 
        u8 action_counter;      /* # mode-switch actions tried */
        u8 is_green;
        u8 is_dup;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        /* The following are bitmaps of rates; IWL_RATE_6M_MASK, etc. */
        u32 supp_rates;
 
        /* rx_status carries information about the packet to mac80211 */
        rx_status.mactime = le64_to_cpu(phy_res->timestamp);
        rx_status.band = (phy_res->phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ?
-                               IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+                               NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
        rx_status.freq =
                ieee80211_channel_to_frequency(le16_to_cpu(phy_res->channel),
                                               rx_status.band);
 
 void iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch,
                         struct iwl_rxon_context *ctx)
 {
-       enum ieee80211_band band = ch->band;
+       enum nl80211_band band = ch->band;
        u16 channel = ch->hw_value;
 
        if ((le16_to_cpu(ctx->staging.channel) == channel) &&
                return;
 
        ctx->staging.channel = cpu_to_le16(channel);
-       if (band == IEEE80211_BAND_5GHZ)
+       if (band == NL80211_BAND_5GHZ)
                ctx->staging.flags &= ~RXON_FLG_BAND_24G_MSK;
        else
                ctx->staging.flags |= RXON_FLG_BAND_24G_MSK;
 
 void iwl_set_flags_for_band(struct iwl_priv *priv,
                            struct iwl_rxon_context *ctx,
-                           enum ieee80211_band band,
+                           enum nl80211_band band,
                            struct ieee80211_vif *vif)
 {
-       if (band == IEEE80211_BAND_5GHZ) {
+       if (band == NL80211_BAND_5GHZ) {
                ctx->staging.flags &=
                    ~(RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK
                      | RXON_FLG_CCK_MSK);
 
        iwlagn_set_rxon_chain(priv, ctx);
 
-       if (bss_conf->use_cts_prot && (priv->band != IEEE80211_BAND_5GHZ))
+       if (bss_conf->use_cts_prot && (priv->band != NL80211_BAND_5GHZ))
                ctx->staging.flags |= RXON_FLG_TGG_PROTECT_MSK;
        else
                ctx->staging.flags &= ~RXON_FLG_TGG_PROTECT_MSK;
 
                       scan_notif->tsf_high, scan_notif->status);
 
        IWL_DEBUG_SCAN(priv, "Scan on %sGHz took %dms\n",
-                      (priv->scan_band == IEEE80211_BAND_2GHZ) ? "2.4" : "5.2",
+                      (priv->scan_band == NL80211_BAND_2GHZ) ? "2.4" : "5.2",
                       jiffies_to_msecs(jiffies - priv->scan_start));
 
        /*
 }
 
 static u16 iwl_get_active_dwell_time(struct iwl_priv *priv,
-                                    enum ieee80211_band band, u8 n_probes)
+                                    enum nl80211_band band, u8 n_probes)
 {
-       if (band == IEEE80211_BAND_5GHZ)
+       if (band == NL80211_BAND_5GHZ)
                return IWL_ACTIVE_DWELL_TIME_52 +
                        IWL_ACTIVE_DWELL_FACTOR_52GHZ * (n_probes + 1);
        else
 }
 
 static u16 iwl_get_passive_dwell_time(struct iwl_priv *priv,
-                                     enum ieee80211_band band)
+                                     enum nl80211_band band)
 {
-       u16 passive = (band == IEEE80211_BAND_2GHZ) ?
+       u16 passive = (band == NL80211_BAND_2GHZ) ?
            IWL_PASSIVE_DWELL_BASE + IWL_PASSIVE_DWELL_TIME_24 :
            IWL_PASSIVE_DWELL_BASE + IWL_PASSIVE_DWELL_TIME_52;
 
 
 /* Return valid, unused, channel for a passive scan to reset the RF */
 static u8 iwl_get_single_channel_number(struct iwl_priv *priv,
-                                       enum ieee80211_band band)
+                                       enum nl80211_band band)
 {
        struct ieee80211_supported_band *sband = priv->hw->wiphy->bands[band];
        struct iwl_rxon_context *ctx;
 
 static int iwl_get_channel_for_reset_scan(struct iwl_priv *priv,
                                          struct ieee80211_vif *vif,
-                                         enum ieee80211_band band,
+                                         enum nl80211_band band,
                                          struct iwl_scan_channel *scan_ch)
 {
        const struct ieee80211_supported_band *sband;
                        cpu_to_le16(IWL_RADIO_RESET_DWELL_TIME);
                /* Set txpower levels to defaults */
                scan_ch->dsp_atten = 110;
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        scan_ch->tx_gain = ((1 << 5) | (3 << 3)) | 3;
                else
                        scan_ch->tx_gain = ((1 << 5) | (5 << 3));
 
 static int iwl_get_channels_for_scan(struct iwl_priv *priv,
                                     struct ieee80211_vif *vif,
-                                    enum ieee80211_band band,
+                                    enum nl80211_band band,
                                     u8 is_active, u8 n_probes,
                                     struct iwl_scan_channel *scan_ch)
 {
                 * power level:
                 * scan_ch->tx_gain = ((1 << 5) | (2 << 3)) | 3;
                 */
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        scan_ch->tx_gain = ((1 << 5) | (3 << 3)) | 3;
                else
                        scan_ch->tx_gain = ((1 << 5) | (5 << 3));
        u32 rate_flags = 0;
        u16 cmd_len = 0;
        u16 rx_chain = 0;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u8 n_probes = 0;
        u8 rx_ant = priv->nvm_data->valid_rx_ant;
        u8 rate;
        scan->tx_cmd.stop_time.life_time = TX_CMD_LIFE_TIME_INFINITE;
 
        switch (priv->scan_band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                scan->flags = RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK;
                chan_mod = le32_to_cpu(
                        priv->contexts[IWL_RXON_CTX_BSS].active.flags &
                    priv->lib->bt_params->advanced_bt_coexist)
                        scan->tx_cmd.tx_flags |= TX_CMD_FLG_IGNORE_BT;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                rate = IWL_RATE_6M_PLCP;
                break;
        default:
 
        band = priv->scan_band;
 
-       if (band == IEEE80211_BAND_2GHZ &&
+       if (band == NL80211_BAND_2GHZ &&
            priv->lib->bt_params &&
            priv->lib->bt_params->advanced_bt_coexist) {
                /* transmit 2.4 GHz probes only on first antenna */
 void iwl_init_scan_params(struct iwl_priv *priv)
 {
        u8 ant_idx = fls(priv->nvm_data->valid_tx_ant) - 1;
-       if (!priv->scan_tx_ant[IEEE80211_BAND_5GHZ])
-               priv->scan_tx_ant[IEEE80211_BAND_5GHZ] = ant_idx;
-       if (!priv->scan_tx_ant[IEEE80211_BAND_2GHZ])
-               priv->scan_tx_ant[IEEE80211_BAND_2GHZ] = ant_idx;
+       if (!priv->scan_tx_ant[NL80211_BAND_5GHZ])
+               priv->scan_tx_ant[NL80211_BAND_5GHZ] = ant_idx;
+       if (!priv->scan_tx_ant[NL80211_BAND_2GHZ])
+               priv->scan_tx_ant[NL80211_BAND_2GHZ] = ant_idx;
 }
 
 int __must_check iwl_scan_initiate(struct iwl_priv *priv,
                                   struct ieee80211_vif *vif,
                                   enum iwl_scan_type scan_type,
-                                  enum ieee80211_band band)
+                                  enum nl80211_band band)
 {
        int ret;
 
 
 
        /* Set up the rate scaling to start at selected rate, fall back
         * all the way down to 1M in IEEE order, and then spin on 1M */
-       if (priv->band == IEEE80211_BAND_5GHZ)
+       if (priv->band == NL80211_BAND_5GHZ)
                r = IWL_RATE_6M_INDEX;
        else if (ctx && ctx->vif && ctx->vif->p2p)
                r = IWL_RATE_6M_INDEX;
 
                tx_flags |= TX_CMD_FLG_TSF_MSK;
        else if (ieee80211_is_back_req(fc))
                tx_flags |= TX_CMD_FLG_ACK_MSK | TX_CMD_FLG_IMM_BA_RSP_MASK;
-       else if (info->band == IEEE80211_BAND_2GHZ &&
+       else if (info->band == NL80211_BAND_2GHZ &&
                 priv->lib->bt_params &&
                 priv->lib->bt_params->advanced_bt_coexist &&
                 (ieee80211_is_auth(fc) || ieee80211_is_assoc_req(fc) ||
                rate_idx = rate_lowest_index(
                                &priv->nvm_data->bands[info->band], sta);
        /* For 5 GHZ band, remap mac80211 rate indices into driver indices */
-       if (info->band == IEEE80211_BAND_5GHZ)
+       if (info->band == NL80211_BAND_5GHZ)
                rate_idx += IWL_FIRST_OFDM_RATE;
        /* Get PLCP rate for tx_cmd->rate_n_flags */
        rate_plcp = iwl_rates[rate_idx].plcp;
 
 static const struct iwl_ht_params iwl1000_ht_params = {
        .ht_greenfield_support = true,
        .use_rts_for_aggregation = true, /* use rts/cts protection */
-       .ht40_bands = BIT(IEEE80211_BAND_2GHZ),
+       .ht40_bands = BIT(NL80211_BAND_2GHZ),
 };
 
 static const struct iwl_eeprom_params iwl1000_eeprom_params = {
 
 static const struct iwl_ht_params iwl2000_ht_params = {
        .ht_greenfield_support = true,
        .use_rts_for_aggregation = true, /* use rts/cts protection */
-       .ht40_bands = BIT(IEEE80211_BAND_2GHZ),
+       .ht40_bands = BIT(NL80211_BAND_2GHZ),
 };
 
 static const struct iwl_eeprom_params iwl20x0_eeprom_params = {
 
 
 static const struct iwl_ht_params iwl5000_ht_params = {
        .ht_greenfield_support = true,
-       .ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
+       .ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ),
 };
 
 static const struct iwl_eeprom_params iwl5000_eeprom_params = {
 
 static const struct iwl_ht_params iwl6000_ht_params = {
        .ht_greenfield_support = true,
        .use_rts_for_aggregation = true, /* use rts/cts protection */
-       .ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
+       .ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ),
 };
 
 static const struct iwl_eeprom_params iwl6000_eeprom_params = {
 
 
 static const struct iwl_ht_params iwl7000_ht_params = {
        .stbc = true,
-       .ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
+       .ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ),
 };
 
 #define IWL_DEVICE_7000_COMMON                                 \
 static const struct iwl_ht_params iwl7265_ht_params = {
        .stbc = true,
        .ldpc = true,
-       .ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
+       .ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ),
 };
 
 const struct iwl_cfg iwl3165_2ac_cfg = {
 
 static const struct iwl_ht_params iwl8000_ht_params = {
        .stbc = true,
        .ldpc = true,
-       .ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
+       .ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ),
 };
 
 static const struct iwl_tt_params iwl8000_tt_params = {
 
 static const struct iwl_ht_params iwl9000_ht_params = {
        .stbc = true,
        .ldpc = true,
-       .ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
+       .ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ),
 };
 
 static const struct iwl_tt_params iwl9000_tt_params = {
 
  * @stbc: support Tx STBC and 1*SS Rx STBC
  * @ldpc: support Tx/Rx with LDPC
  * @use_rts_for_aggregation: use rts/cts protection for HT traffic
- * @ht40_bands: bitmap of bands (using %IEEE80211_BAND_*) that support HT40
+ * @ht40_bands: bitmap of bands (using %NL80211_BAND_*) that support HT40
  */
 struct iwl_ht_params {
        enum ieee80211_smps_mode smps_mode;
 
                                int n_channels, s8 max_txpower_avg)
 {
        int ch_idx;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        band = txp->flags & IWL_EEPROM_ENH_TXP_FL_BAND_52G ?
-               IEEE80211_BAND_5GHZ : IEEE80211_BAND_2GHZ;
+               NL80211_BAND_5GHZ : NL80211_BAND_2GHZ;
 
        for (ch_idx = 0; ch_idx < n_channels; ch_idx++) {
                struct ieee80211_channel *chan = &data->channels[ch_idx];
 
 static void iwl_mod_ht40_chan_info(struct device *dev,
                                   struct iwl_nvm_data *data, int n_channels,
-                                  enum ieee80211_band band, u16 channel,
+                                  enum nl80211_band band, u16 channel,
                                   const struct iwl_eeprom_channel *eeprom_ch,
                                   u8 clear_ht40_extension_channel)
 {
        IWL_DEBUG_EEPROM(dev,
                         "HT40 Ch. %d [%sGHz] %s%s%s%s%s(0x%02x %ddBm): Ad-Hoc %ssupported\n",
                         channel,
-                        band == IEEE80211_BAND_5GHZ ? "5.2" : "2.4",
+                        band == NL80211_BAND_5GHZ ? "5.2" : "2.4",
                         CHECK_AND_PRINT(IBSS),
                         CHECK_AND_PRINT(ACTIVE),
                         CHECK_AND_PRINT(RADAR),
                        n_channels++;
 
                        channel->hw_value = eeprom_ch_array[ch_idx];
-                       channel->band = (band == 1) ? IEEE80211_BAND_2GHZ
-                                                   : IEEE80211_BAND_5GHZ;
+                       channel->band = (band == 1) ? NL80211_BAND_2GHZ
+                                                   : NL80211_BAND_5GHZ;
                        channel->center_freq =
                                ieee80211_channel_to_frequency(
                                        channel->hw_value, channel->band);
 
        /* Two additional EEPROM bands for 2.4 and 5 GHz HT40 channels */
        for (band = 6; band <= 7; band++) {
-               enum ieee80211_band ieeeband;
+               enum nl80211_band ieeeband;
 
                iwl_init_band_reference(cfg, eeprom, eeprom_size, band,
                                        &eeprom_ch_count, &eeprom_ch_info,
                                        &eeprom_ch_array);
 
                /* EEPROM band 6 is 2.4, band 7 is 5 GHz */
-               ieeeband = (band == 6) ? IEEE80211_BAND_2GHZ
-                                      : IEEE80211_BAND_5GHZ;
+               ieeeband = (band == 6) ? NL80211_BAND_2GHZ
+                                      : NL80211_BAND_5GHZ;
 
                /* Loop through each band adding each of the channels */
                for (ch_idx = 0; ch_idx < eeprom_ch_count; ch_idx++) {
 
 int iwl_init_sband_channels(struct iwl_nvm_data *data,
                            struct ieee80211_supported_band *sband,
-                           int n_channels, enum ieee80211_band band)
+                           int n_channels, enum nl80211_band band)
 {
        struct ieee80211_channel *chan = &data->channels[0];
        int n = 0, idx = 0;
 void iwl_init_ht_hw_capab(const struct iwl_cfg *cfg,
                          struct iwl_nvm_data *data,
                          struct ieee80211_sta_ht_cap *ht_info,
-                         enum ieee80211_band band,
+                         enum nl80211_band band,
                          u8 tx_chains, u8 rx_chains)
 {
        int max_bit_rate = 0;
        int n_used = 0;
        struct ieee80211_supported_band *sband;
 
-       sband = &data->bands[IEEE80211_BAND_2GHZ];
-       sband->band = IEEE80211_BAND_2GHZ;
+       sband = &data->bands[NL80211_BAND_2GHZ];
+       sband->band = NL80211_BAND_2GHZ;
        sband->bitrates = &iwl_cfg80211_rates[RATES_24_OFFS];
        sband->n_bitrates = N_RATES_24;
        n_used += iwl_init_sband_channels(data, sband, n_channels,
-                                         IEEE80211_BAND_2GHZ);
-       iwl_init_ht_hw_capab(cfg, data, &sband->ht_cap, IEEE80211_BAND_2GHZ,
+                                         NL80211_BAND_2GHZ);
+       iwl_init_ht_hw_capab(cfg, data, &sband->ht_cap, NL80211_BAND_2GHZ,
                             data->valid_tx_ant, data->valid_rx_ant);
 
-       sband = &data->bands[IEEE80211_BAND_5GHZ];
-       sband->band = IEEE80211_BAND_5GHZ;
+       sband = &data->bands[NL80211_BAND_5GHZ];
+       sband->band = NL80211_BAND_5GHZ;
        sband->bitrates = &iwl_cfg80211_rates[RATES_52_OFFS];
        sband->n_bitrates = N_RATES_52;
        n_used += iwl_init_sband_channels(data, sband, n_channels,
-                                         IEEE80211_BAND_5GHZ);
-       iwl_init_ht_hw_capab(cfg, data, &sband->ht_cap, IEEE80211_BAND_5GHZ,
+                                         NL80211_BAND_5GHZ);
+       iwl_init_ht_hw_capab(cfg, data, &sband->ht_cap, NL80211_BAND_5GHZ,
                             data->valid_tx_ant, data->valid_rx_ant);
 
        if (n_channels != n_used)
 
        s8 max_tx_pwr_half_dbm;
 
        bool lar_enabled;
-       struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
        struct ieee80211_channel channels[];
 };
 
 
 int iwl_init_sband_channels(struct iwl_nvm_data *data,
                            struct ieee80211_supported_band *sband,
-                           int n_channels, enum ieee80211_band band);
+                           int n_channels, enum nl80211_band band);
 
 void iwl_init_ht_hw_capab(const struct iwl_cfg *cfg,
                          struct iwl_nvm_data *data,
                          struct ieee80211_sta_ht_cap *ht_info,
-                         enum ieee80211_band band,
+                         enum nl80211_band band,
                          u8 tx_chains, u8 rx_chains);
 
 #endif /* __iwl_eeprom_parse_h__ */
 
 
                channel->hw_value = nvm_chan[ch_idx];
                channel->band = (ch_idx < num_2ghz_channels) ?
-                               IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+                               NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
                channel->center_freq =
                        ieee80211_channel_to_frequency(
                                channel->hw_value, channel->band);
                 * is not used in mvm, and is used for backwards compatibility
                 */
                channel->max_power = IWL_DEFAULT_MAX_TX_POWER;
-               is_5ghz = channel->band == IEEE80211_BAND_5GHZ;
+               is_5ghz = channel->band == NL80211_BAND_5GHZ;
 
                /* don't put limitations in case we're using LAR */
                if (!lar_supported)
                                &ch_section[NVM_CHANNELS_FAMILY_8000],
                                lar_supported);
 
-       sband = &data->bands[IEEE80211_BAND_2GHZ];
-       sband->band = IEEE80211_BAND_2GHZ;
+       sband = &data->bands[NL80211_BAND_2GHZ];
+       sband->band = NL80211_BAND_2GHZ;
        sband->bitrates = &iwl_cfg80211_rates[RATES_24_OFFS];
        sband->n_bitrates = N_RATES_24;
        n_used += iwl_init_sband_channels(data, sband, n_channels,
-                                         IEEE80211_BAND_2GHZ);
-       iwl_init_ht_hw_capab(cfg, data, &sband->ht_cap, IEEE80211_BAND_2GHZ,
+                                         NL80211_BAND_2GHZ);
+       iwl_init_ht_hw_capab(cfg, data, &sband->ht_cap, NL80211_BAND_2GHZ,
                             tx_chains, rx_chains);
 
-       sband = &data->bands[IEEE80211_BAND_5GHZ];
-       sband->band = IEEE80211_BAND_5GHZ;
+       sband = &data->bands[NL80211_BAND_5GHZ];
+       sband->band = NL80211_BAND_5GHZ;
        sband->bitrates = &iwl_cfg80211_rates[RATES_52_OFFS];
        sband->n_bitrates = N_RATES_52;
        n_used += iwl_init_sband_channels(data, sband, n_channels,
-                                         IEEE80211_BAND_5GHZ);
-       iwl_init_ht_hw_capab(cfg, data, &sband->ht_cap, IEEE80211_BAND_5GHZ,
+                                         NL80211_BAND_5GHZ);
+       iwl_init_ht_hw_capab(cfg, data, &sband->ht_cap, NL80211_BAND_5GHZ,
                             tx_chains, rx_chains);
        if (data->sku_cap_11ac_enable && !iwlwifi_mod_params.disable_11ac)
                iwl_init_vht_hw_capab(cfg, data, &sband->vht_cap,
        struct ieee80211_regdomain *regd;
        int size_of_regd;
        struct ieee80211_reg_rule *rule;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int center_freq, prev_center_freq = 0;
        int valid_rules = 0;
        bool new_rule;
        for (ch_idx = 0; ch_idx < num_of_ch; ch_idx++) {
                ch_flags = (u16)__le32_to_cpup(channels + ch_idx);
                band = (ch_idx < NUM_2GHZ_CHANNELS) ?
-                      IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+                      NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
                center_freq = ieee80211_channel_to_frequency(nvm_chan[ch_idx],
                                                             band);
                new_rule = false;
                IWL_DEBUG_DEV(dev, IWL_DL_LAR,
                              "Ch. %d [%sGHz] %s%s%s%s%s%s%s%s%s(0x%02x): Ad-Hoc %ssupported\n",
                              center_freq,
-                             band == IEEE80211_BAND_5GHZ ? "5.2" : "2.4",
+                             band == NL80211_BAND_5GHZ ? "5.2" : "2.4",
                              CHECK_AND_PRINT_I(VALID),
                              CHECK_AND_PRINT_I(ACTIVE),
                              CHECK_AND_PRINT_I(RADAR),
 
        chanctx_conf = rcu_dereference(vif->chanctx_conf);
 
        if (!chanctx_conf ||
-            chanctx_conf->def.chan->band != IEEE80211_BAND_2GHZ) {
+            chanctx_conf->def.chan->band != NL80211_BAND_2GHZ) {
                rcu_read_unlock();
                return BT_COEX_INVALID_LUT;
        }
 
        /* If channel context is invalid or not on 2.4GHz .. */
        if ((!chanctx_conf ||
-            chanctx_conf->def.chan->band != IEEE80211_BAND_2GHZ)) {
+            chanctx_conf->def.chan->band != NL80211_BAND_2GHZ)) {
                if (vif->type == NL80211_IFTYPE_STATION) {
                        /* ... relax constraints and disable rssi events */
                        iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX,
 }
 
 bool iwl_mvm_bt_coex_is_tpc_allowed(struct iwl_mvm *mvm,
-                                   enum ieee80211_band band)
+                                   enum nl80211_band band)
 {
        u32 bt_activity = le32_to_cpu(mvm->last_bt_notif.bt_activity_grading);
 
-       if (band != IEEE80211_BAND_2GHZ)
+       if (band != NL80211_BAND_2GHZ)
                return false;
 
        return bt_activity >= BT_LOW_TRAFFIC;
        __le16 fc = hdr->frame_control;
        bool mplut_enabled = iwl_mvm_is_mplut_supported(mvm);
 
-       if (info->band != IEEE80211_BAND_2GHZ)
+       if (info->band != NL80211_BAND_2GHZ)
                return 0;
 
        if (unlikely(mvm->bt_tx_prio))
 
 
                ret = kstrtou32(data, 10, &value);
                if (ret == 0 && value) {
-                       enum ieee80211_band band = (cmd->channel_num <= 14) ?
-                                                  IEEE80211_BAND_2GHZ :
-                                                  IEEE80211_BAND_5GHZ;
+                       enum nl80211_band band = (cmd->channel_num <= 14) ?
+                                                  NL80211_BAND_2GHZ :
+                                                  NL80211_BAND_5GHZ;
                        struct ieee80211_channel chn = {
                                .band = band,
                                .center_freq = ieee80211_channel_to_frequency(
 
                goto error;
 
        /* Add all the PHY contexts */
-       chan = &mvm->hw->wiphy->bands[IEEE80211_BAND_2GHZ]->channels[0];
+       chan = &mvm->hw->wiphy->bands[NL80211_BAND_2GHZ]->channels[0];
        cfg80211_chandef_create(&chandef, chan, NL80211_CHAN_NO_HT);
        for (i = 0; i < NUM_PHY_CTX; i++) {
                /*
 
 
 static void iwl_mvm_ack_rates(struct iwl_mvm *mvm,
                              struct ieee80211_vif *vif,
-                             enum ieee80211_band band,
+                             enum nl80211_band band,
                              u8 *cck_rates, u8 *ofdm_rates)
 {
        struct ieee80211_supported_band *sband;
        rcu_read_lock();
        chanctx = rcu_dereference(vif->chanctx_conf);
        iwl_mvm_ack_rates(mvm, vif, chanctx ? chanctx->def.chan->band
-                                           : IEEE80211_BAND_2GHZ,
+                                           : NL80211_BAND_2GHZ,
                          &cck_ack_rates, &ofdm_ack_rates);
        rcu_read_unlock();
 
                cpu_to_le32(BIT(mvm->mgmt_last_antenna_idx) <<
                            RATE_MCS_ANT_POS);
 
-       if (info->band == IEEE80211_BAND_5GHZ || vif->p2p) {
+       if (info->band == NL80211_BAND_5GHZ || vif->p2p) {
                rate = IWL_FIRST_OFDM_RATE;
        } else {
                rate = IWL_FIRST_CCK_RATE;
        rx_status.device_timestamp = le32_to_cpu(sb->system_time);
        rx_status.band =
                (sb->phy_flags & cpu_to_le16(RX_RES_PHY_FLAGS_BAND_24)) ?
-                               IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+                               NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
        rx_status.freq =
                ieee80211_channel_to_frequency(le16_to_cpu(sb->channel),
                                               rx_status.band);
 
        else
                mvm->max_scans = IWL_MVM_MAX_LMAC_SCANS;
 
-       if (mvm->nvm_data->bands[IEEE80211_BAND_2GHZ].n_channels)
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
-                       &mvm->nvm_data->bands[IEEE80211_BAND_2GHZ];
-       if (mvm->nvm_data->bands[IEEE80211_BAND_5GHZ].n_channels) {
-               hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
-                       &mvm->nvm_data->bands[IEEE80211_BAND_5GHZ];
+       if (mvm->nvm_data->bands[NL80211_BAND_2GHZ].n_channels)
+               hw->wiphy->bands[NL80211_BAND_2GHZ] =
+                       &mvm->nvm_data->bands[NL80211_BAND_2GHZ];
+       if (mvm->nvm_data->bands[NL80211_BAND_5GHZ].n_channels) {
+               hw->wiphy->bands[NL80211_BAND_5GHZ] =
+                       &mvm->nvm_data->bands[NL80211_BAND_5GHZ];
 
                if (fw_has_capa(&mvm->fw->ucode_capa,
                                IWL_UCODE_TLV_CAPA_BEAMFORMER) &&
                    fw_has_api(&mvm->fw->ucode_capa,
                               IWL_UCODE_TLV_API_LQ_SS_PARAMS))
-                       hw->wiphy->bands[IEEE80211_BAND_5GHZ]->vht_cap.cap |=
+                       hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap.cap |=
                                IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE;
        }
 
                        cpu_to_le32(FW_CMD_ID_AND_COLOR(MAC_INDEX_AUX, 0)),
                .sta_id_and_color = cpu_to_le32(mvm->aux_sta.sta_id),
                /* Set the channel info data */
-               .channel_info.band = (channel->band == IEEE80211_BAND_2GHZ) ?
+               .channel_info.band = (channel->band == NL80211_BAND_2GHZ) ?
                        PHY_BAND_24 : PHY_BAND_5,
                .channel_info.channel = channel->hw_value,
                .channel_info.width = PHY_VHT_CHANNEL_MODE20,
 
 
 /* Utils */
 int iwl_mvm_legacy_rate_to_mac80211_idx(u32 rate_n_flags,
-                                       enum ieee80211_band band);
+                                       enum nl80211_band band);
 void iwl_mvm_hwrate_to_tx_rate(u32 rate_n_flags,
-                              enum ieee80211_band band,
+                              enum nl80211_band band,
                               struct ieee80211_tx_rate *r);
 u8 iwl_mvm_mac80211_idx_to_hwrate(int rate_idx);
 void iwl_mvm_dump_nic_error_log(struct iwl_mvm *mvm);
 bool iwl_mvm_bt_coex_is_ant_avail(struct iwl_mvm *mvm, u8 ant);
 bool iwl_mvm_bt_coex_is_shared_ant_avail(struct iwl_mvm *mvm);
 bool iwl_mvm_bt_coex_is_tpc_allowed(struct iwl_mvm *mvm,
-                                   enum ieee80211_band band);
+                                   enum nl80211_band band);
 u8 iwl_mvm_bt_coex_tx_prio(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr,
                           struct ieee80211_tx_info *info, u8 ac);
 
 
        u8 active_cnt, idle_cnt;
 
        /* Set the channel info data */
-       cmd->ci.band = (chandef->chan->band == IEEE80211_BAND_2GHZ ?
+       cmd->ci.band = (chandef->chan->band == NL80211_BAND_2GHZ ?
              PHY_BAND_24 : PHY_BAND_5);
 
        cmd->ci.channel = chandef->chan->hw_value;
 
 
 /* Convert a ucode rate into an rs_rate object */
 static int rs_rate_from_ucode_rate(const u32 ucode_rate,
-                                  enum ieee80211_band band,
+                                  enum nl80211_band band,
                                   struct rs_rate *rate)
 {
        u32 ant_msk = ucode_rate & RATE_MCS_ANT_ABC_MSK;
        if (!(ucode_rate & RATE_MCS_HT_MSK) &&
            !(ucode_rate & RATE_MCS_VHT_MSK)) {
                if (num_of_ant == 1) {
-                       if (band == IEEE80211_BAND_5GHZ)
+                       if (band == NL80211_BAND_5GHZ)
                                rate->type = LQ_LEGACY_A;
                        else
                                rate->type = LQ_LEGACY_G;
                return;
        } else if (is_siso(rate)) {
                /* Downgrade to Legacy if we were in SISO */
-               if (lq_sta->band == IEEE80211_BAND_5GHZ)
+               if (lq_sta->band == NL80211_BAND_5GHZ)
                        rate->type = LQ_LEGACY_A;
                else
                        rate->type = LQ_LEGACY_G;
        rate->ant = column->ant;
 
        if (column->mode == RS_LEGACY) {
-               if (lq_sta->band == IEEE80211_BAND_5GHZ)
+               if (lq_sta->band == NL80211_BAND_5GHZ)
                        rate->type = LQ_LEGACY_A;
                else
                        rate->type = LQ_LEGACY_G;
 }
 
 static bool rs_tpc_allowed(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
-                          struct rs_rate *rate, enum ieee80211_band band)
+                          struct rs_rate *rate, enum nl80211_band band)
 {
        int index = rate->index;
        bool cam = (iwlmvm_mod_params.power_scheme == IWL_POWER_SCHEME_CAM);
        struct iwl_mvm_sta *mvm_sta = iwl_mvm_sta_from_mac80211(sta);
        struct ieee80211_vif *vif = mvm_sta->vif;
        struct ieee80211_chanctx_conf *chanctx_conf;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct iwl_rate_scale_data *window;
        struct rs_rate *rate = &tbl->rate;
        enum tpc_action action;
        rcu_read_lock();
        chanctx_conf = rcu_dereference(vif->chanctx_conf);
        if (WARN_ON(!chanctx_conf))
-               band = IEEE80211_NUM_BANDS;
+               band = NUM_NL80211_BANDS;
        else
                band = chanctx_conf->def.chan->band;
        rcu_read_unlock();
                rate->type = lq_sta->is_vht ? LQ_VHT_MIMO2 : LQ_HT_MIMO2;
        else if (lq_sta->max_siso_rate_idx != IWL_RATE_INVALID)
                rate->type = lq_sta->is_vht ? LQ_VHT_SISO : LQ_HT_SISO;
-       else if (lq_sta->band == IEEE80211_BAND_5GHZ)
+       else if (lq_sta->band == NL80211_BAND_5GHZ)
                rate->type = LQ_LEGACY_A;
        else
                rate->type = LQ_LEGACY_G;
        } else {
                lq_sta->optimal_rate_mask = lq_sta->active_legacy_rate;
 
-               if (lq_sta->band == IEEE80211_BAND_5GHZ) {
+               if (lq_sta->band == NL80211_BAND_5GHZ) {
                        lq_sta->optimal_rates = rs_optimal_rates_5ghz_legacy;
                        lq_sta->optimal_nentries =
                                ARRAY_SIZE(rs_optimal_rates_5ghz_legacy);
 static void rs_get_initial_rate(struct iwl_mvm *mvm,
                                struct ieee80211_sta *sta,
                                struct iwl_lq_sta *lq_sta,
-                               enum ieee80211_band band,
+                               enum nl80211_band band,
                                struct rs_rate *rate)
 {
        int i, nentries;
        rate->index = find_first_bit(&lq_sta->active_legacy_rate,
                                     BITS_PER_LONG);
 
-       if (band == IEEE80211_BAND_5GHZ) {
+       if (band == NL80211_BAND_5GHZ) {
                rate->type = LQ_LEGACY_A;
                initial_rates = rs_optimal_rates_5ghz_legacy;
                nentries = ARRAY_SIZE(rs_optimal_rates_5ghz_legacy);
 static void rs_initialize_lq(struct iwl_mvm *mvm,
                             struct ieee80211_sta *sta,
                             struct iwl_lq_sta *lq_sta,
-                            enum ieee80211_band band,
+                            enum nl80211_band band,
                             bool init)
 {
        struct iwl_scale_tbl_info *tbl;
  * Called after adding a new station to initialize rate scaling
  */
 void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
-                         enum ieee80211_band band, bool init)
+                         enum nl80211_band band, bool init)
 {
        int i, j;
        struct ieee80211_hw *hw = mvm->hw;
 #ifdef CONFIG_MAC80211_DEBUGFS
 static void rs_build_rates_table_from_fixed(struct iwl_mvm *mvm,
                                            struct iwl_lq_cmd *lq_cmd,
-                                           enum ieee80211_band band,
+                                           enum nl80211_band band,
                                            u32 ucode_rate)
 {
        struct rs_rate rate;
 
        bool stbc_capable;      /* Tx STBC is supported by chip and Rx by STA */
        bool bfer_capable;      /* Remote supports beamformee and we BFer */
 
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        /* The following are bitmaps of rates; IWL_RATE_6M_MASK, etc. */
        unsigned long active_legacy_rate;
 
 /* Initialize station's rate scaling information after adding station */
 void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
-                         enum ieee80211_band band, bool init);
+                         enum nl80211_band band, bool init);
 
 /* Notify RS about Tx status */
 void iwl_mvm_rs_tx_status(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
 
        rx_status->device_timestamp = le32_to_cpu(phy_info->system_timestamp);
        rx_status->band =
                (phy_info->phy_flags & cpu_to_le16(RX_RES_PHY_FLAGS_BAND_24)) ?
-                               IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+                               NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
        rx_status->freq =
                ieee80211_channel_to_frequency(le16_to_cpu(phy_info->channel),
                                               rx_status->band);
 
 
        rx_status->mactime = le64_to_cpu(desc->tsf_on_air_rise);
        rx_status->device_timestamp = le32_to_cpu(desc->gp2_on_air_rise);
-       rx_status->band = desc->channel > 14 ? IEEE80211_BAND_5GHZ :
-                                              IEEE80211_BAND_2GHZ;
+       rx_status->band = desc->channel > 14 ? NL80211_BAND_5GHZ :
+                                              NL80211_BAND_2GHZ;
        rx_status->freq = ieee80211_channel_to_frequency(desc->channel,
                                                         rx_status->band);
        iwl_mvm_get_signal_strength(mvm, desc, rx_status);
 
        return cpu_to_le16(rx_chain);
 }
 
-static __le32 iwl_mvm_scan_rxon_flags(enum ieee80211_band band)
+static __le32 iwl_mvm_scan_rxon_flags(enum nl80211_band band)
 {
-       if (band == IEEE80211_BAND_2GHZ)
+       if (band == NL80211_BAND_2GHZ)
                return cpu_to_le32(PHY_BAND_24);
        else
                return cpu_to_le32(PHY_BAND_5);
 }
 
 static inline __le32
-iwl_mvm_scan_rate_n_flags(struct iwl_mvm *mvm, enum ieee80211_band band,
+iwl_mvm_scan_rate_n_flags(struct iwl_mvm *mvm, enum nl80211_band band,
                          bool no_cck)
 {
        u32 tx_ant;
                                     mvm->scan_last_antenna_idx);
        tx_ant = BIT(mvm->scan_last_antenna_idx) << RATE_MCS_ANT_POS;
 
-       if (band == IEEE80211_BAND_2GHZ && !no_cck)
+       if (band == NL80211_BAND_2GHZ && !no_cck)
                return cpu_to_le32(IWL_RATE_1M_PLCP | RATE_MCS_CCK_MSK |
                                   tx_ant);
        else
        tx_cmd[0].tx_flags = cpu_to_le32(TX_CMD_FLG_SEQ_CTL |
                                         TX_CMD_FLG_BT_DIS);
        tx_cmd[0].rate_n_flags = iwl_mvm_scan_rate_n_flags(mvm,
-                                                          IEEE80211_BAND_2GHZ,
+                                                          NL80211_BAND_2GHZ,
                                                           no_cck);
        tx_cmd[0].sta_id = mvm->aux_sta.sta_id;
 
        tx_cmd[1].tx_flags = cpu_to_le32(TX_CMD_FLG_SEQ_CTL |
                                         TX_CMD_FLG_BT_DIS);
        tx_cmd[1].rate_n_flags = iwl_mvm_scan_rate_n_flags(mvm,
-                                                          IEEE80211_BAND_5GHZ,
+                                                          NL80211_BAND_5GHZ,
                                                           no_cck);
        tx_cmd[1].sta_id = mvm->aux_sta.sta_id;
 }
 
        /* Insert ds parameter set element on 2.4 GHz band */
        newpos = iwl_mvm_copy_and_insert_ds_elem(mvm,
-                                                ies->ies[IEEE80211_BAND_2GHZ],
-                                                ies->len[IEEE80211_BAND_2GHZ],
+                                                ies->ies[NL80211_BAND_2GHZ],
+                                                ies->len[NL80211_BAND_2GHZ],
                                                 pos);
        params->preq.band_data[0].offset = cpu_to_le16(pos - params->preq.buf);
        params->preq.band_data[0].len = cpu_to_le16(newpos - pos);
        pos = newpos;
 
-       memcpy(pos, ies->ies[IEEE80211_BAND_5GHZ],
-              ies->len[IEEE80211_BAND_5GHZ]);
+       memcpy(pos, ies->ies[NL80211_BAND_5GHZ],
+              ies->len[NL80211_BAND_5GHZ]);
        params->preq.band_data[1].offset = cpu_to_le16(pos - params->preq.buf);
        params->preq.band_data[1].len =
-               cpu_to_le16(ies->len[IEEE80211_BAND_5GHZ]);
-       pos += ies->len[IEEE80211_BAND_5GHZ];
+               cpu_to_le16(ies->len[NL80211_BAND_5GHZ]);
+       pos += ies->len[NL80211_BAND_5GHZ];
 
        memcpy(pos, ies->common_ies, ies->common_ie_len);
        params->preq.common_data.offset = cpu_to_le16(pos - params->preq.buf);
        unsigned int rates = 0;
        int i;
 
-       band = &mvm->nvm_data->bands[IEEE80211_BAND_2GHZ];
+       band = &mvm->nvm_data->bands[NL80211_BAND_2GHZ];
        for (i = 0; i < band->n_bitrates; i++)
                rates |= rate_to_scan_rate_flag(band->bitrates[i].hw_value);
-       band = &mvm->nvm_data->bands[IEEE80211_BAND_5GHZ];
+       band = &mvm->nvm_data->bands[NL80211_BAND_5GHZ];
        for (i = 0; i < band->n_bitrates; i++)
                rates |= rate_to_scan_rate_flag(band->bitrates[i].hw_value);
 
        struct iwl_scan_config *scan_config;
        struct ieee80211_supported_band *band;
        int num_channels =
-               mvm->nvm_data->bands[IEEE80211_BAND_2GHZ].n_channels +
-               mvm->nvm_data->bands[IEEE80211_BAND_5GHZ].n_channels;
+               mvm->nvm_data->bands[NL80211_BAND_2GHZ].n_channels +
+               mvm->nvm_data->bands[NL80211_BAND_5GHZ].n_channels;
        int ret, i, j = 0, cmd_size;
        struct iwl_host_cmd cmd = {
                .id = iwl_cmd_id(SCAN_CFG_CMD, IWL_ALWAYS_LONG_GROUP, 0),
                                     IWL_CHANNEL_FLAG_EBS_ADD |
                                     IWL_CHANNEL_FLAG_PRE_SCAN_PASSIVE2ACTIVE;
 
-       band = &mvm->nvm_data->bands[IEEE80211_BAND_2GHZ];
+       band = &mvm->nvm_data->bands[NL80211_BAND_2GHZ];
        for (i = 0; i < band->n_channels; i++, j++)
                scan_config->channel_array[j] = band->channels[i].hw_value;
-       band = &mvm->nvm_data->bands[IEEE80211_BAND_5GHZ];
+       band = &mvm->nvm_data->bands[NL80211_BAND_5GHZ];
        for (i = 0; i < band->n_channels; i++, j++)
                scan_config->channel_array[j] = band->channels[i].hw_value;
 
 
        }
 
        if (chandef) {
-               cmd.ci.band = (chandef->chan->band == IEEE80211_BAND_2GHZ ?
+               cmd.ci.band = (chandef->chan->band == NL80211_BAND_2GHZ ?
                               PHY_BAND_24 : PHY_BAND_5);
                cmd.ci.channel = chandef->chan->hw_value;
                cmd.ci.width = iwl_mvm_get_channel_width(chandef);
 
                                &mvm->nvm_data->bands[info->band], sta);
 
        /* For 5 GHZ band, remap mac80211 rate indices into driver indices */
-       if (info->band == IEEE80211_BAND_5GHZ)
+       if (info->band == NL80211_BAND_5GHZ)
                rate_idx += IWL_FIRST_OFDM_RATE;
 
        /* For 2.4 GHZ band, check that there is no need to remap */
                iwl_mvm_next_antenna(mvm, iwl_mvm_get_valid_tx_ant(mvm),
                                     mvm->mgmt_last_antenna_idx);
 
-       if (info->band == IEEE80211_BAND_2GHZ &&
+       if (info->band == NL80211_BAND_2GHZ &&
            !iwl_mvm_bt_coex_is_shared_ant_avail(mvm))
                rate_flags = mvm->cfg->non_shared_ant << RATE_MCS_ANT_POS;
        else
 #endif /* CONFIG_IWLWIFI_DEBUG */
 
 void iwl_mvm_hwrate_to_tx_rate(u32 rate_n_flags,
-                              enum ieee80211_band band,
+                              enum nl80211_band band,
                               struct ieee80211_tx_rate *r)
 {
        if (rate_n_flags & RATE_HT_MCS_GF_MSK)
 
 };
 
 int iwl_mvm_legacy_rate_to_mac80211_idx(u32 rate_n_flags,
-                                       enum ieee80211_band band)
+                                       enum nl80211_band band)
 {
        int rate = rate_n_flags & RATE_LEGACY_RATE_MSK;
        int idx;
        int band_offset = 0;
 
        /* Legacy rate format, search for match in table */
-       if (band == IEEE80211_BAND_5GHZ)
+       if (band == NL80211_BAND_5GHZ)
                band_offset = IWL_FIRST_OFDM_RATE;
        for (idx = band_offset; idx < IWL_RATE_COUNT_LEGACY; idx++)
                if (fw_rate_idx_to_plcp[idx] == rate)
 
                if (priv->channel_mask & (1 << i)) {
                        priv->channels[i].center_freq =
                                ieee80211_channel_to_frequency(i + 1,
-                                                          IEEE80211_BAND_2GHZ);
+                                                          NL80211_BAND_2GHZ);
                        channels++;
                }
        }
        priv->band.channels = priv->channels;
        priv->band.n_channels = channels;
 
-       wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
+       wiphy->bands[NL80211_BAND_2GHZ] = &priv->band;
        wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
 
        i = 0;
        if (cfg80211_get_chandef_type(chandef) != NL80211_CHAN_NO_HT)
                return -EINVAL;
 
-       if (chandef->chan->band != IEEE80211_BAND_2GHZ)
+       if (chandef->chan->band != NL80211_BAND_2GHZ)
                return -EINVAL;
 
        channel = ieee80211_frequency_to_channel(chandef->chan->center_freq);
 
                goto out;
 
        }
-       freq = ieee80211_channel_to_frequency(channel, IEEE80211_BAND_2GHZ);
+       freq = ieee80211_channel_to_frequency(channel, NL80211_BAND_2GHZ);
 
  out:
        orinoco_unlock(priv, &flags);
 
        }
 
        freq = ieee80211_channel_to_frequency(
-               le16_to_cpu(bss->a.channel), IEEE80211_BAND_2GHZ);
+               le16_to_cpu(bss->a.channel), NL80211_BAND_2GHZ);
        channel = ieee80211_get_channel(wiphy, freq);
        if (!channel) {
                printk(KERN_DEBUG "Invalid channel designation %04X(%04X)",
        ie_len = len - sizeof(*bss);
        ie = cfg80211_find_ie(WLAN_EID_DS_PARAMS, bss->data, ie_len);
        chan = ie ? ie[2] : 0;
-       freq = ieee80211_channel_to_frequency(chan, IEEE80211_BAND_2GHZ);
+       freq = ieee80211_channel_to_frequency(chan, NL80211_BAND_2GHZ);
        channel = ieee80211_get_channel(wiphy, freq);
 
        timestamp = le64_to_cpu(bss->timestamp);
 
        u16 data;
        int index;
        int max_power;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 };
 
 struct p54_channel_list {
        struct p54_channel_entry *channels;
        size_t entries;
        size_t max_entries;
-       size_t band_channel_num[IEEE80211_NUM_BANDS];
+       size_t band_channel_num[NUM_NL80211_BANDS];
 };
 
 static int p54_get_band_from_freq(u16 freq)
        /* FIXME: sync these values with the 802.11 spec */
 
        if ((freq >= 2412) && (freq <= 2484))
-               return IEEE80211_BAND_2GHZ;
+               return NL80211_BAND_2GHZ;
 
        if ((freq >= 4920) && (freq <= 5825))
-               return IEEE80211_BAND_5GHZ;
+               return NL80211_BAND_5GHZ;
 
        return -1;
 }
 
 static int p54_fill_band_bitrates(struct ieee80211_hw *dev,
                                  struct ieee80211_supported_band *band_entry,
-                                 enum ieee80211_band band)
+                                 enum nl80211_band band)
 {
        /* TODO: generate rate array dynamically */
 
        switch (band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                band_entry->bitrates = p54_bgrates;
                band_entry->n_bitrates = ARRAY_SIZE(p54_bgrates);
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                band_entry->bitrates = p54_arates;
                band_entry->n_bitrates = ARRAY_SIZE(p54_arates);
                break;
 static int p54_generate_band(struct ieee80211_hw *dev,
                             struct p54_channel_list *list,
                             unsigned int *chan_num,
-                            enum ieee80211_band band)
+                            enum nl80211_band band)
 {
        struct p54_common *priv = dev->priv;
        struct ieee80211_supported_band *tmp, *old;
 
        if (j == 0) {
                wiphy_err(dev->wiphy, "Disabling totally damaged %d GHz band\n",
-                         (band == IEEE80211_BAND_2GHZ) ? 2 : 5);
+                         (band == NL80211_BAND_2GHZ) ? 2 : 5);
 
                ret = -ENODATA;
                goto err_out;
             p54_compare_channels, NULL);
 
        k = 0;
-       for (i = 0, j = 0; i < IEEE80211_NUM_BANDS; i++) {
+       for (i = 0, j = 0; i < NUM_NL80211_BANDS; i++) {
                if (p54_generate_band(dev, list, &k, i) == 0)
                        j++;
        }
                for (i = 0; i < entries; i++) {
                        u16 freq = 0;
                        switch (i) {
-                       case IEEE80211_BAND_2GHZ:
+                       case NL80211_BAND_2GHZ:
                                freq = 2437;
                                break;
-                       case IEEE80211_BAND_5GHZ:
+                       case NL80211_BAND_5GHZ:
                                freq = 5240;
                                break;
                        }
        if (priv->rxhw == PDR_SYNTH_FRONTEND_XBOW)
                p54_init_xbow_synth(priv);
        if (!(synth & PDR_SYNTH_24_GHZ_DISABLED))
-               dev->wiphy->bands[IEEE80211_BAND_2GHZ] =
-                       priv->band_table[IEEE80211_BAND_2GHZ];
+               dev->wiphy->bands[NL80211_BAND_2GHZ] =
+                       priv->band_table[NL80211_BAND_2GHZ];
        if (!(synth & PDR_SYNTH_5_GHZ_DISABLED))
-               dev->wiphy->bands[IEEE80211_BAND_5GHZ] =
-                       priv->band_table[IEEE80211_BAND_5GHZ];
+               dev->wiphy->bands[NL80211_BAND_5GHZ] =
+                       priv->band_table[NL80211_BAND_5GHZ];
        if ((synth & PDR_SYNTH_RX_DIV_MASK) == PDR_SYNTH_RX_DIV_SUPPORTED)
                priv->rx_diversity_mask = 3;
        if ((synth & PDR_SYNTH_TX_DIV_MASK) == PDR_SYNTH_TX_DIV_SUPPORTED)
 
                p54_set_edcf(priv);
        }
        if (changed & BSS_CHANGED_BASIC_RATES) {
-               if (dev->conf.chandef.chan->band == IEEE80211_BAND_5GHZ)
+               if (dev->conf.chandef.chan->band == NL80211_BAND_5GHZ)
                        priv->basic_rate_mask = (info->basic_rates << 4);
                else
                        priv->basic_rate_mask = info->basic_rates;
        struct p54_common *priv = dev->priv;
        unsigned int i;
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++)
+       for (i = 0; i < NUM_NL80211_BANDS; i++)
                kfree(priv->band_table[i]);
 
        kfree(priv->iq_autocal);
 
        struct p54_cal_database *curve_data;
        struct p54_cal_database *output_limit;
        struct p54_cal_database *rssi_db;
-       struct ieee80211_supported_band *band_table[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band *band_table[NUM_NL80211_BANDS];
 
        /* BBP/MAC state */
        u8 mac_addr[ETH_ALEN];
 
        rx_status->signal = p54_rssi_to_dbm(priv, hdr->rssi);
        if (hdr->rate & 0x10)
                rx_status->flag |= RX_FLAG_SHORTPRE;
-       if (priv->hw->conf.chandef.chan->band == IEEE80211_BAND_5GHZ)
+       if (priv->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ)
                rx_status->rate_idx = (rate < 4) ? 0 : rate - 4;
        else
                rx_status->rate_idx = rate;
        for (i = 0; i < nrates && ridx < 8; i++) {
                /* we register the rates in perfect order */
                rate = info->control.rates[i].idx;
-               if (info->band == IEEE80211_BAND_5GHZ)
+               if (info->band == NL80211_BAND_5GHZ)
                        rate += 4;
 
                /* store the count we actually calculated for TX status */
 
 static struct net_device *hwsim_mon; /* global monitor netdev */
 
 #define CHAN2G(_freq)  { \
-       .band = IEEE80211_BAND_2GHZ, \
+       .band = NL80211_BAND_2GHZ, \
        .center_freq = (_freq), \
        .hw_value = (_freq), \
        .max_power = 20, \
 }
 
 #define CHAN5G(_freq) { \
-       .band = IEEE80211_BAND_5GHZ, \
+       .band = NL80211_BAND_5GHZ, \
        .center_freq = (_freq), \
        .hw_value = (_freq), \
        .max_power = 20, \
        struct list_head list;
        struct ieee80211_hw *hw;
        struct device *dev;
-       struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
        struct ieee80211_channel channels_2ghz[ARRAY_SIZE(hwsim_channels_2ghz)];
        struct ieee80211_channel channels_5ghz[ARRAY_SIZE(hwsim_channels_5ghz)];
        struct ieee80211_rate rates[ARRAY_SIZE(hwsim_rates)];
        u8 addr[ETH_ALEN];
        struct mac80211_hwsim_data *data;
        struct ieee80211_hw *hw;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        const struct ieee80211_ops *ops = &mac80211_hwsim_ops;
        int idx;
 
                sizeof(hwsim_channels_5ghz));
        memcpy(data->rates, hwsim_rates, sizeof(hwsim_rates));
 
-       for (band = IEEE80211_BAND_2GHZ; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = NL80211_BAND_2GHZ; band < NUM_NL80211_BANDS; band++) {
                struct ieee80211_supported_band *sband = &data->bands[band];
                switch (band) {
-               case IEEE80211_BAND_2GHZ:
+               case NL80211_BAND_2GHZ:
                        sband->channels = data->channels_2ghz;
                        sband->n_channels = ARRAY_SIZE(hwsim_channels_2ghz);
                        sband->bitrates = data->rates;
                        sband->n_bitrates = ARRAY_SIZE(hwsim_rates);
                        break;
-               case IEEE80211_BAND_5GHZ:
+               case NL80211_BAND_5GHZ:
                        sband->channels = data->channels_5ghz;
                        sband->n_channels = ARRAY_SIZE(hwsim_channels_5ghz);
                        sband->bitrates = data->rates + 4;
 
 
 
 #define CHAN2G(_channel, _freq, _flags) {        \
-       .band             = IEEE80211_BAND_2GHZ, \
+       .band             = NL80211_BAND_2GHZ, \
        .center_freq      = (_freq),             \
        .hw_value         = (_channel),          \
        .flags            = (_flags),            \
                if (chan_no != -1) {
                        struct wiphy *wiphy = priv->wdev->wiphy;
                        int freq = ieee80211_channel_to_frequency(chan_no,
-                                                       IEEE80211_BAND_2GHZ);
+                                                       NL80211_BAND_2GHZ);
                        struct ieee80211_channel *channel =
                                ieee80211_get_channel(wiphy, freq);
 
 {
        struct cfg80211_scan_request *creq = NULL;
        int i, n_channels = ieee80211_get_num_supported_channels(wiphy);
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        creq = kzalloc(sizeof(*creq) + sizeof(struct cfg80211_ssid) +
                       n_channels * sizeof(void *),
 
        /* Scan all available channels */
        i = 0;
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                int j;
 
                if (!wiphy->bands[band])
        if (lbs_mesh_activated(priv))
                wdev->wiphy->interface_modes |= BIT(NL80211_IFTYPE_MESH_POINT);
 
-       wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &lbs_band_2ghz;
+       wdev->wiphy->bands[NL80211_BAND_2GHZ] = &lbs_band_2ghz;
 
        /*
         * We could check priv->fwcapinfo && FW_CAPINFO_WPA, but I have
 
        struct cmd_ds_802_11d_domain_info cmd;
        struct mrvl_ie_domain_param_set *domain = &cmd.domain;
        struct ieee80211_country_ie_triplet *t;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_channel *ch;
        u8 num_triplet = 0;
        u8 num_parsed_chan = 0;
         * etc.
         */
        for (band = 0;
-            (band < IEEE80211_NUM_BANDS) && (num_triplet < MAX_11D_TRIPLETS);
+            (band < NUM_NL80211_BANDS) && (num_triplet < MAX_11D_TRIPLETS);
             band++) {
 
                if (!bands[band])
 
        if (!(prxpd->status & cpu_to_le16(MRVDRV_RXPD_STATUS_OK)))
                stats.flag |= RX_FLAG_FAILED_FCS_CRC;
        stats.freq = priv->cur_freq;
-       stats.band = IEEE80211_BAND_2GHZ;
+       stats.band = NL80211_BAND_2GHZ;
        stats.signal = prxpd->snr;
        priv->noise = prxpd->nf;
        /* Marvell rate index has a hole at value 4 */
        priv->band.bitrates = priv->rates;
        priv->band.n_channels = ARRAY_SIZE(lbtf_channels);
        priv->band.channels = priv->channels;
-       hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
+       hw->wiphy->bands[NL80211_BAND_2GHZ] = &priv->band;
        hw->wiphy->interface_modes =
                BIT(NL80211_IFTYPE_STATION) |
                BIT(NL80211_IFTYPE_ADHOC);
 
        u8 no_of_parsed_chan = 0;
        u8 first_chan = 0, next_chan = 0, max_pwr = 0;
        u8 i, flag = 0;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        struct ieee80211_channel *ch;
        struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
 {
        struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);
        struct mwifiex_chan_stats *pchan_stats = priv->adapter->chan_stats;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        mwifiex_dbg(priv->adapter, DUMP, "dump_survey idx=%d\n", idx);
 
 {
        struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);
        u16 bitmap_rates[MAX_BITMAP_RATES_SIZE];
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct mwifiex_adapter *adapter = priv->adapter;
 
        if (!priv->media_connected) {
        memset(bitmap_rates, 0, sizeof(bitmap_rates));
 
        /* Fill HR/DSSS rates. */
-       if (band == IEEE80211_BAND_2GHZ)
+       if (band == NL80211_BAND_2GHZ)
                bitmap_rates[0] = mask->control[band].legacy & 0x000f;
 
        /* Fill OFDM rates */
-       if (band == IEEE80211_BAND_2GHZ)
+       if (band == NL80211_BAND_2GHZ)
                bitmap_rates[1] = (mask->control[band].legacy & 0x0ff0) >> 4;
        else
                bitmap_rates[1] = mask->control[band].legacy;
        } else {
                struct ieee80211_sta_ht_cap *ht_info;
                int rx_mcs_supp;
-               enum ieee80211_band band;
+               enum nl80211_band band;
 
                if ((tx_ant == 0x1 && rx_ant == 0x1)) {
                        adapter->user_dev_mcs_support = HT_STREAM_1X1;
                                                MWIFIEX_11AC_MCS_MAP_2X2;
                }
 
-               for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+               for (band = 0; band < NUM_NL80211_BANDS; band++) {
                        if (!adapter->wiphy->bands[band])
                                continue;
 
        struct cfg80211_bss *bss;
        int ie_len;
        u8 ie_buf[IEEE80211_MAX_SSID_LEN + sizeof(struct ieee_types_header)];
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        if (mwifiex_get_bss_info(priv, &bss_info))
                return -1;
        int index = 0, i;
        u8 config_bands = 0;
 
-       if (params->chandef.chan->band == IEEE80211_BAND_2GHZ) {
+       if (params->chandef.chan->band == NL80211_BAND_2GHZ) {
                if (!params->basic_rates) {
                        config_bands = BAND_B | BAND_G;
                } else {
        mwifiex_init_priv_params(priv, dev);
        priv->netdev = dev;
 
-       mwifiex_setup_ht_caps(&wiphy->bands[IEEE80211_BAND_2GHZ]->ht_cap, priv);
+       mwifiex_setup_ht_caps(&wiphy->bands[NL80211_BAND_2GHZ]->ht_cap, priv);
        if (adapter->is_hw_11ac_capable)
                mwifiex_setup_vht_caps(
-                       &wiphy->bands[IEEE80211_BAND_2GHZ]->vht_cap, priv);
+                       &wiphy->bands[NL80211_BAND_2GHZ]->vht_cap, priv);
 
        if (adapter->config_bands & BAND_A)
                mwifiex_setup_ht_caps(
-                       &wiphy->bands[IEEE80211_BAND_5GHZ]->ht_cap, priv);
+                       &wiphy->bands[NL80211_BAND_5GHZ]->ht_cap, priv);
 
        if ((adapter->config_bands & BAND_A) && adapter->is_hw_11ac_capable)
                mwifiex_setup_vht_caps(
-                       &wiphy->bands[IEEE80211_BAND_5GHZ]->vht_cap, priv);
+                       &wiphy->bands[NL80211_BAND_5GHZ]->vht_cap, priv);
 
        dev_net_set(dev, wiphy_net(wiphy));
        dev->ieee80211_ptr = &priv->wdev;
        struct ieee80211_channel *chan;
        u8 second_chan_offset;
        enum nl80211_channel_type chan_type;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int freq;
        int ret = -ENODATA;
 
                                 BIT(NL80211_IFTYPE_P2P_GO) |
                                 BIT(NL80211_IFTYPE_AP);
 
-       wiphy->bands[IEEE80211_BAND_2GHZ] = &mwifiex_band_2ghz;
+       wiphy->bands[NL80211_BAND_2GHZ] = &mwifiex_band_2ghz;
        if (adapter->config_bands & BAND_A)
-               wiphy->bands[IEEE80211_BAND_5GHZ] = &mwifiex_band_5ghz;
+               wiphy->bands[NL80211_BAND_5GHZ] = &mwifiex_band_5ghz;
        else
-               wiphy->bands[IEEE80211_BAND_5GHZ] = NULL;
+               wiphy->bands[NL80211_BAND_5GHZ] = NULL;
 
        if (adapter->drcs_enabled && ISSUPP_DRCS_ENABLED(adapter->fw_cap_info))
                wiphy->iface_combinations = &mwifiex_iface_comb_ap_sta_drcs;
 
                return cfp;
 
        if (mwifiex_band_to_radio_type(band) == HostCmd_SCAN_RADIO_TYPE_BG)
-               sband = priv->wdev.wiphy->bands[IEEE80211_BAND_2GHZ];
+               sband = priv->wdev.wiphy->bands[NL80211_BAND_2GHZ];
        else
-               sband = priv->wdev.wiphy->bands[IEEE80211_BAND_5GHZ];
+               sband = priv->wdev.wiphy->bands[NL80211_BAND_5GHZ];
 
        if (!sband) {
                mwifiex_dbg(priv->adapter, ERROR,
        int i;
 
        if (radio_type) {
-               sband = wiphy->bands[IEEE80211_BAND_5GHZ];
+               sband = wiphy->bands[NL80211_BAND_5GHZ];
                if (WARN_ON_ONCE(!sband))
                        return 0;
-               rate_mask = request->rates[IEEE80211_BAND_5GHZ];
+               rate_mask = request->rates[NL80211_BAND_5GHZ];
        } else {
-               sband = wiphy->bands[IEEE80211_BAND_2GHZ];
+               sband = wiphy->bands[NL80211_BAND_2GHZ];
                if (WARN_ON_ONCE(!sband))
                        return 0;
-               rate_mask = request->rates[IEEE80211_BAND_2GHZ];
+               rate_mask = request->rates[NL80211_BAND_2GHZ];
        }
 
        num_rates = 0;
 
                                                        *scan_chan_list,
                                 u8 filtered_scan)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        struct ieee80211_channel *ch;
        struct mwifiex_adapter *adapter = priv->adapter;
        int chan_idx = 0, i;
 
-       for (band = 0; (band < IEEE80211_NUM_BANDS) ; band++) {
+       for (band = 0; (band < NUM_NL80211_BANDS) ; band++) {
 
                if (!priv->wdev.wiphy->bands[band])
                        continue;
                                   struct mwifiex_chan_scan_param_set
                                                *scan_chan_list)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        struct ieee80211_channel *ch;
        struct mwifiex_adapter *adapter = priv->adapter;
        int chan_idx = 0, i;
 
-       for (band = 0; (band < IEEE80211_NUM_BANDS); band++) {
+       for (band = 0; (band < NUM_NL80211_BANDS); band++) {
                if (!priv->wdev.wiphy->bands[band])
                        continue;
 
 
                                                     chandef.chan->center_freq);
 
        /* Set appropriate bands */
-       if (chandef.chan->band == IEEE80211_BAND_2GHZ) {
+       if (chandef.chan->band == NL80211_BAND_2GHZ) {
                bss_cfg->band_cfg = BAND_CONFIG_BG;
                config_bands = BAND_B | BAND_G;
 
 
 #define MWL8K_STA(_sta) ((struct mwl8k_sta *)&((_sta)->drv_priv))
 
 static const struct ieee80211_channel mwl8k_channels_24[] = {
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2412, .hw_value = 1, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2417, .hw_value = 2, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2422, .hw_value = 3, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2427, .hw_value = 4, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2432, .hw_value = 5, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2437, .hw_value = 6, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2442, .hw_value = 7, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2447, .hw_value = 8, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2452, .hw_value = 9, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2457, .hw_value = 10, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2462, .hw_value = 11, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2467, .hw_value = 12, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2472, .hw_value = 13, },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2484, .hw_value = 14, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2412, .hw_value = 1, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2417, .hw_value = 2, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2422, .hw_value = 3, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2427, .hw_value = 4, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2432, .hw_value = 5, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2437, .hw_value = 6, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2442, .hw_value = 7, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2447, .hw_value = 8, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2452, .hw_value = 9, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2457, .hw_value = 10, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2462, .hw_value = 11, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2467, .hw_value = 12, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2472, .hw_value = 13, },
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2484, .hw_value = 14, },
 };
 
 static const struct ieee80211_rate mwl8k_rates_24[] = {
 };
 
 static const struct ieee80211_channel mwl8k_channels_50[] = {
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5180, .hw_value = 36, },
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5200, .hw_value = 40, },
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5220, .hw_value = 44, },
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5240, .hw_value = 48, },
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5180, .hw_value = 36, },
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5200, .hw_value = 40, },
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5220, .hw_value = 44, },
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5240, .hw_value = 48, },
 };
 
 static const struct ieee80211_rate mwl8k_rates_50[] = {
        }
 
        if (rxd->channel > 14) {
-               status->band = IEEE80211_BAND_5GHZ;
+               status->band = NL80211_BAND_5GHZ;
                if (!(status->flag & RX_FLAG_HT))
                        status->rate_idx -= 5;
        } else {
-               status->band = IEEE80211_BAND_2GHZ;
+               status->band = NL80211_BAND_2GHZ;
        }
        status->freq = ieee80211_channel_to_frequency(rxd->channel,
                                                      status->band);
                status->flag |= RX_FLAG_HT;
 
        if (rxd->channel > 14) {
-               status->band = IEEE80211_BAND_5GHZ;
+               status->band = NL80211_BAND_5GHZ;
                if (!(status->flag & RX_FLAG_HT))
                        status->rate_idx -= 5;
        } else {
-               status->band = IEEE80211_BAND_2GHZ;
+               status->band = NL80211_BAND_2GHZ;
        }
        status->freq = ieee80211_channel_to_frequency(rxd->channel,
                                                      status->band);
        BUILD_BUG_ON(sizeof(priv->rates_24) != sizeof(mwl8k_rates_24));
        memcpy(priv->rates_24, mwl8k_rates_24, sizeof(mwl8k_rates_24));
 
-       priv->band_24.band = IEEE80211_BAND_2GHZ;
+       priv->band_24.band = NL80211_BAND_2GHZ;
        priv->band_24.channels = priv->channels_24;
        priv->band_24.n_channels = ARRAY_SIZE(mwl8k_channels_24);
        priv->band_24.bitrates = priv->rates_24;
        priv->band_24.n_bitrates = ARRAY_SIZE(mwl8k_rates_24);
 
-       hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band_24;
+       hw->wiphy->bands[NL80211_BAND_2GHZ] = &priv->band_24;
 }
 
 static void mwl8k_setup_5ghz_band(struct ieee80211_hw *hw)
        BUILD_BUG_ON(sizeof(priv->rates_50) != sizeof(mwl8k_rates_50));
        memcpy(priv->rates_50, mwl8k_rates_50, sizeof(mwl8k_rates_50));
 
-       priv->band_50.band = IEEE80211_BAND_5GHZ;
+       priv->band_50.band = NL80211_BAND_5GHZ;
        priv->band_50.channels = priv->channels_50;
        priv->band_50.n_channels = ARRAY_SIZE(mwl8k_channels_50);
        priv->band_50.bitrates = priv->rates_50;
        priv->band_50.n_bitrates = ARRAY_SIZE(mwl8k_rates_50);
 
-       hw->wiphy->bands[IEEE80211_BAND_5GHZ] = &priv->band_50;
+       hw->wiphy->bands[NL80211_BAND_5GHZ] = &priv->band_50;
 }
 
 /*
        cmd->header.length = cpu_to_le16(sizeof(*cmd));
        cmd->action = cpu_to_le16(MWL8K_CMD_SET_LIST);
 
-       if (channel->band == IEEE80211_BAND_2GHZ)
+       if (channel->band == NL80211_BAND_2GHZ)
                cmd->band = cpu_to_le16(0x1);
-       else if (channel->band == IEEE80211_BAND_5GHZ)
+       else if (channel->band == NL80211_BAND_5GHZ)
                cmd->band = cpu_to_le16(0x4);
 
        cmd->channel = cpu_to_le16(channel->hw_value);
        struct ieee80211_supported_band *sband;
        int band, ch, idx = 0;
 
-       for (band = IEEE80211_BAND_2GHZ; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = NL80211_BAND_2GHZ; band < NUM_NL80211_BANDS; band++) {
                sband = priv->hw->wiphy->bands[band];
                if (!sband)
                        continue;
        cmd->action = cpu_to_le16(MWL8K_CMD_SET);
        cmd->current_channel = channel->hw_value;
 
-       if (channel->band == IEEE80211_BAND_2GHZ)
+       if (channel->band == NL80211_BAND_2GHZ)
                cmd->channel_flags |= cpu_to_le32(0x00000001);
-       else if (channel->band == IEEE80211_BAND_5GHZ)
+       else if (channel->band == NL80211_BAND_5GHZ)
                cmd->channel_flags |= cpu_to_le32(0x00000004);
 
        if (!priv->sw_scan_start) {
        memcpy(cmd->mac_addr, sta->addr, ETH_ALEN);
        cmd->stn_id = cpu_to_le16(sta->aid);
        cmd->action = cpu_to_le16(MWL8K_STA_ACTION_ADD);
-       if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ)
-               rates = sta->supp_rates[IEEE80211_BAND_2GHZ];
+       if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ)
+               rates = sta->supp_rates[NL80211_BAND_2GHZ];
        else
-               rates = sta->supp_rates[IEEE80211_BAND_5GHZ] << 5;
+               rates = sta->supp_rates[NL80211_BAND_5GHZ] << 5;
        cmd->legacy_rates = cpu_to_le32(rates);
        if (sta->ht_cap.ht_supported) {
                cmd->ht_rates[0] = sta->ht_cap.mcs.rx_mask[0];
        p->ht_caps = cpu_to_le16(sta->ht_cap.cap);
        p->extended_ht_caps = (sta->ht_cap.ampdu_factor & 3) |
                ((sta->ht_cap.ampdu_density & 7) << 2);
-       if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ)
-               rates = sta->supp_rates[IEEE80211_BAND_2GHZ];
+       if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ)
+               rates = sta->supp_rates[NL80211_BAND_2GHZ];
        else
-               rates = sta->supp_rates[IEEE80211_BAND_5GHZ] << 5;
+               rates = sta->supp_rates[NL80211_BAND_5GHZ] << 5;
        legacy_rate_mask_to_array(p->legacy_rates, rates);
        memcpy(p->ht_rates, sta->ht_cap.mcs.rx_mask, 16);
        p->interop = 1;
                        goto out;
                }
 
-               if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) {
-                       ap_legacy_rates = ap->supp_rates[IEEE80211_BAND_2GHZ];
+               if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) {
+                       ap_legacy_rates = ap->supp_rates[NL80211_BAND_2GHZ];
                } else {
                        ap_legacy_rates =
-                               ap->supp_rates[IEEE80211_BAND_5GHZ] << 5;
+                               ap->supp_rates[NL80211_BAND_5GHZ] << 5;
                }
                memcpy(ap_mcs_rates, ap->ht_cap.mcs.rx_mask, 16);
 
                                        idx--;
 
                                if (hw->conf.chandef.chan->band ==
-                                   IEEE80211_BAND_2GHZ)
+                                   NL80211_BAND_2GHZ)
                                        rate = mwl8k_rates_24[idx].hw_value;
                                else
                                        rate = mwl8k_rates_50[idx].hw_value;
                if (idx)
                        idx--;
 
-               if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ)
+               if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ)
                        rate = mwl8k_rates_24[idx].hw_value;
                else
                        rate = mwl8k_rates_50[idx].hw_value;
        struct ieee80211_supported_band *sband;
 
        if (priv->ap_fw) {
-               sband = hw->wiphy->bands[IEEE80211_BAND_2GHZ];
+               sband = hw->wiphy->bands[NL80211_BAND_2GHZ];
 
                if (sband && idx >= sband->n_channels) {
                        idx -= sband->n_channels;
                }
 
                if (!sband)
-                       sband = hw->wiphy->bands[IEEE80211_BAND_5GHZ];
+                       sband = hw->wiphy->bands[NL80211_BAND_5GHZ];
 
                if (!sband || idx >= sband->n_channels)
                        return -ENOENT;
 
 }
 
 #define CHAN2G(_idx, _freq) {                  \
-       .band = IEEE80211_BAND_2GHZ,            \
+       .band = NL80211_BAND_2GHZ,              \
        .center_freq = (_freq),                 \
        .hw_value = (_idx),                     \
        .max_power = 30,                        \
 {
        dev->sband_2g = devm_kzalloc(dev->dev, sizeof(*dev->sband_2g),
                                     GFP_KERNEL);
-       dev->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = dev->sband_2g;
+       dev->hw->wiphy->bands[NL80211_BAND_2GHZ] = dev->sband_2g;
 
        WARN_ON(dev->ee->reg.start - 1 + dev->ee->reg.num >
                ARRAY_SIZE(mt76_channels_2ghz));
 
        u8 offset1;
        u8 offset2;
 
-       if (rt2x00dev->curr_band == IEEE80211_BAND_2GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_2GHZ) {
                rt2800_eeprom_read(rt2x00dev, EEPROM_RSSI_BG, &eeprom);
                offset0 = rt2x00_get_field16(eeprom, EEPROM_RSSI_BG_OFFSET0);
                offset1 = rt2x00_get_field16(eeprom, EEPROM_RSSI_BG_OFFSET1);
            container_of(led_cdev, struct rt2x00_led, led_dev);
        unsigned int enabled = brightness != LED_OFF;
        unsigned int bg_mode =
-           (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_2GHZ);
+           (enabled && led->rt2x00dev->curr_band == NL80211_BAND_2GHZ);
        unsigned int polarity =
                rt2x00_get_field16(led->rt2x00dev->led_mcu_reg,
                                   EEPROM_FREQ_LED_POLARITY);
        u8 led_ctrl, led_g_mode, led_r_mode;
 
        rt2800_register_read(rt2x00dev, GPIO_SWITCH, ®);
-       if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
                rt2x00_set_field32(®, GPIO_SWITCH_0, 1);
                rt2x00_set_field32(®, GPIO_SWITCH_1, 1);
        } else {
                    rt2x00_has_cap_bt_coexist(rt2x00dev)) {
                        rt2x00_set_field8(&r3, BBP3_RX_ADC, 1);
                        rt2x00_set_field8(&r3, BBP3_RX_ANTENNA,
-                               rt2x00dev->curr_band == IEEE80211_BAND_5GHZ);
+                               rt2x00dev->curr_band == NL80211_BAND_5GHZ);
                        rt2800_set_ant_diversity(rt2x00dev, ANTENNA_B);
                } else {
                        rt2x00_set_field8(&r3, BBP3_RX_ANTENNA, 1);
         * Matching Delta value   -4   -3   -2   -1    0   +1   +2   +3   +4
         * Example TSSI bounds  0xF0 0xD0 0xB5 0xA0 0x88 0x45 0x25 0x15 0x00
         */
-       if (rt2x00dev->curr_band == IEEE80211_BAND_2GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_2GHZ) {
                rt2800_eeprom_read(rt2x00dev, EEPROM_TSSI_BOUND_BG1, &eeprom);
                tssi_bounds[0] = rt2x00_get_field16(eeprom,
                                        EEPROM_TSSI_BOUND_BG1_MINUS4);
 }
 
 static int rt2800_get_txpower_bw_comp(struct rt2x00_dev *rt2x00dev,
-                                     enum ieee80211_band band)
+                                     enum nl80211_band band)
 {
        u16 eeprom;
        u8 comp_en;
            !test_bit(CONFIG_CHANNEL_HT40, &rt2x00dev->flags))
                return 0;
 
-       if (band == IEEE80211_BAND_2GHZ) {
+       if (band == NL80211_BAND_2GHZ) {
                comp_en = rt2x00_get_field16(eeprom,
                                 EEPROM_TXPOWER_DELTA_ENABLE_2G);
                if (comp_en) {
 }
 
 static u8 rt2800_compensate_txpower(struct rt2x00_dev *rt2x00dev, int is_rate_b,
-                                  enum ieee80211_band band, int power_level,
+                                  enum nl80211_band band, int power_level,
                                   u8 txpower, int delta)
 {
        u16 eeprom;
                rt2800_eeprom_read(rt2x00dev, EEPROM_EIRP_MAX_TX_POWER,
                                   &eeprom);
 
-               if (band == IEEE80211_BAND_2GHZ)
+               if (band == NL80211_BAND_2GHZ)
                        eirp_txpower_criterion = rt2x00_get_field16(eeprom,
                                                 EEPROM_EIRP_MAX_TX_POWER_2GHZ);
                else
        u16 eeprom;
        u32 regs[TX_PWR_CFG_IDX_COUNT];
        unsigned int offset;
-       enum ieee80211_band band = chan->band;
+       enum nl80211_band band = chan->band;
        int delta;
        int i;
 
        /* calculate temperature compensation delta */
        delta = rt2800_get_gain_calibration_delta(rt2x00dev);
 
-       if (band == IEEE80211_BAND_5GHZ)
+       if (band == NL80211_BAND_5GHZ)
                offset = 16;
        else
                offset = 0;
        for (i = 0; i < TX_PWR_CFG_IDX_COUNT; i++)
                rt2x00_dbg(rt2x00dev,
                           "band:%cGHz, BW:%c0MHz, TX_PWR_CFG_%d%s = %08lx\n",
-                          (band == IEEE80211_BAND_5GHZ) ? '5' : '2',
+                          (band == NL80211_BAND_5GHZ) ? '5' : '2',
                           (test_bit(CONFIG_CHANNEL_HT40, &rt2x00dev->flags)) ?
                                                                '4' : '2',
                           (i > TX_PWR_CFG_9_IDX) ?
        u16 eeprom;
        u32 reg, offset;
        int i, is_rate_b, delta, power_ctrl;
-       enum ieee80211_band band = chan->band;
+       enum nl80211_band band = chan->band;
 
        /*
         * Calculate HT40 compensation. For 40MHz we need to add or subtract
 {
        u8 vgc;
 
-       if (rt2x00dev->curr_band == IEEE80211_BAND_2GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_2GHZ) {
                if (rt2x00_rt(rt2x00dev, RT3070) ||
                    rt2x00_rt(rt2x00dev, RT3071) ||
                    rt2x00_rt(rt2x00dev, RT3090) ||
        case RT3572:
        case RT3593:
                if (qual->rssi > -65) {
-                       if (rt2x00dev->curr_band == IEEE80211_BAND_2GHZ)
+                       if (rt2x00dev->curr_band == NL80211_BAND_2GHZ)
                                vgc += 0x20;
                        else
                                vgc += 0x10;
 
         * IEEE80211 control structure.
         */
        struct ieee80211_hw *hw;
-       struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
-       enum ieee80211_band curr_band;
+       struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
+       enum nl80211_band curr_band;
        int curr_freq;
 
        /*
 
                              const int value)
 {
        /* XXX: this assumption about the band is wrong for 802.11j */
-       entry->band = channel <= 14 ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+       entry->band = channel <= 14 ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
        entry->center_freq = ieee80211_channel_to_frequency(channel,
                                                            entry->band);
        entry->hw_value = value;
         * Channels: 2.4 GHz
         */
        if (spec->supported_bands & SUPPORT_BAND_2GHZ) {
-               rt2x00dev->bands[IEEE80211_BAND_2GHZ].n_channels = 14;
-               rt2x00dev->bands[IEEE80211_BAND_2GHZ].n_bitrates = num_rates;
-               rt2x00dev->bands[IEEE80211_BAND_2GHZ].channels = channels;
-               rt2x00dev->bands[IEEE80211_BAND_2GHZ].bitrates = rates;
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
-                   &rt2x00dev->bands[IEEE80211_BAND_2GHZ];
-               memcpy(&rt2x00dev->bands[IEEE80211_BAND_2GHZ].ht_cap,
+               rt2x00dev->bands[NL80211_BAND_2GHZ].n_channels = 14;
+               rt2x00dev->bands[NL80211_BAND_2GHZ].n_bitrates = num_rates;
+               rt2x00dev->bands[NL80211_BAND_2GHZ].channels = channels;
+               rt2x00dev->bands[NL80211_BAND_2GHZ].bitrates = rates;
+               hw->wiphy->bands[NL80211_BAND_2GHZ] =
+                   &rt2x00dev->bands[NL80211_BAND_2GHZ];
+               memcpy(&rt2x00dev->bands[NL80211_BAND_2GHZ].ht_cap,
                       &spec->ht, sizeof(spec->ht));
        }
 
         * Channels: OFDM, UNII, HiperLAN2.
         */
        if (spec->supported_bands & SUPPORT_BAND_5GHZ) {
-               rt2x00dev->bands[IEEE80211_BAND_5GHZ].n_channels =
+               rt2x00dev->bands[NL80211_BAND_5GHZ].n_channels =
                    spec->num_channels - 14;
-               rt2x00dev->bands[IEEE80211_BAND_5GHZ].n_bitrates =
+               rt2x00dev->bands[NL80211_BAND_5GHZ].n_bitrates =
                    num_rates - 4;
-               rt2x00dev->bands[IEEE80211_BAND_5GHZ].channels = &channels[14];
-               rt2x00dev->bands[IEEE80211_BAND_5GHZ].bitrates = &rates[4];
-               hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
-                   &rt2x00dev->bands[IEEE80211_BAND_5GHZ];
-               memcpy(&rt2x00dev->bands[IEEE80211_BAND_5GHZ].ht_cap,
+               rt2x00dev->bands[NL80211_BAND_5GHZ].channels = &channels[14];
+               rt2x00dev->bands[NL80211_BAND_5GHZ].bitrates = &rates[4];
+               hw->wiphy->bands[NL80211_BAND_5GHZ] =
+                   &rt2x00dev->bands[NL80211_BAND_5GHZ];
+               memcpy(&rt2x00dev->bands[NL80211_BAND_5GHZ].ht_cap,
                       &spec->ht, sizeof(spec->ht));
        }
 
        if (test_bit(DEVICE_STATE_REGISTERED_HW, &rt2x00dev->flags))
                ieee80211_unregister_hw(rt2x00dev->hw);
 
-       if (likely(rt2x00dev->hw->wiphy->bands[IEEE80211_BAND_2GHZ])) {
-               kfree(rt2x00dev->hw->wiphy->bands[IEEE80211_BAND_2GHZ]->channels);
-               kfree(rt2x00dev->hw->wiphy->bands[IEEE80211_BAND_2GHZ]->bitrates);
-               rt2x00dev->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = NULL;
-               rt2x00dev->hw->wiphy->bands[IEEE80211_BAND_5GHZ] = NULL;
+       if (likely(rt2x00dev->hw->wiphy->bands[NL80211_BAND_2GHZ])) {
+               kfree(rt2x00dev->hw->wiphy->bands[NL80211_BAND_2GHZ]->channels);
+               kfree(rt2x00dev->hw->wiphy->bands[NL80211_BAND_2GHZ]->bitrates);
+               rt2x00dev->hw->wiphy->bands[NL80211_BAND_2GHZ] = NULL;
+               rt2x00dev->hw->wiphy->bands[NL80211_BAND_5GHZ] = NULL;
        }
 
        kfree(rt2x00dev->spec.channels_info);
 
            container_of(led_cdev, struct rt2x00_led, led_dev);
        unsigned int enabled = brightness != LED_OFF;
        unsigned int a_mode =
-           (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_5GHZ);
+           (enabled && led->rt2x00dev->curr_band == NL80211_BAND_5GHZ);
        unsigned int bg_mode =
-           (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_2GHZ);
+           (enabled && led->rt2x00dev->curr_band == NL80211_BAND_2GHZ);
 
        if (led->type == LED_TYPE_RADIO) {
                rt2x00_set_field16(&led->rt2x00dev->led_mcu_reg,
        case ANTENNA_HW_DIVERSITY:
                rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA_CONTROL, 2);
                rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END,
-                                 (rt2x00dev->curr_band != IEEE80211_BAND_5GHZ));
+                                 (rt2x00dev->curr_band != NL80211_BAND_5GHZ));
                break;
        case ANTENNA_A:
                rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA_CONTROL, 1);
                rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, 0);
-               if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ)
+               if (rt2x00dev->curr_band == NL80211_BAND_5GHZ)
                        rt2x00_set_field8(&r77, BBP_R77_RX_ANTENNA, 0);
                else
                        rt2x00_set_field8(&r77, BBP_R77_RX_ANTENNA, 3);
        default:
                rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA_CONTROL, 1);
                rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, 0);
-               if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ)
+               if (rt2x00dev->curr_band == NL80211_BAND_5GHZ)
                        rt2x00_set_field8(&r77, BBP_R77_RX_ANTENNA, 3);
                else
                        rt2x00_set_field8(&r77, BBP_R77_RX_ANTENNA, 0);
        BUG_ON(ant->rx == ANTENNA_SW_DIVERSITY ||
               ant->tx == ANTENNA_SW_DIVERSITY);
 
-       if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
                sel = antenna_sel_a;
                lna = rt2x00_has_cap_external_lna_a(rt2x00dev);
        } else {
        rt2x00mmio_register_read(rt2x00dev, PHY_CSR0, ®);
 
        rt2x00_set_field32(®, PHY_CSR0_PA_PE_BG,
-                          rt2x00dev->curr_band == IEEE80211_BAND_2GHZ);
+                          rt2x00dev->curr_band == NL80211_BAND_2GHZ);
        rt2x00_set_field32(®, PHY_CSR0_PA_PE_A,
-                          rt2x00dev->curr_band == IEEE80211_BAND_5GHZ);
+                          rt2x00dev->curr_band == NL80211_BAND_5GHZ);
 
        rt2x00mmio_register_write(rt2x00dev, PHY_CSR0, reg);
 
        u16 eeprom;
        short lna_gain = 0;
 
-       if (libconf->conf->chandef.chan->band == IEEE80211_BAND_2GHZ) {
+       if (libconf->conf->chandef.chan->band == NL80211_BAND_2GHZ) {
                if (rt2x00_has_cap_external_lna_bg(rt2x00dev))
                        lna_gain += 14;
 
        /*
         * Determine r17 bounds.
         */
-       if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
                low_bound = 0x28;
                up_bound = 0x48;
                if (rt2x00_has_cap_external_lna_a(rt2x00dev)) {
                return 0;
        }
 
-       if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
                if (lna == 3 || lna == 2)
                        offset += 10;
        }
 
           container_of(led_cdev, struct rt2x00_led, led_dev);
        unsigned int enabled = brightness != LED_OFF;
        unsigned int a_mode =
-           (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_5GHZ);
+           (enabled && led->rt2x00dev->curr_band == NL80211_BAND_5GHZ);
        unsigned int bg_mode =
-           (enabled && led->rt2x00dev->curr_band == IEEE80211_BAND_2GHZ);
+           (enabled && led->rt2x00dev->curr_band == NL80211_BAND_2GHZ);
 
        if (led->type == LED_TYPE_RADIO) {
                rt2x00_set_field16(&led->rt2x00dev->led_mcu_reg,
        case ANTENNA_HW_DIVERSITY:
                rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA_CONTROL, 2);
                temp = !rt2x00_has_cap_frame_type(rt2x00dev) &&
-                      (rt2x00dev->curr_band != IEEE80211_BAND_5GHZ);
+                      (rt2x00dev->curr_band != NL80211_BAND_5GHZ);
                rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, temp);
                break;
        case ANTENNA_A:
                rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA_CONTROL, 1);
                rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, 0);
-               if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ)
+               if (rt2x00dev->curr_band == NL80211_BAND_5GHZ)
                        rt2x00_set_field8(&r77, BBP_R77_RX_ANTENNA, 0);
                else
                        rt2x00_set_field8(&r77, BBP_R77_RX_ANTENNA, 3);
        default:
                rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA_CONTROL, 1);
                rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, 0);
-               if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ)
+               if (rt2x00dev->curr_band == NL80211_BAND_5GHZ)
                        rt2x00_set_field8(&r77, BBP_R77_RX_ANTENNA, 3);
                else
                        rt2x00_set_field8(&r77, BBP_R77_RX_ANTENNA, 0);
        BUG_ON(ant->rx == ANTENNA_SW_DIVERSITY ||
               ant->tx == ANTENNA_SW_DIVERSITY);
 
-       if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
                sel = antenna_sel_a;
                lna = rt2x00_has_cap_external_lna_a(rt2x00dev);
        } else {
        rt2x00usb_register_read(rt2x00dev, PHY_CSR0, ®);
 
        rt2x00_set_field32(®, PHY_CSR0_PA_PE_BG,
-                          (rt2x00dev->curr_band == IEEE80211_BAND_2GHZ));
+                          (rt2x00dev->curr_band == NL80211_BAND_2GHZ));
        rt2x00_set_field32(®, PHY_CSR0_PA_PE_A,
-                          (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ));
+                          (rt2x00dev->curr_band == NL80211_BAND_5GHZ));
 
        rt2x00usb_register_write(rt2x00dev, PHY_CSR0, reg);
 
        u16 eeprom;
        short lna_gain = 0;
 
-       if (libconf->conf->chandef.chan->band == IEEE80211_BAND_2GHZ) {
+       if (libconf->conf->chandef.chan->band == NL80211_BAND_2GHZ) {
                if (rt2x00_has_cap_external_lna_bg(rt2x00dev))
                        lna_gain += 14;
 
        /*
         * Determine r17 bounds.
         */
-       if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
                low_bound = 0x28;
                up_bound = 0x48;
 
                return 0;
        }
 
-       if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
+       if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
                if (rt2x00_has_cap_external_lna_a(rt2x00dev)) {
                        if (lna == 3 || lna == 2)
                                offset += 10;
 
                 * ieee80211_generic_frame_duration
                 */
                duration = ieee80211_generic_frame_duration(dev, priv->vif,
-                                       IEEE80211_BAND_2GHZ, skb->len,
+                                       NL80211_BAND_2GHZ, skb->len,
                                        ieee80211_get_tx_rate(dev, info));
 
                frame_duration =  priv->ack_time + le16_to_cpu(duration);
                priv->ack_time =
                        le16_to_cpu(ieee80211_generic_frame_duration(dev,
                                        priv->vif,
-                                       IEEE80211_BAND_2GHZ, 10,
+                                       NL80211_BAND_2GHZ, 10,
                                        &priv->rates[0])) - 10;
 
                rtl8180_conf_erp(dev, info);
        memcpy(priv->channels, rtl818x_channels, sizeof(rtl818x_channels));
        memcpy(priv->rates, rtl818x_rates, sizeof(rtl818x_rates));
 
-       priv->band.band = IEEE80211_BAND_2GHZ;
+       priv->band.band = NL80211_BAND_2GHZ;
        priv->band.channels = priv->channels;
        priv->band.n_channels = ARRAY_SIZE(rtl818x_channels);
        priv->band.bitrates = priv->rates;
        priv->band.n_bitrates = 4;
-       dev->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
+       dev->wiphy->bands[NL80211_BAND_2GHZ] = &priv->band;
 
        ieee80211_hw_set(dev, HOST_BROADCAST_PS_BUFFERING);
        ieee80211_hw_set(dev, RX_INCLUDES_FCS);
 
        memcpy(priv->rates, rtl818x_rates, sizeof(rtl818x_rates));
        priv->map = (struct rtl818x_csr *)0xFF00;
 
-       priv->band.band = IEEE80211_BAND_2GHZ;
+       priv->band.band = NL80211_BAND_2GHZ;
        priv->band.channels = priv->channels;
        priv->band.n_channels = ARRAY_SIZE(rtl818x_channels);
        priv->band.bitrates = priv->rates;
        priv->band.n_bitrates = ARRAY_SIZE(rtl818x_rates);
-       dev->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
+       dev->wiphy->bands[NL80211_BAND_2GHZ] = &priv->band;
 
 
        ieee80211_hw_set(dev, RX_INCLUDES_FCS);
 
 };
 
 static struct ieee80211_channel rtl8xxxu_channels_2g[] = {
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2412,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2412,
          .hw_value = 1, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2417,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2417,
          .hw_value = 2, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2422,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2422,
          .hw_value = 3, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2427,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2427,
          .hw_value = 4, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2432,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2432,
          .hw_value = 5, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2437,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2437,
          .hw_value = 6, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2442,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2442,
          .hw_value = 7, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2447,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2447,
          .hw_value = 8, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2452,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2452,
          .hw_value = 9, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2457,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2457,
          .hw_value = 10, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2462,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2462,
          .hw_value = 11, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2467,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2467,
          .hw_value = 12, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2472,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2472,
          .hw_value = 13, .max_power = 30 },
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2484,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2484,
          .hw_value = 14, .max_power = 30 }
 };
 
                dev_info(&udev->dev, "Enabling HT_20_40 on the 2.4GHz band\n");
                sband->ht_cap.cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40;
        }
-       hw->wiphy->bands[IEEE80211_BAND_2GHZ] = sband;
+       hw->wiphy->bands[NL80211_BAND_2GHZ] = sband;
 
        hw->wiphy->rts_threshold = 2347;
 
 
 };
 
 static const struct ieee80211_supported_band rtl_band_2ghz = {
-       .band = IEEE80211_BAND_2GHZ,
+       .band = NL80211_BAND_2GHZ,
 
        .channels = rtl_channeltable_2g,
        .n_channels = ARRAY_SIZE(rtl_channeltable_2g),
 };
 
 static struct ieee80211_supported_band rtl_band_5ghz = {
-       .band = IEEE80211_BAND_5GHZ,
+       .band = NL80211_BAND_5GHZ,
 
        .channels = rtl_channeltable_5g,
        .n_channels = ARRAY_SIZE(rtl_channeltable_5g),
 
        ht_cap->mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED;
 
-       /*hw->wiphy->bands[IEEE80211_BAND_2GHZ]
+       /*hw->wiphy->bands[NL80211_BAND_2GHZ]
         *base on ant_num
         *rx_mask: RX mask
         *if rx_ant = 1 rx_mask[0]= 0xff;==>MCS0-MCS7
            rtlhal->bandset == BAND_ON_BOTH) {
                /* 1: 2.4 G bands */
                /* <1> use  mac->bands as mem for hw->wiphy->bands */
-               sband = &(rtlmac->bands[IEEE80211_BAND_2GHZ]);
+               sband = &(rtlmac->bands[NL80211_BAND_2GHZ]);
 
-               /* <2> set hw->wiphy->bands[IEEE80211_BAND_2GHZ]
+               /* <2> set hw->wiphy->bands[NL80211_BAND_2GHZ]
                 * to default value(1T1R) */
-               memcpy(&(rtlmac->bands[IEEE80211_BAND_2GHZ]), &rtl_band_2ghz,
+               memcpy(&(rtlmac->bands[NL80211_BAND_2GHZ]), &rtl_band_2ghz,
                                sizeof(struct ieee80211_supported_band));
 
                /* <3> init ht cap base on ant_num */
                _rtl_init_hw_ht_capab(hw, &sband->ht_cap);
 
                /* <4> set mac->sband to wiphy->sband */
-               hw->wiphy->bands[IEEE80211_BAND_2GHZ] = sband;
+               hw->wiphy->bands[NL80211_BAND_2GHZ] = sband;
 
                /* 2: 5 G bands */
                /* <1> use  mac->bands as mem for hw->wiphy->bands */
-               sband = &(rtlmac->bands[IEEE80211_BAND_5GHZ]);
+               sband = &(rtlmac->bands[NL80211_BAND_5GHZ]);
 
-               /* <2> set hw->wiphy->bands[IEEE80211_BAND_5GHZ]
+               /* <2> set hw->wiphy->bands[NL80211_BAND_5GHZ]
                 * to default value(1T1R) */
-               memcpy(&(rtlmac->bands[IEEE80211_BAND_5GHZ]), &rtl_band_5ghz,
+               memcpy(&(rtlmac->bands[NL80211_BAND_5GHZ]), &rtl_band_5ghz,
                                sizeof(struct ieee80211_supported_band));
 
                /* <3> init ht cap base on ant_num */
 
                _rtl_init_hw_vht_capab(hw, &sband->vht_cap);
                /* <4> set mac->sband to wiphy->sband */
-               hw->wiphy->bands[IEEE80211_BAND_5GHZ] = sband;
+               hw->wiphy->bands[NL80211_BAND_5GHZ] = sband;
        } else {
                if (rtlhal->current_bandtype == BAND_ON_2_4G) {
                        /* <1> use  mac->bands as mem for hw->wiphy->bands */
-                       sband = &(rtlmac->bands[IEEE80211_BAND_2GHZ]);
+                       sband = &(rtlmac->bands[NL80211_BAND_2GHZ]);
 
-                       /* <2> set hw->wiphy->bands[IEEE80211_BAND_2GHZ]
+                       /* <2> set hw->wiphy->bands[NL80211_BAND_2GHZ]
                         * to default value(1T1R) */
-                       memcpy(&(rtlmac->bands[IEEE80211_BAND_2GHZ]),
+                       memcpy(&(rtlmac->bands[NL80211_BAND_2GHZ]),
                               &rtl_band_2ghz,
                               sizeof(struct ieee80211_supported_band));
 
                        _rtl_init_hw_ht_capab(hw, &sband->ht_cap);
 
                        /* <4> set mac->sband to wiphy->sband */
-                       hw->wiphy->bands[IEEE80211_BAND_2GHZ] = sband;
+                       hw->wiphy->bands[NL80211_BAND_2GHZ] = sband;
                } else if (rtlhal->current_bandtype == BAND_ON_5G) {
                        /* <1> use  mac->bands as mem for hw->wiphy->bands */
-                       sband = &(rtlmac->bands[IEEE80211_BAND_5GHZ]);
+                       sband = &(rtlmac->bands[NL80211_BAND_5GHZ]);
 
-                       /* <2> set hw->wiphy->bands[IEEE80211_BAND_5GHZ]
+                       /* <2> set hw->wiphy->bands[NL80211_BAND_5GHZ]
                         * to default value(1T1R) */
-                       memcpy(&(rtlmac->bands[IEEE80211_BAND_5GHZ]),
+                       memcpy(&(rtlmac->bands[NL80211_BAND_5GHZ]),
                               &rtl_band_5ghz,
                               sizeof(struct ieee80211_supported_band));
 
 
                        _rtl_init_hw_vht_capab(hw, &sband->vht_cap);
                        /* <4> set mac->sband to wiphy->sband */
-                       hw->wiphy->bands[IEEE80211_BAND_5GHZ] = sband;
+                       hw->wiphy->bands[NL80211_BAND_5GHZ] = sband;
                } else {
                        RT_TRACE(rtlpriv, COMP_INIT, DBG_EMERG, "Err BAND %d\n",
                                 rtlhal->current_bandtype);
 
 /* mac80211's rate_idx is like this:
  *
- * 2.4G band:rx_status->band == IEEE80211_BAND_2GHZ
+ * 2.4G band:rx_status->band == NL80211_BAND_2GHZ
  *
  * B/G rate:
  * (rx_status->flag & RX_FLAG_HT) = 0,
  * (rx_status->flag & RX_FLAG_HT) = 1,
  * DESC_RATEMCS0-->DESC_RATEMCS15 ==> idx is 0-->15
  *
- * 5G band:rx_status->band == IEEE80211_BAND_5GHZ
+ * 5G band:rx_status->band == NL80211_BAND_5GHZ
  * A rate:
  * (rx_status->flag & RX_FLAG_HT) = 0,
  * DESC_RATE6M-->DESC_RATE54M ==> idx is 0-->7,
                return rate_idx;
        }
        if (false == isht) {
-               if (IEEE80211_BAND_2GHZ == hw->conf.chandef.chan->band) {
+               if (NL80211_BAND_2GHZ == hw->conf.chandef.chan->band) {
                        switch (desc_rate) {
                        case DESC_RATE1M:
                                rate_idx = 0;
 
 static void _rtl_reg_apply_beaconing_flags(struct wiphy *wiphy,
                                           enum nl80211_reg_initiator initiator)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        const struct ieee80211_reg_rule *reg_rule;
        struct ieee80211_channel *ch;
        unsigned int i;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
 
                if (!wiphy->bands[band])
                        continue;
        struct ieee80211_channel *ch;
        const struct ieee80211_reg_rule *reg_rule;
 
-       if (!wiphy->bands[IEEE80211_BAND_2GHZ])
+       if (!wiphy->bands[NL80211_BAND_2GHZ])
                return;
-       sband = wiphy->bands[IEEE80211_BAND_2GHZ];
+       sband = wiphy->bands[NL80211_BAND_2GHZ];
 
        /*
         *If no country IE has been received always enable active scan
        struct ieee80211_channel *ch;
        unsigned int i;
 
-       if (!wiphy->bands[IEEE80211_BAND_5GHZ])
+       if (!wiphy->bands[NL80211_BAND_5GHZ])
                return;
 
-       sband = wiphy->bands[IEEE80211_BAND_5GHZ];
+       sband = wiphy->bands[NL80211_BAND_5GHZ];
 
        for (i = 0; i < sband->n_channels; i++) {
                ch = &sband->channels[i];
 
 static void _rtl_dump_channel_map(struct wiphy *wiphy)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        struct ieee80211_channel *ch;
        unsigned int i;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                if (!wiphy->bands[band])
                        continue;
                sband = wiphy->bands[band];
 
        u32 tx_ss_num;
        u32 rx_ss_num;
 
-       struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band bands[NUM_NL80211_BANDS];
        struct ieee80211_hw *hw;
        struct ieee80211_vif *vif;
        enum nl80211_iftype opmode;
 
                return 0;
 
        dsconfig = 1000 *
-               ieee80211_channel_to_frequency(channel, IEEE80211_BAND_2GHZ);
+               ieee80211_channel_to_frequency(channel, NL80211_BAND_2GHZ);
 
        len = sizeof(config);
        ret = rndis_query_oid(usbdev,
        priv->band.n_channels = ARRAY_SIZE(rndis_channels);
        priv->band.bitrates = priv->rates;
        priv->band.n_bitrates = ARRAY_SIZE(rndis_rates);
-       wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
+       wiphy->bands[NL80211_BAND_2GHZ] = &priv->band;
        wiphy->signal_type = CFG80211_SIGNAL_TYPE_UNSPEC;
 
        memcpy(priv->cipher_suites, rndis_cipher_suites,
 
 #include "rsi_common.h"
 
 static const struct ieee80211_channel rsi_2ghz_channels[] = {
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2412,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2412,
          .hw_value = 1 }, /* Channel 1 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2417,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2417,
          .hw_value = 2 }, /* Channel 2 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2422,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2422,
          .hw_value = 3 }, /* Channel 3 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2427,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2427,
          .hw_value = 4 }, /* Channel 4 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2432,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2432,
          .hw_value = 5 }, /* Channel 5 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2437,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2437,
          .hw_value = 6 }, /* Channel 6 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2442,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2442,
          .hw_value = 7 }, /* Channel 7 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2447,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2447,
          .hw_value = 8 }, /* Channel 8 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2452,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2452,
          .hw_value = 9 }, /* Channel 9 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2457,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2457,
          .hw_value = 10 }, /* Channel 10 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2462,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2462,
          .hw_value = 11 }, /* Channel 11 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2467,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2467,
          .hw_value = 12 }, /* Channel 12 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2472,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2472,
          .hw_value = 13 }, /* Channel 13 */
-       { .band = IEEE80211_BAND_2GHZ, .center_freq = 2484,
+       { .band = NL80211_BAND_2GHZ, .center_freq = 2484,
          .hw_value = 14 }, /* Channel 14 */
 };
 
 static const struct ieee80211_channel rsi_5ghz_channels[] = {
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5180,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5180,
          .hw_value = 36,  }, /* Channel 36 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5200,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5200,
          .hw_value = 40, }, /* Channel 40 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5220,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5220,
          .hw_value = 44, }, /* Channel 44 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5240,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5240,
          .hw_value = 48, }, /* Channel 48 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5260,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5260,
          .hw_value = 52, }, /* Channel 52 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5280,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5280,
          .hw_value = 56, }, /* Channel 56 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5300,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5300,
          .hw_value = 60, }, /* Channel 60 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5320,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5320,
          .hw_value = 64, }, /* Channel 64 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5500,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5500,
          .hw_value = 100, }, /* Channel 100 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5520,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5520,
          .hw_value = 104, }, /* Channel 104 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5540,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5540,
          .hw_value = 108, }, /* Channel 108 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5560,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5560,
          .hw_value = 112, }, /* Channel 112 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5580,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5580,
          .hw_value = 116, }, /* Channel 116 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5600,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5600,
          .hw_value = 120, }, /* Channel 120 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5620,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5620,
          .hw_value = 124, }, /* Channel 124 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5640,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5640,
          .hw_value = 128, }, /* Channel 128 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5660,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5660,
          .hw_value = 132, }, /* Channel 132 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5680,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5680,
          .hw_value = 136, }, /* Channel 136 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5700,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5700,
          .hw_value = 140, }, /* Channel 140 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5745,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5745,
          .hw_value = 149, }, /* Channel 149 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5765,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5765,
          .hw_value = 153, }, /* Channel 153 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5785,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5785,
          .hw_value = 157, }, /* Channel 157 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5805,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5805,
          .hw_value = 161, }, /* Channel 161 */
-       { .band = IEEE80211_BAND_5GHZ, .center_freq = 5825,
+       { .band = NL80211_BAND_5GHZ, .center_freq = 5825,
          .hw_value = 165, }, /* Channel 165 */
 };
 
        struct ieee80211_supported_band *sbands = &adapter->sbands[band];
        void *channels = NULL;
 
-       if (band == IEEE80211_BAND_2GHZ) {
+       if (band == NL80211_BAND_2GHZ) {
                channels = kmalloc(sizeof(rsi_2ghz_channels), GFP_KERNEL);
                memcpy(channels,
                       rsi_2ghz_channels,
                       sizeof(rsi_2ghz_channels));
-               sbands->band = IEEE80211_BAND_2GHZ;
+               sbands->band = NL80211_BAND_2GHZ;
                sbands->n_channels = ARRAY_SIZE(rsi_2ghz_channels);
                sbands->bitrates = rsi_rates;
                sbands->n_bitrates = ARRAY_SIZE(rsi_rates);
                memcpy(channels,
                       rsi_5ghz_channels,
                       sizeof(rsi_5ghz_channels));
-               sbands->band = IEEE80211_BAND_5GHZ;
+               sbands->band = NL80211_BAND_5GHZ;
                sbands->n_channels = ARRAY_SIZE(rsi_5ghz_channels);
                sbands->bitrates = &rsi_rates[4];
                sbands->n_bitrates = ARRAY_SIZE(rsi_rates) - 4;
 {
        struct rsi_hw *adapter = hw->priv;
        struct rsi_common *common = adapter->priv;
-       enum ieee80211_band band = hw->conf.chandef.chan->band;
+       enum nl80211_band band = hw->conf.chandef.chan->band;
 
        mutex_lock(&common->mutex);
        common->fixedrate_mask[band] = 0;
 
        mutex_lock(&common->mutex);
        /* Resetting all the fields to default values */
-       common->bitrate_mask[IEEE80211_BAND_2GHZ] = 0;
-       common->bitrate_mask[IEEE80211_BAND_5GHZ] = 0;
+       common->bitrate_mask[NL80211_BAND_2GHZ] = 0;
+       common->bitrate_mask[NL80211_BAND_5GHZ] = 0;
        common->min_rate = 0xffff;
        common->vif_info[0].is_ht = false;
        common->vif_info[0].sgi = false;
        hw->max_rate_tries = MAX_RETRIES;
 
        hw->max_tx_aggregation_subframes = 6;
-       rsi_register_rates_channels(adapter, IEEE80211_BAND_2GHZ);
-       rsi_register_rates_channels(adapter, IEEE80211_BAND_5GHZ);
+       rsi_register_rates_channels(adapter, NL80211_BAND_2GHZ);
+       rsi_register_rates_channels(adapter, NL80211_BAND_5GHZ);
        hw->rate_control_algorithm = "AARF";
 
        SET_IEEE80211_PERM_ADDR(hw, common->mac_addr);
 
        wiphy->available_antennas_rx = 1;
        wiphy->available_antennas_tx = 1;
-       wiphy->bands[IEEE80211_BAND_2GHZ] =
-               &adapter->sbands[IEEE80211_BAND_2GHZ];
-       wiphy->bands[IEEE80211_BAND_5GHZ] =
-               &adapter->sbands[IEEE80211_BAND_5GHZ];
+       wiphy->bands[NL80211_BAND_2GHZ] =
+               &adapter->sbands[NL80211_BAND_2GHZ];
+       wiphy->bands[NL80211_BAND_5GHZ] =
+               &adapter->sbands[NL80211_BAND_5GHZ];
 
        status = ieee80211_register_hw(hw);
        if (status)
 
  */
 static void rsi_set_default_parameters(struct rsi_common *common)
 {
-       common->band = IEEE80211_BAND_2GHZ;
+       common->band = NL80211_BAND_2GHZ;
        common->channel_width = BW_20MHZ;
        common->rts_threshold = IEEE80211_MAX_RTS_THRESHOLD;
        common->channel = 1;
        vap_caps->rts_threshold = cpu_to_le16(common->rts_threshold);
        vap_caps->default_mgmt_rate = cpu_to_le32(RSI_RATE_6);
 
-       if (common->band == IEEE80211_BAND_5GHZ) {
+       if (common->band == NL80211_BAND_5GHZ) {
                vap_caps->default_ctrl_rate = cpu_to_le32(RSI_RATE_6);
                if (conf_is_ht40(&common->priv->hw->conf)) {
                        vap_caps->default_ctrl_rate |=
        else
                common->channel_width = BW_40MHZ;
 
-       if (common->band == IEEE80211_BAND_2GHZ) {
+       if (common->band == NL80211_BAND_2GHZ) {
                if (common->channel_width)
                        common->endpoint = EP_2GHZ_40MHZ;
                else
        if (common->channel_width == BW_40MHZ)
                auto_rate->desc_word[7] |= cpu_to_le16(1);
 
-       if (band == IEEE80211_BAND_2GHZ) {
+       if (band == NL80211_BAND_2GHZ) {
                min_rate = RSI_RATE_1;
                rate_table_offset = 0;
        } else {
 
        if (wh->addr1[0] & BIT(0))
                msg[3] |= cpu_to_le16(RSI_BROADCAST_PKT);
 
-       if (common->band == IEEE80211_BAND_2GHZ)
+       if (common->band == NL80211_BAND_2GHZ)
                msg[4] = cpu_to_le16(RSI_11B_MODE);
        else
                msg[4] = cpu_to_le16((RSI_RATE_6 & 0x0f) | RSI_11G_MODE);
 
        struct ieee80211_hw *hw;
        struct ieee80211_vif *vifs[RSI_MAX_VIFS];
        struct ieee80211_tx_queue_params edca_params[NUM_EDCA_QUEUES];
-       struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band sbands[NUM_NL80211_BANDS];
 
        struct device *device;
        u8 sc_nvifs;
 
 
 
 #define CHAN2G(_channel, _freq, _flags) {                      \
-       .band                   = IEEE80211_BAND_2GHZ,          \
+       .band                   = NL80211_BAND_2GHZ,            \
        .center_freq            = (_freq),                      \
        .hw_value               = (_channel),                   \
        .flags                  = (_flags),                     \
 }
 
 #define CHAN5G(_channel, _flags) {                             \
-       .band                   = IEEE80211_BAND_5GHZ,          \
+       .band                   = NL80211_BAND_5GHZ,            \
        .center_freq    = 5000 + (5 * (_channel)),              \
        .hw_value               = (_channel),                   \
        .flags                  = (_flags),                     \
 
        hw->sta_data_size = sizeof(struct cw1200_sta_priv);
 
-       hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &cw1200_band_2ghz;
+       hw->wiphy->bands[NL80211_BAND_2GHZ] = &cw1200_band_2ghz;
        if (have_5ghz)
-               hw->wiphy->bands[IEEE80211_BAND_5GHZ] = &cw1200_band_5ghz;
+               hw->wiphy->bands[NL80211_BAND_5GHZ] = &cw1200_band_5ghz;
 
        /* Channel params have to be cleared before registering wiphy again */
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                struct ieee80211_supported_band *sband = hw->wiphy->bands[band];
                if (!sband)
                        continue;
 
        }
        wsm = (struct wsm_tx *)frame.skb->data;
        scan.max_tx_rate = wsm->max_tx_rate;
-       scan.band = (priv->channel->band == IEEE80211_BAND_5GHZ) ?
+       scan.band = (priv->channel->band == NL80211_BAND_5GHZ) ?
                WSM_PHY_BAND_5G : WSM_PHY_BAND_2_4G;
        if (priv->join_status == CW1200_JOIN_STATUS_STA ||
            priv->join_status == CW1200_JOIN_STATUS_IBSS) {
 
        join.dtim_period = priv->join_dtim_period;
 
        join.channel_number = priv->channel->hw_value;
-       join.band = (priv->channel->band == IEEE80211_BAND_5GHZ) ?
+       join.band = (priv->channel->band == NL80211_BAND_5GHZ) ?
                WSM_PHY_BAND_5G : WSM_PHY_BAND_2_4G;
 
        memcpy(join.bssid, bssid, sizeof(join.bssid));
        };
 
        if (priv->channel) {
-               start.band = priv->channel->band == IEEE80211_BAND_5GHZ ?
+               start.band = priv->channel->band == NL80211_BAND_5GHZ ?
                             WSM_PHY_BAND_5G : WSM_PHY_BAND_2_4G;
                start.channel_number = priv->channel->hw_value;
        } else {
        struct wsm_start start = {
                .mode = priv->vif->p2p ?
                                WSM_START_MODE_P2P_GO : WSM_START_MODE_AP,
-               .band = (priv->channel->band == IEEE80211_BAND_5GHZ) ?
+               .band = (priv->channel->band == NL80211_BAND_5GHZ) ?
                                WSM_PHY_BAND_5G : WSM_PHY_BAND_2_4G,
                .channel_number = priv->channel->hw_value,
                .beacon_interval = conf->beacon_int,
 
 
        hdr->band = ((arg->channel_number & 0xff00) ||
                     (arg->channel_number > 14)) ?
-                       IEEE80211_BAND_5GHZ : IEEE80211_BAND_2GHZ;
+                       NL80211_BAND_5GHZ : NL80211_BAND_2GHZ;
        hdr->freq = ieee80211_channel_to_frequency(
                        arg->channel_number,
                        hdr->band);
 
 
        /* Disable unsupported frequency bands */
        if (!(priv->wsm_caps.fw_cap & 0x1))
-               priv->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = NULL;
+               priv->hw->wiphy->bands[NL80211_BAND_2GHZ] = NULL;
        if (!(priv->wsm_caps.fw_cap & 0x2))
-               priv->hw->wiphy->bands[IEEE80211_BAND_5GHZ] = NULL;
+               priv->hw->wiphy->bands[NL80211_BAND_5GHZ] = NULL;
 
        priv->firmware_ready = 1;
        wake_up(&priv->wsm_startup_done);
 
        wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
                                         BIT(NL80211_IFTYPE_ADHOC);
        wl->hw->wiphy->max_scan_ssids = 1;
-       wl->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &wl1251_band_2ghz;
+       wl->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wl1251_band_2ghz;
 
        wl->hw->queues = 4;
 
 
 
        memset(status, 0, sizeof(struct ieee80211_rx_status));
 
-       status->band = IEEE80211_BAND_2GHZ;
+       status->band = NL80211_BAND_2GHZ;
        status->mactime = desc->timestamp;
 
        /*
 
 };
 
 static const u8 *wl12xx_band_rate_to_idx[] = {
-       [IEEE80211_BAND_2GHZ] = wl12xx_rate_to_idx_2ghz,
-       [IEEE80211_BAND_5GHZ] = wl12xx_rate_to_idx_5ghz
+       [NL80211_BAND_2GHZ] = wl12xx_rate_to_idx_2ghz,
+       [NL80211_BAND_5GHZ] = wl12xx_rate_to_idx_5ghz
 };
 
 enum wl12xx_hw_rates {
        wl->fw_status_priv_len = 0;
        wl->stats.fw_stats_len = sizeof(struct wl12xx_acx_statistics);
        wl->ofdm_only_ap = true;
-       wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ, &wl12xx_ht_cap);
-       wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ, &wl12xx_ht_cap);
+       wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ, &wl12xx_ht_cap);
+       wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ, &wl12xx_ht_cap);
        wl12xx_conf_init(wl);
 
        if (!fref_param) {
 
 static int wl1271_get_scan_channels(struct wl1271 *wl,
                                    struct cfg80211_scan_request *req,
                                    struct basic_scan_channel_params *channels,
-                                   enum ieee80211_band band, bool passive)
+                                   enum nl80211_band band, bool passive)
 {
        struct conf_scan_settings *c = &wl->conf.scan;
        int i, j;
 #define WL1271_NOTHING_TO_SCAN 1
 
 static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
-                           enum ieee80211_band band,
+                           enum nl80211_band band,
                            bool passive, u32 basic_rate)
 {
        struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
        cmd->params.tid_trigger = CONF_TX_AC_ANY_TID;
        cmd->params.scan_tag = WL1271_SCAN_DEFAULT_TAG;
 
-       if (band == IEEE80211_BAND_2GHZ)
+       if (band == NL80211_BAND_2GHZ)
                cmd->params.band = WL1271_SCAN_BAND_2_4_GHZ;
        else
                cmd->params.band = WL1271_SCAN_BAND_5_GHZ;
 void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif)
 {
        int ret = 0;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u32 rate, mask;
 
        switch (wl->scan.state) {
                break;
 
        case WL1271_SCAN_STATE_2GHZ_ACTIVE:
-               band = IEEE80211_BAND_2GHZ;
+               band = NL80211_BAND_2GHZ;
                mask = wlvif->bitrate_masks[band];
                if (wl->scan.req->no_cck) {
                        mask &= ~CONF_TX_CCK_RATES;
                break;
 
        case WL1271_SCAN_STATE_2GHZ_PASSIVE:
-               band = IEEE80211_BAND_2GHZ;
+               band = NL80211_BAND_2GHZ;
                mask = wlvif->bitrate_masks[band];
                if (wl->scan.req->no_cck) {
                        mask &= ~CONF_TX_CCK_RATES;
                break;
 
        case WL1271_SCAN_STATE_5GHZ_ACTIVE:
-               band = IEEE80211_BAND_5GHZ;
+               band = NL80211_BAND_5GHZ;
                rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]);
                ret = wl1271_scan_send(wl, wlvif, band, false, rate);
                if (ret == WL1271_NOTHING_TO_SCAN) {
                break;
 
        case WL1271_SCAN_STATE_5GHZ_PASSIVE:
-               band = IEEE80211_BAND_5GHZ;
+               band = NL80211_BAND_5GHZ;
                rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]);
                ret = wl1271_scan_send(wl, wlvif, band, true, rate);
                if (ret == WL1271_NOTHING_TO_SCAN) {
        wl12xx_adjust_channels(cfg, cfg_channels);
 
        if (!force_passive && cfg->active[0]) {
-               u8 band = IEEE80211_BAND_2GHZ;
+               u8 band = NL80211_BAND_2GHZ;
                ret = wl12xx_cmd_build_probe_req(wl, wlvif,
                                                 wlvif->role_id, band,
                                                 req->ssids[0].ssid,
        }
 
        if (!force_passive && cfg->active[1]) {
-               u8 band = IEEE80211_BAND_5GHZ;
+               u8 band = NL80211_BAND_5GHZ;
                ret = wl12xx_cmd_build_probe_req(wl, wlvif,
                                                 wlvif->role_id, band,
                                                 req->ssids[0].ssid,
 
        cmd->stop_tx = ch_switch->block_tx;
 
        switch (ch_switch->chandef.chan->band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                cmd->band = WLCORE_BAND_2_4GHZ;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                cmd->band = WLCORE_BAND_5GHZ;
                break;
        default:
 
        cmd->role_id = wlvif->role_id;
        cmd->channel = wlvif->channel;
-       if (wlvif->band == IEEE80211_BAND_5GHZ)
+       if (wlvif->band == NL80211_BAND_5GHZ)
                cmd->band = WLCORE_BAND_5GHZ;
        cmd->bandwidth = wlcore_get_native_channel_type(wlvif->channel_type);
 
 
                                          u8 sync_band)
 {
        struct sk_buff *skb;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int freq;
 
        if (sync_band == WLCORE_BAND_5GHZ)
-               band = IEEE80211_BAND_5GHZ;
+               band = NL80211_BAND_5GHZ;
        else
-               band = IEEE80211_BAND_2GHZ;
+               band = NL80211_BAND_2GHZ;
 
        freq = ieee80211_channel_to_frequency(sync_channel, band);
 
 
 };
 
 static const u8 *wl18xx_band_rate_to_idx[] = {
-       [IEEE80211_BAND_2GHZ] = wl18xx_rate_to_idx_2ghz,
-       [IEEE80211_BAND_5GHZ] = wl18xx_rate_to_idx_5ghz
+       [NL80211_BAND_2GHZ] = wl18xx_rate_to_idx_2ghz,
+       [NL80211_BAND_5GHZ] = wl18xx_rate_to_idx_5ghz
 };
 
 enum wl18xx_hw_rates {
                wl1271_debug(DEBUG_ACX, "using wide channel rate mask");
 
                /* sanity check - we don't support this */
-               if (WARN_ON(wlvif->band != IEEE80211_BAND_5GHZ))
+               if (WARN_ON(wlvif->band != NL80211_BAND_5GHZ))
                        return 0;
 
                return CONF_TX_RATE_USE_WIDE_CHAN;
        } else if (wl18xx_is_mimo_supported(wl) &&
-                  wlvif->band == IEEE80211_BAND_2GHZ) {
+                  wlvif->band == NL80211_BAND_2GHZ) {
                wl1271_debug(DEBUG_ACX, "using MIMO rate mask");
                /*
                 * we don't care about HT channel here - if a peer doesn't
                 * siso40.
                 */
                if (wl18xx_is_mimo_supported(wl))
-                       wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ,
+                       wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ,
                                          &wl18xx_mimo_ht_cap_2ghz);
                else
-                       wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ,
+                       wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ,
                                          &wl18xx_siso40_ht_cap_2ghz);
 
                /* 5Ghz is always wide */
-               wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ,
+               wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ,
                                  &wl18xx_siso40_ht_cap_5ghz);
        } else if (priv->conf.ht.mode == HT_MODE_WIDE) {
-               wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ,
+               wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ,
                                  &wl18xx_siso40_ht_cap_2ghz);
-               wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ,
+               wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ,
                                  &wl18xx_siso40_ht_cap_5ghz);
        } else if (priv->conf.ht.mode == HT_MODE_SISO20) {
-               wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ,
+               wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ,
                                  &wl18xx_siso20_ht_cap);
-               wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ,
+               wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ,
                                  &wl18xx_siso20_ht_cap);
        }
 
 
 
        /* TODO: per-band ies? */
        if (cmd->active[0]) {
-               u8 band = IEEE80211_BAND_2GHZ;
+               u8 band = NL80211_BAND_2GHZ;
                ret = wl12xx_cmd_build_probe_req(wl, wlvif,
                                 cmd->role_id, band,
                                 req->ssids ? req->ssids[0].ssid : NULL,
        }
 
        if (cmd->active[1] || cmd->dfs) {
-               u8 band = IEEE80211_BAND_5GHZ;
+               u8 band = NL80211_BAND_5GHZ;
                ret = wl12xx_cmd_build_probe_req(wl, wlvif,
                                 cmd->role_id, band,
                                 req->ssids ? req->ssids[0].ssid : NULL,
        cmd->terminate_on_report = 0;
 
        if (cmd->active[0]) {
-               u8 band = IEEE80211_BAND_2GHZ;
+               u8 band = NL80211_BAND_2GHZ;
                ret = wl12xx_cmd_build_probe_req(wl, wlvif,
                                 cmd->role_id, band,
                                 req->ssids ? req->ssids[0].ssid : NULL,
        }
 
        if (cmd->active[1] || cmd->dfs) {
-               u8 band = IEEE80211_BAND_5GHZ;
+               u8 band = NL80211_BAND_5GHZ;
                ret = wl12xx_cmd_build_probe_req(wl, wlvif,
                                 cmd->role_id, band,
                                 req->ssids ? req->ssids[0].ssid : NULL,
 
 
        if (fw_rate <= CONF_HW_RATE_INDEX_54MBPS) {
                rate->idx = fw_rate;
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        rate->idx -= CONF_HW_RATE_INDEX_6MBPS;
                rate->flags = 0;
        } else {
 
 
 static int wl12xx_cmd_role_start_dev(struct wl1271 *wl,
                                     struct wl12xx_vif *wlvif,
-                                    enum ieee80211_band band,
+                                    enum nl80211_band band,
                                     int channel)
 {
        struct wl12xx_cmd_role_start *cmd;
        wl1271_debug(DEBUG_CMD, "cmd role start dev %d", wlvif->dev_role_id);
 
        cmd->role_id = wlvif->dev_role_id;
-       if (band == IEEE80211_BAND_5GHZ)
+       if (band == NL80211_BAND_5GHZ)
                cmd->band = WLCORE_BAND_5GHZ;
        cmd->channel = channel;
 
        wl1271_debug(DEBUG_CMD, "cmd role start sta %d", wlvif->role_id);
 
        cmd->role_id = wlvif->role_id;
-       if (wlvif->band == IEEE80211_BAND_5GHZ)
+       if (wlvif->band == NL80211_BAND_5GHZ)
                cmd->band = WLCORE_BAND_5GHZ;
        cmd->channel = wlvif->channel;
        cmd->sta.basic_rate_set = cpu_to_le32(wlvif->basic_rate_set);
        cmd->ap.local_rates = cpu_to_le32(supported_rates);
 
        switch (wlvif->band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                cmd->band = WLCORE_BAND_2_4GHZ;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                cmd->band = WLCORE_BAND_5GHZ;
                break;
        default:
        wl1271_debug(DEBUG_CMD, "cmd role start ibss %d", wlvif->role_id);
 
        cmd->role_id = wlvif->role_id;
-       if (wlvif->band == IEEE80211_BAND_5GHZ)
+       if (wlvif->band == NL80211_BAND_5GHZ)
                cmd->band = WLCORE_BAND_5GHZ;
        cmd->channel = wlvif->channel;
        cmd->ibss.basic_rate_set = cpu_to_le32(wlvif->basic_rate_set);
        }
 
        rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]);
-       if (band == IEEE80211_BAND_2GHZ)
+       if (band == NL80211_BAND_2GHZ)
                ret = wl1271_cmd_template_set(wl, role_id,
                                              template_id_2_4,
                                              skb->data, skb->len, 0, rate);
        wl1271_debug(DEBUG_SCAN, "set ap probe request template");
 
        rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[wlvif->band]);
-       if (wlvif->band == IEEE80211_BAND_2GHZ)
+       if (wlvif->band == NL80211_BAND_2GHZ)
                ret = wl1271_cmd_template_set(wl, wlvif->role_id,
                                              CMD_TEMPL_CFG_PROBE_REQ_2_4,
                                              skb->data, skb->len, 0, rate);
        return ret;
 }
 
-static int wlcore_get_reg_conf_ch_idx(enum ieee80211_band band, u16 ch)
+static int wlcore_get_reg_conf_ch_idx(enum nl80211_band band, u16 ch)
 {
        /*
         * map the given band/channel to the respective predefined
         * bit expected by the fw
         */
        switch (band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                /* channels 1..14 are mapped to 0..13 */
                if (ch >= 1 && ch <= 14)
                        return ch - 1;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                switch (ch) {
                case 8 ... 16:
                        /* channels 8,12,16 are mapped to 18,19,20 */
 }
 
 void wlcore_set_pending_regdomain_ch(struct wl1271 *wl, u16 channel,
-                                    enum ieee80211_band band)
+                                    enum nl80211_band band)
 {
        int ch_bit_idx = 0;
 
 
        memset(tmp_ch_bitmap, 0, sizeof(tmp_ch_bitmap));
 
-       for (b = IEEE80211_BAND_2GHZ; b <= IEEE80211_BAND_5GHZ; b++) {
+       for (b = NL80211_BAND_2GHZ; b <= NL80211_BAND_5GHZ; b++) {
                band = wiphy->bands[b];
                for (i = 0; i < band->n_channels; i++) {
                        struct ieee80211_channel *channel = &band->channels[i];
 }
 
 static int wl12xx_cmd_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif,
-                         u8 role_id, enum ieee80211_band band, u8 channel)
+                         u8 role_id, enum nl80211_band band, u8 channel)
 {
        struct wl12xx_cmd_roc *cmd;
        int ret = 0;
        cmd->role_id = role_id;
        cmd->channel = channel;
        switch (band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                cmd->band = WLCORE_BAND_2_4GHZ;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                cmd->band = WLCORE_BAND_5GHZ;
                break;
        default:
 }
 
 int wl12xx_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 role_id,
-              enum ieee80211_band band, u8 channel)
+              enum nl80211_band band, u8 channel)
 {
        int ret = 0;
 
 
 /* start dev role and roc on its channel */
 int wl12xx_start_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif,
-                    enum ieee80211_band band, int channel)
+                    enum nl80211_band band, int channel)
 {
        int ret;
 
 
 int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif);
 int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif);
 int wl12xx_start_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif,
-                    enum ieee80211_band band, int channel);
+                    enum nl80211_band band, int channel);
 int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif);
 int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer);
 int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf,
 int wl12xx_cmd_set_peer_state(struct wl1271 *wl, struct wl12xx_vif *wlvif,
                              u8 hlid);
 int wl12xx_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 role_id,
-              enum ieee80211_band band, u8 channel);
+              enum nl80211_band band, u8 channel);
 int wl12xx_croc(struct wl1271 *wl, u8 role_id);
 int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
                        struct ieee80211_sta *sta, u8 hlid);
 int wl12xx_cmd_remove_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
                           u8 hlid);
 void wlcore_set_pending_regdomain_ch(struct wl1271 *wl, u16 channel,
-                                    enum ieee80211_band band);
+                                    enum nl80211_band band);
 int wlcore_cmd_regdomain_config_locked(struct wl1271 *wl);
 int wlcore_cmd_generic_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
                           u8 feature, u8 enable, u8 value);
 
        if (test_and_clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags))
                wlcore_enable_interrupts(wl);
 
-       wl->band = IEEE80211_BAND_2GHZ;
+       wl->band = NL80211_BAND_2GHZ;
 
        wl->rx_counter = 0;
        wl->power_level = WL1271_DEFAULT_POWER_LEVEL;
                wlvif->rate_set = CONF_TX_ENABLED_RATES;
        }
 
-       wlvif->bitrate_masks[IEEE80211_BAND_2GHZ] = wl->conf.tx.basic_rate;
-       wlvif->bitrate_masks[IEEE80211_BAND_5GHZ] = wl->conf.tx.basic_rate_5;
+       wlvif->bitrate_masks[NL80211_BAND_2GHZ] = wl->conf.tx.basic_rate;
+       wlvif->bitrate_masks[NL80211_BAND_5GHZ] = wl->conf.tx.basic_rate_5;
        wlvif->beacon_int = WL1271_DEFAULT_BEACON_INT;
 
        /*
         * 11a channels if not supported
         */
        if (!wl->enable_11a)
-               wiphy->bands[IEEE80211_BAND_5GHZ]->n_channels = 0;
+               wiphy->bands[NL80211_BAND_5GHZ]->n_channels = 0;
 
        wl1271_debug(DEBUG_MAC80211, "11a is %ssupported",
                     wl->enable_11a ? "" : "not ");
 };
 
 
-u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum ieee80211_band band)
+u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum nl80211_band band)
 {
        u8 idx;
 
         * We keep local copies of the band structs because we need to
         * modify them on a per-device basis.
         */
-       memcpy(&wl->bands[IEEE80211_BAND_2GHZ], &wl1271_band_2ghz,
+       memcpy(&wl->bands[NL80211_BAND_2GHZ], &wl1271_band_2ghz,
               sizeof(wl1271_band_2ghz));
-       memcpy(&wl->bands[IEEE80211_BAND_2GHZ].ht_cap,
-              &wl->ht_cap[IEEE80211_BAND_2GHZ],
+       memcpy(&wl->bands[NL80211_BAND_2GHZ].ht_cap,
+              &wl->ht_cap[NL80211_BAND_2GHZ],
               sizeof(*wl->ht_cap));
-       memcpy(&wl->bands[IEEE80211_BAND_5GHZ], &wl1271_band_5ghz,
+       memcpy(&wl->bands[NL80211_BAND_5GHZ], &wl1271_band_5ghz,
               sizeof(wl1271_band_5ghz));
-       memcpy(&wl->bands[IEEE80211_BAND_5GHZ].ht_cap,
-              &wl->ht_cap[IEEE80211_BAND_5GHZ],
+       memcpy(&wl->bands[NL80211_BAND_5GHZ].ht_cap,
+              &wl->ht_cap[NL80211_BAND_5GHZ],
               sizeof(*wl->ht_cap));
 
-       wl->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
-               &wl->bands[IEEE80211_BAND_2GHZ];
-       wl->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
-               &wl->bands[IEEE80211_BAND_5GHZ];
+       wl->hw->wiphy->bands[NL80211_BAND_2GHZ] =
+               &wl->bands[NL80211_BAND_2GHZ];
+       wl->hw->wiphy->bands[NL80211_BAND_5GHZ] =
+               &wl->bands[NL80211_BAND_5GHZ];
 
        /*
         * allow 4 queues per mac address we support +
        wl->channel = 0;
        wl->rx_counter = 0;
        wl->power_level = WL1271_DEFAULT_POWER_LEVEL;
-       wl->band = IEEE80211_BAND_2GHZ;
+       wl->band = NL80211_BAND_2GHZ;
        wl->channel_type = NL80211_CHAN_NO_HT;
        wl->flags = 0;
        wl->sg_enabled = true;
 
                 * enable beacon early termination.
                 * Not relevant for 5GHz and for high rates.
                 */
-               if ((wlvif->band == IEEE80211_BAND_2GHZ) &&
+               if ((wlvif->band == NL80211_BAND_2GHZ) &&
                    (wlvif->basic_rate < CONF_HW_BIT_RATE_9MBPS)) {
                        ret = wl1271_acx_bet_enable(wl, wlvif, true);
                        if (ret < 0)
                wl1271_debug(DEBUG_PSM, "leaving psm");
 
                /* disable beacon early termination */
-               if ((wlvif->band == IEEE80211_BAND_2GHZ) &&
+               if ((wlvif->band == NL80211_BAND_2GHZ) &&
                    (wlvif->basic_rate < CONF_HW_BIT_RATE_9MBPS)) {
                        ret = wl1271_acx_bet_enable(wl, wlvif, false);
                        if (ret < 0)
 
        memset(status, 0, sizeof(struct ieee80211_rx_status));
 
        if ((desc->flags & WL1271_RX_DESC_BAND_MASK) == WL1271_RX_DESC_BAND_BG)
-               status->band = IEEE80211_BAND_2GHZ;
+               status->band = NL80211_BAND_2GHZ;
        else
-               status->band = IEEE80211_BAND_5GHZ;
+               status->band = NL80211_BAND_5GHZ;
 
        status->rate_idx = wlcore_rate_to_idx(wl, desc->rate, status->band);
 
 
 } __packed;
 
 int wlcore_rx(struct wl1271 *wl, struct wl_fw_status *status);
-u8 wl1271_rate_to_idx(int rate, enum ieee80211_band band);
+u8 wl1271_rate_to_idx(int rate, enum nl80211_band band);
 int wl1271_rx_filter_enable(struct wl1271 *wl,
                            int index, bool enable,
                            struct wl12xx_rx_filter *filter);
 
                struct conf_sched_scan_settings *c = &wl->conf.sched_scan;
                u32 delta_per_probe;
 
-               if (band == IEEE80211_BAND_5GHZ)
+               if (band == NL80211_BAND_5GHZ)
                        delta_per_probe = c->dwell_time_delta_per_probe_5;
                else
                        delta_per_probe = c->dwell_time_delta_per_probe;
                        channels[j].channel = req_channels[i]->hw_value;
 
                        if (n_pactive_ch &&
-                           (band == IEEE80211_BAND_2GHZ) &&
+                           (band == NL80211_BAND_2GHZ) &&
                            (channels[j].channel >= 12) &&
                            (channels[j].channel <= 14) &&
                            (flags & IEEE80211_CHAN_NO_IR) &&
                                         n_channels,
                                         n_ssids,
                                         cfg->channels_2,
-                                        IEEE80211_BAND_2GHZ,
+                                        NL80211_BAND_2GHZ,
                                         false, true, 0,
                                         MAX_CHANNELS_2GHZ,
                                         &n_pactive_ch,
                                         n_channels,
                                         n_ssids,
                                         cfg->channels_2,
-                                        IEEE80211_BAND_2GHZ,
+                                        NL80211_BAND_2GHZ,
                                         false, false,
                                         cfg->passive[0],
                                         MAX_CHANNELS_2GHZ,
                                         n_channels,
                                         n_ssids,
                                         cfg->channels_5,
-                                        IEEE80211_BAND_5GHZ,
+                                        NL80211_BAND_5GHZ,
                                         false, true, 0,
                                         wl->max_channels_5,
                                         &n_pactive_ch,
                                         n_channels,
                                         n_ssids,
                                         cfg->channels_5,
-                                        IEEE80211_BAND_5GHZ,
+                                        NL80211_BAND_5GHZ,
                                         true, true,
                                         cfg->passive[1],
                                         wl->max_channels_5,
                                         n_channels,
                                         n_ssids,
                                         cfg->channels_5,
-                                        IEEE80211_BAND_5GHZ,
+                                        NL80211_BAND_5GHZ,
                                         false, false,
                                         cfg->passive[1] + cfg->dfs,
                                         wl->max_channels_5,
 
 }
 
 u32 wl1271_tx_enabled_rates_get(struct wl1271 *wl, u32 rate_set,
-                               enum ieee80211_band rate_band)
+                               enum nl80211_band rate_band)
 {
        struct ieee80211_supported_band *band;
        u32 enabled_rates = 0;
 
 void wl12xx_tx_reset_wlvif(struct wl1271 *wl, struct wl12xx_vif *wlvif);
 void wl12xx_tx_reset(struct wl1271 *wl);
 void wl1271_tx_flush(struct wl1271 *wl);
-u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum ieee80211_band band);
+u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum nl80211_band band);
 u32 wl1271_tx_enabled_rates_get(struct wl1271 *wl, u32 rate_set,
-                               enum ieee80211_band rate_band);
+                               enum nl80211_band rate_band);
 u32 wl1271_tx_min_rate_get(struct wl1271 *wl, u32 rate_set);
 u8 wl12xx_tx_get_hlid(struct wl1271 *wl, struct wl12xx_vif *wlvif,
                      struct sk_buff *skb, struct ieee80211_sta *sta);
 
        struct wl12xx_vif *sched_vif;
 
        /* The current band */
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        struct completion *elp_compl;
        struct delayed_work elp_work;
                              struct wl1271_station *wl_sta, bool in_conn);
 
 static inline void
-wlcore_set_ht_cap(struct wl1271 *wl, enum ieee80211_band band,
+wlcore_set_ht_cap(struct wl1271 *wl, enum nl80211_band band,
                  struct ieee80211_sta_ht_cap *ht_cap)
 {
        memcpy(&wl->ht_cap[band], ht_cap, sizeof(*ht_cap));
 
        u8 ssid_len;
 
        /* The current band */
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int channel;
        enum nl80211_channel_type channel_type;
 
 
        struct wl3501_card *this = netdev_priv(dev);
 
        wrqu->freq.m = 100000 *
-               ieee80211_channel_to_frequency(this->chan, IEEE80211_BAND_2GHZ);
+               ieee80211_channel_to_frequency(this->chan, NL80211_BAND_2GHZ);
        wrqu->freq.e = 1;
        return 0;
 }
 
        }
 
        stats.freq = zd_channels[_zd_chip_get_channel(&mac->chip) - 1].center_freq;
-       stats.band = IEEE80211_BAND_2GHZ;
+       stats.band = NL80211_BAND_2GHZ;
        stats.signal = zd_check_signal(hw, status->signal_strength);
 
        rate = zd_rx_rate(buffer, status);
        mac->band.n_channels = ARRAY_SIZE(zd_channels);
        mac->band.channels = mac->channels;
 
-       hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &mac->band;
+       hw->wiphy->bands[NL80211_BAND_2GHZ] = &mac->band;
 
        ieee80211_hw_set(hw, MFP_CAPABLE);
        ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING);
 
 
        if (channel <= RTW_CH_MAX_2G_CHANNEL)
                freq = ieee80211_channel_to_frequency(channel,
-                                                     IEEE80211_BAND_2GHZ);
+                                                     NL80211_BAND_2GHZ);
        else
                freq = ieee80211_channel_to_frequency(channel,
-                                                     IEEE80211_BAND_5GHZ);
+                                                     NL80211_BAND_5GHZ);
 
        if (cfg80211_rx_mgmt(padapter->rtw_wdev, freq, 0, pframe,
                             skb->len, 0))
 
 
 /* Represent channel details, subset of ieee80211_channel */
 struct rtw_ieee80211_channel {
-       /* enum ieee80211_band band; */
+       /* enum nl80211_band band; */
        /* u16 center_freq; */
        u16 hw_value;
        u32 flags;
 
 }
 
 #define CHAN2G(_channel, _freq, _flags) {                      \
-       .band                   = IEEE80211_BAND_2GHZ,          \
+       .band                   = NL80211_BAND_2GHZ,            \
        .center_freq            = (_freq),                      \
        .hw_value               = (_channel),                   \
        .flags                  = (_flags),                     \
 }
 
 #define CHAN5G(_channel, _flags) {                             \
-       .band                   = IEEE80211_BAND_5GHZ,          \
+       .band                   = NL80211_BAND_5GHZ,            \
        .center_freq            = 5000 + (5 * (_channel)),      \
        .hw_value               = (_channel),                   \
        .flags                  = (_flags),                     \
 }
 
 static struct ieee80211_supported_band *
-rtw_spt_band_alloc(enum ieee80211_band band)
+rtw_spt_band_alloc(enum nl80211_band band)
 {
        struct ieee80211_supported_band *spt_band = NULL;
        int n_channels, n_bitrates;
 
-       if (band == IEEE80211_BAND_2GHZ) {
+       if (band == NL80211_BAND_2GHZ) {
                n_channels = RTW_2G_CHANNELS_NUM;
                n_bitrates = RTW_G_RATES_NUM;
-       } else if (band == IEEE80211_BAND_5GHZ) {
+       } else if (band == NL80211_BAND_5GHZ) {
                n_channels = RTW_5G_CHANNELS_NUM;
                n_bitrates = RTW_A_RATES_NUM;
        } else {
        spt_band->n_channels = n_channels;
        spt_band->n_bitrates = n_bitrates;
 
-       if (band == IEEE80211_BAND_2GHZ) {
+       if (band == NL80211_BAND_2GHZ) {
                rtw_2g_channels_init(spt_band->channels);
                rtw_2g_rates_init(spt_band->bitrates);
-       } else if (band == IEEE80211_BAND_5GHZ) {
+       } else if (band == NL80211_BAND_5GHZ) {
                rtw_5g_channels_init(spt_band->channels);
                rtw_5g_rates_init(spt_band->bitrates);
        }
        channel = pnetwork->network.DSConfig;
        if (channel <= RTW_CH_MAX_2G_CHANNEL)
                freq = ieee80211_channel_to_frequency(channel,
-                                                     IEEE80211_BAND_2GHZ);
+                                                     NL80211_BAND_2GHZ);
        else
                freq = ieee80211_channel_to_frequency(channel,
-                                                     IEEE80211_BAND_5GHZ);
+                                                     NL80211_BAND_5GHZ);
 
        notify_channel = ieee80211_get_channel(wiphy, freq);
 
                if (channel <= RTW_CH_MAX_2G_CHANNEL)
                        freq =
                            ieee80211_channel_to_frequency(channel,
-                                                          IEEE80211_BAND_2GHZ);
+                                                          NL80211_BAND_2GHZ);
                else
                        freq =
                            ieee80211_channel_to_frequency(channel,
-                                                          IEEE80211_BAND_5GHZ);
+                                                          NL80211_BAND_5GHZ);
 
                notify_channel = ieee80211_get_channel(wiphy, freq);
 
        channel = pmlmeext->cur_channel;
        if (channel <= RTW_CH_MAX_2G_CHANNEL)
                freq = ieee80211_channel_to_frequency(channel,
-                                                     IEEE80211_BAND_2GHZ);
+                                                     NL80211_BAND_2GHZ);
        else
                freq = ieee80211_channel_to_frequency(channel,
-                                                     IEEE80211_BAND_5GHZ);
+                                                     NL80211_BAND_5GHZ);
 
        cfg80211_rx_mgmt(padapter->rtw_wdev, freq, 0, pmgmt_frame, frame_len,
                         0);
        channel = pmlmeext->cur_channel;
        if (channel <= RTW_CH_MAX_2G_CHANNEL)
                freq = ieee80211_channel_to_frequency(channel,
-                                                     IEEE80211_BAND_2GHZ);
+                                                     NL80211_BAND_2GHZ);
        else
                freq = ieee80211_channel_to_frequency(channel,
-                                                     IEEE80211_BAND_5GHZ);
+                                                     NL80211_BAND_5GHZ);
 
        mgmt.frame_control =
                cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_DEAUTH);
 };
 
 static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap,
-                                      enum ieee80211_band band, u8 rf_type)
+                                      enum nl80211_band band, u8 rf_type)
 {
 
 #define MAX_BIT_RATE_40MHZ_MCS15       300     /* Mbps */
        ht_cap->mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED;
 
        /*
-        *hw->wiphy->bands[IEEE80211_BAND_2GHZ]
+        *hw->wiphy->bands[NL80211_BAND_2GHZ]
         *base on ant_num
         *rx_mask: RX mask
         *if rx_ant = 1 rx_mask[0]= 0xff;==>MCS0-MCS7
 
        /* if (padapter->registrypriv.wireless_mode & WIRELESS_11G) */
        {
-               bands = wiphy->bands[IEEE80211_BAND_2GHZ];
+               bands = wiphy->bands[NL80211_BAND_2GHZ];
                if (bands)
                        rtw_cfg80211_init_ht_capab(&bands->ht_cap,
-                                                  IEEE80211_BAND_2GHZ,
+                                                  NL80211_BAND_2GHZ,
                                                   rf_type);
        }
 
        /* if (padapter->registrypriv.wireless_mode & WIRELESS_11A) */
        {
-               bands = wiphy->bands[IEEE80211_BAND_5GHZ];
+               bands = wiphy->bands[NL80211_BAND_5GHZ];
                if (bands)
                        rtw_cfg80211_init_ht_capab(&bands->ht_cap,
-                                                  IEEE80211_BAND_5GHZ,
+                                                  NL80211_BAND_5GHZ,
                                                   rf_type);
        }
 }
        wiphy->n_cipher_suites = ARRAY_SIZE(rtw_cipher_suites);
 
        /* if (padapter->registrypriv.wireless_mode & WIRELESS_11G) */
-       wiphy->bands[IEEE80211_BAND_2GHZ] =
-           rtw_spt_band_alloc(IEEE80211_BAND_2GHZ);
+       wiphy->bands[NL80211_BAND_2GHZ] =
+           rtw_spt_band_alloc(NL80211_BAND_2GHZ);
        /* if (padapter->registrypriv.wireless_mode & WIRELESS_11A) */
-       wiphy->bands[IEEE80211_BAND_5GHZ] =
-           rtw_spt_band_alloc(IEEE80211_BAND_5GHZ);
+       wiphy->bands[NL80211_BAND_5GHZ] =
+           rtw_spt_band_alloc(NL80211_BAND_5GHZ);
 
        wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
        wiphy->flags |= WIPHY_FLAG_OFFCHAN_TX | WIPHY_FLAG_HAVE_AP_SME;
        if (!wdev)
                return;
 
-       kfree(wdev->wiphy->bands[IEEE80211_BAND_2GHZ]);
-       kfree(wdev->wiphy->bands[IEEE80211_BAND_5GHZ]);
+       kfree(wdev->wiphy->bands[NL80211_BAND_2GHZ]);
+       kfree(wdev->wiphy->bands[NL80211_BAND_5GHZ]);
 
        wiphy_free(wdev->wiphy);
 
 
                        ch[i].flags = IEEE80211_CHAN_NO_HT40;
                }
 
-               priv->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
+               priv->hw->wiphy->bands[NL80211_BAND_5GHZ] =
                                                &vnt_supported_5ghz_band;
        /* fallthrough */
        case RF_RFMD2959:
                        ch[i].flags = IEEE80211_CHAN_NO_HT40;
                }
 
-               priv->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
+               priv->hw->wiphy->bands[NL80211_BAND_2GHZ] =
                                                &vnt_supported_2ghz_band;
                break;
        }
 
                else if (fb_option & FIFOCTL_AUTO_FB_1)
                        tx_rate = fallback_rate1[tx_rate][retry];
 
-               if (info->band == IEEE80211_BAND_5GHZ)
+               if (info->band == NL80211_BAND_5GHZ)
                        idx = tx_rate - RATE_6M;
                else
                        idx = tx_rate;
            (conf->flags & IEEE80211_CONF_OFFCHANNEL)) {
                set_channel(priv, conf->chandef.chan);
 
-               if (conf->chandef.chan->band == IEEE80211_BAND_5GHZ)
+               if (conf->chandef.chan->band == NL80211_BAND_5GHZ)
                        bb_type = BB_TYPE_11A;
                else
                        bb_type = BB_TYPE_11G;
 
        }
 
        if (current_rate > RATE_11M) {
-               if (info->band == IEEE80211_BAND_5GHZ) {
+               if (info->band == NL80211_BAND_5GHZ) {
                        pkt_type = PK_TYPE_11A;
                } else {
                        if (tx_rate->flags & IEEE80211_TX_RC_USE_CTS_PROTECT)
 
                        ch[i].flags = IEEE80211_CHAN_NO_HT40;
                }
 
-               priv->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
+               priv->hw->wiphy->bands[NL80211_BAND_5GHZ] =
                                                &vnt_supported_5ghz_band;
        /* fallthrough */
        case RF_AL2230:
                        ch[i].flags = IEEE80211_CHAN_NO_HT40;
                }
 
-               priv->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
+               priv->hw->wiphy->bands[NL80211_BAND_2GHZ] =
                                                &vnt_supported_2ghz_band;
                break;
        }
 
                else if (context->fb_option == AUTO_FB_1)
                        tx_rate = fallback_rate1[tx_rate][retry];
 
-               if (info->band == IEEE80211_BAND_5GHZ)
+               if (info->band == NL80211_BAND_5GHZ)
                        idx = tx_rate - RATE_6M;
                else
                        idx = tx_rate;
 
                        (conf->flags & IEEE80211_CONF_OFFCHANNEL)) {
                vnt_set_channel(priv, conf->chandef.chan->hw_value);
 
-               if (conf->chandef.chan->band == IEEE80211_BAND_5GHZ)
+               if (conf->chandef.chan->band == NL80211_BAND_5GHZ)
                        bb_type = BB_TYPE_11A;
                else
                        bb_type = BB_TYPE_11G;
 
        }
 
        if (current_rate > RATE_11M) {
-               if (info->band == IEEE80211_BAND_5GHZ) {
+               if (info->band == NL80211_BAND_5GHZ) {
                        pkt_type = PK_TYPE_11A;
                } else {
                        if (tx_rate->flags & IEEE80211_TX_RC_USE_CTS_PROTECT)
 
 u8 wilc_initialized = 1;
 
 #define CHAN2G(_channel, _freq, _flags) {       \
-               .band             = IEEE80211_BAND_2GHZ, \
+               .band             = NL80211_BAND_2GHZ, \
                .center_freq      = (_freq),             \
                .hw_value         = (_channel),          \
                .flags            = (_flags),            \
                        struct ieee80211_channel *channel;
 
                        if (network_info) {
-                               freq = ieee80211_channel_to_frequency((s32)network_info->ch, IEEE80211_BAND_2GHZ);
+                               freq = ieee80211_channel_to_frequency((s32)network_info->ch, NL80211_BAND_2GHZ);
                                channel = ieee80211_get_channel(wiphy, freq);
 
                                rssi = get_rssi_avg(network_info);
                                return;
 
                        if (network_info) {
-                               s32Freq = ieee80211_channel_to_frequency((s32)network_info->ch, IEEE80211_BAND_2GHZ);
+                               s32Freq = ieee80211_channel_to_frequency((s32)network_info->ch, NL80211_BAND_2GHZ);
                                channel = ieee80211_get_channel(wiphy, s32Freq);
 
                                if (!channel)
                        return;
                }
        } else {
-               s32Freq = ieee80211_channel_to_frequency(curr_channel, IEEE80211_BAND_2GHZ);
+               s32Freq = ieee80211_channel_to_frequency(curr_channel, NL80211_BAND_2GHZ);
 
                if (ieee80211_is_action(buff[FRAME_TYPE_ID])) {
                        if (priv->bCfgScanning && time_after_eq(jiffies, (unsigned long)pstrWFIDrv->p2p_timeout)) {
        WILC_WFI_band_2ghz.ht_cap.ampdu_factor = IEEE80211_HT_MAX_AMPDU_8K;
        WILC_WFI_band_2ghz.ht_cap.ampdu_density = IEEE80211_HT_MPDU_DENSITY_NONE;
 
-       wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &WILC_WFI_band_2ghz;
+       wdev->wiphy->bands[NL80211_BAND_2GHZ] = &WILC_WFI_band_2ghz;
 
        return wdev;
 
 
                ie_len = ie_buf[1] + 2;
                memcpy(&ie_buf[2], &(msg2.ssid.data.data), msg2.ssid.data.len);
                freq = ieee80211_channel_to_frequency(msg2.dschannel.data,
-                                                     IEEE80211_BAND_2GHZ);
+                                                     NL80211_BAND_2GHZ);
                bss = cfg80211_inform_bss(wiphy,
                        ieee80211_get_channel(wiphy, freq),
                        CFG80211_BSS_FTYPE_UNKNOWN,
        priv->band.n_channels = ARRAY_SIZE(prism2_channels);
        priv->band.bitrates = priv->rates;
        priv->band.n_bitrates = ARRAY_SIZE(prism2_rates);
-       priv->band.band = IEEE80211_BAND_2GHZ;
+       priv->band.band = NL80211_BAND_2GHZ;
        priv->band.ht_cap.ht_supported = false;
-       wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
+       wiphy->bands[NL80211_BAND_2GHZ] = &priv->band;
 
        set_wiphy_dev(wiphy, dev);
        wiphy->privid = prism2_wiphy_privid;
 
  * wireless hardware capability structures
  */
 
-/**
- * enum ieee80211_band - supported frequency bands
- *
- * The bands are assigned this way because the supported
- * bitrates differ in these bands.
- *
- * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band
- * @IEEE80211_BAND_5GHZ: around 5GHz band (4.9-5.7)
- * @IEEE80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz)
- * @IEEE80211_NUM_BANDS: number of defined bands
- */
-enum ieee80211_band {
-       IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ,
-       IEEE80211_BAND_5GHZ = NL80211_BAND_5GHZ,
-       IEEE80211_BAND_60GHZ = NL80211_BAND_60GHZ,
-
-       /* keep last */
-       IEEE80211_NUM_BANDS
-};
-
 /**
  * enum ieee80211_channel_flags - channel flags
  *
  * @dfs_cac_ms: DFS CAC time in milliseconds, this is valid for DFS channels.
  */
 struct ieee80211_channel {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u16 center_freq;
        u16 hw_value;
        u32 flags;
 struct ieee80211_supported_band {
        struct ieee80211_channel *channels;
        struct ieee80211_rate *bitrates;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int n_channels;
        int n_bitrates;
        struct ieee80211_sta_ht_cap ht_cap;
        bool user_mpm;
        u8 dtim_period;
        u16 beacon_interval;
-       int mcast_rate[IEEE80211_NUM_BANDS];
+       int mcast_rate[NUM_NL80211_BANDS];
        u32 basic_rates;
 };
 
        size_t ie_len;
        u32 flags;
 
-       u32 rates[IEEE80211_NUM_BANDS];
+       u32 rates[NUM_NL80211_BANDS];
 
        struct wireless_dev *wdev;
 
        bool privacy;
        bool control_port;
        bool userspace_handles_dfs;
-       int mcast_rate[IEEE80211_NUM_BANDS];
+       int mcast_rate[NUM_NL80211_BANDS];
        struct ieee80211_ht_cap ht_capa;
        struct ieee80211_ht_cap ht_capa_mask;
 };
  * @delta: value of RSSI level adjustment.
  */
 struct cfg80211_bss_select_adjust {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        s8 delta;
 };
 
 struct cfg80211_bss_selection {
        enum nl80211_bss_select_attr behaviour;
        union {
-               enum ieee80211_band band_pref;
+               enum nl80211_band band_pref;
                struct cfg80211_bss_select_adjust adjust;
        } param;
 };
                u8 ht_mcs[IEEE80211_HT_MCS_MASK_LEN];
                u16 vht_mcs[NL80211_VHT_NSS_MAX];
                enum nl80211_txrate_gi gi;
-       } control[IEEE80211_NUM_BANDS];
+       } control[NUM_NL80211_BANDS];
 };
 /**
  * struct cfg80211_pmksa - PMK Security Association
        int     (*leave_ibss)(struct wiphy *wiphy, struct net_device *dev);
 
        int     (*set_mcast_rate)(struct wiphy *wiphy, struct net_device *dev,
-                                 int rate[IEEE80211_NUM_BANDS]);
+                                 int rate[NUM_NL80211_BANDS]);
 
        int     (*set_wiphy_params)(struct wiphy *wiphy, u32 changed);
 
         * help determine whether you own this wiphy or not. */
        const void *privid;
 
-       struct ieee80211_supported_band *bands[IEEE80211_NUM_BANDS];
+       struct ieee80211_supported_band *bands[NUM_NL80211_BANDS];
 
        /* Lets us get back the wiphy on the callback */
        void (*reg_notifier)(struct wiphy *wiphy,
  * @band: band, necessary due to channel number overlap
  * Return: The corresponding frequency (in MHz), or 0 if the conversion failed.
  */
-int ieee80211_channel_to_frequency(int chan, enum ieee80211_band band);
+int ieee80211_channel_to_frequency(int chan, enum nl80211_band band);
 
 /**
  * ieee80211_frequency_to_channel - convert frequency to channel number
  * Returns %true if the conversion was successful, %false otherwise.
  */
 bool ieee80211_operating_class_to_band(u8 operating_class,
-                                      enum ieee80211_band *band);
+                                      enum nl80211_band *band);
 
 /**
  * ieee80211_chandef_to_operating_class - convert chandef to operation class
 
        u8 sync_dtim_count;
        u32 basic_rates;
        struct ieee80211_rate *beacon_rate;
-       int mcast_rate[IEEE80211_NUM_BANDS];
+       int mcast_rate[NUM_NL80211_BANDS];
        u16 ht_operation_mode;
        s32 cqm_rssi_thold;
        u32 cqm_rssi_hyst;
  * @common_ie_len: length of the common_ies
  */
 struct ieee80211_scan_ies {
-       const u8 *ies[IEEE80211_NUM_BANDS];
-       size_t len[IEEE80211_NUM_BANDS];
+       const u8 *ies[NUM_NL80211_BANDS];
+       size_t len[NUM_NL80211_BANDS];
        const u8 *common_ies;
        size_t common_ie_len;
 };
  * @txq: per-TID data TX queues (if driver uses the TXQ abstraction)
  */
 struct ieee80211_sta {
-       u32 supp_rates[IEEE80211_NUM_BANDS];
+       u32 supp_rates[NUM_NL80211_BANDS];
        u8 addr[ETH_ALEN];
        u16 aid;
        struct ieee80211_sta_ht_cap ht_cap;
  */
 __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw,
                                        struct ieee80211_vif *vif,
-                                       enum ieee80211_band band,
+                                       enum nl80211_band band,
                                        size_t frame_len,
                                        struct ieee80211_rate *rate);
 
 };
 
 static inline int rate_supported(struct ieee80211_sta *sta,
-                                enum ieee80211_band band,
+                                enum nl80211_band band,
                                 int index)
 {
        return (sta == NULL || sta->supp_rates[band] & BIT(index));
 
  * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
  * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
  * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz)
+ * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
+ *     since newer kernel versions may support more bands
  */
 enum nl80211_band {
        NL80211_BAND_2GHZ,
        NL80211_BAND_5GHZ,
        NL80211_BAND_60GHZ,
+
+       NUM_NL80211_BANDS,
 };
 
 /**
 
        int ret = 0;
        struct ieee80211_supported_band *sband;
        struct ieee80211_sub_if_data *sdata = sta->sdata;
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        u32 mask, set;
 
        sband = local->hw.wiphy->bands[band];
                                struct bss_parameters *params)
 {
        struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u32 changed = 0;
 
        if (!sdata_dereference(sdata->u.ap.beacon, sdata))
        }
 
        if (!sdata->vif.bss_conf.use_short_slot &&
-           band == IEEE80211_BAND_5GHZ) {
+           band == NL80211_BAND_5GHZ) {
                sdata->vif.bss_conf.use_short_slot = true;
                changed |= BSS_CHANGED_ERP_SLOT;
        }
 }
 
 static int ieee80211_set_mcast_rate(struct wiphy *wiphy, struct net_device *dev,
-                                   int rate[IEEE80211_NUM_BANDS])
+                                   int rate[NUM_NL80211_BANDS])
 {
        struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 
        memcpy(sdata->vif.bss_conf.mcast_rate, rate,
-              sizeof(int) * IEEE80211_NUM_BANDS);
+              sizeof(int) * NUM_NL80211_BANDS);
 
        return 0;
 }
                        return ret;
        }
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
+       for (i = 0; i < NUM_NL80211_BANDS; i++) {
                struct ieee80211_supported_band *sband = wiphy->bands[i];
                int j;
 
        struct ieee80211_tx_info *info;
        struct sta_info *sta;
        struct ieee80211_chanctx_conf *chanctx_conf;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int ret;
 
        /* the lock is needed to assign the cookie later */
 
        IEEE80211_IF_FILE_R(name)
 
 /* common attributes */
-IEEE80211_IF_FILE(rc_rateidx_mask_2ghz, rc_rateidx_mask[IEEE80211_BAND_2GHZ],
+IEEE80211_IF_FILE(rc_rateidx_mask_2ghz, rc_rateidx_mask[NL80211_BAND_2GHZ],
                  HEX);
-IEEE80211_IF_FILE(rc_rateidx_mask_5ghz, rc_rateidx_mask[IEEE80211_BAND_5GHZ],
+IEEE80211_IF_FILE(rc_rateidx_mask_5ghz, rc_rateidx_mask[NL80211_BAND_5GHZ],
                  HEX);
 IEEE80211_IF_FILE(rc_rateidx_mcs_mask_2ghz,
-                 rc_rateidx_mcs_mask[IEEE80211_BAND_2GHZ], HEXARRAY);
+                 rc_rateidx_mcs_mask[NL80211_BAND_2GHZ], HEXARRAY);
 IEEE80211_IF_FILE(rc_rateidx_mcs_mask_5ghz,
-                 rc_rateidx_mcs_mask[IEEE80211_BAND_5GHZ], HEXARRAY);
+                 rc_rateidx_mcs_mask[NL80211_BAND_5GHZ], HEXARRAY);
 
 static ssize_t ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_2ghz(
                                const struct ieee80211_sub_if_data *sdata,
                                char *buf, int buflen)
 {
        int i, len = 0;
-       const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[IEEE80211_BAND_2GHZ];
+       const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_2GHZ];
 
        for (i = 0; i < NL80211_VHT_NSS_MAX; i++)
                len += scnprintf(buf + len, buflen - len, "%04x ", mask[i]);
                                char *buf, int buflen)
 {
        int i, len = 0;
-       const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[IEEE80211_BAND_5GHZ];
+       const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[NL80211_BAND_5GHZ];
 
        for (i = 0; i < NL80211_VHT_NSS_MAX; i++)
                len += scnprintf(buf + len, buflen - len, "%04x ", mask[i]);
 
                }
        }
 
-       if (sband->band == IEEE80211_BAND_2GHZ) {
+       if (sband->band == NL80211_BAND_2GHZ) {
                *pos++ = WLAN_EID_DS_PARAMS;
                *pos++ = 1;
                *pos++ = ieee80211_frequency_to_channel(
         *
         * HT follows these specifications (IEEE 802.11-2012 20.3.18)
         */
-       sdata->vif.bss_conf.use_short_slot = chan->band == IEEE80211_BAND_5GHZ;
+       sdata->vif.bss_conf.use_short_slot = chan->band == NL80211_BAND_5GHZ;
        bss_change |= BSS_CHANGED_ERP_SLOT;
 
        /* cf. IEEE 802.11 9.2.12 */
-       if (chan->band == IEEE80211_BAND_2GHZ && have_higher_than_11mbit)
+       if (chan->band == NL80211_BAND_2GHZ && have_higher_than_11mbit)
                sdata->flags |= IEEE80211_SDATA_OPERATING_GMODE;
        else
                sdata->flags &= ~IEEE80211_SDATA_OPERATING_GMODE;
                                      struct ieee80211_channel *channel)
 {
        struct sta_info *sta;
-       enum ieee80211_band band = rx_status->band;
+       enum nl80211_band band = rx_status->band;
        enum nl80211_bss_scan_width scan_width;
        struct ieee80211_local *local = sdata->local;
        struct ieee80211_supported_band *sband = local->hw.wiphy->bands[band];
        struct ieee80211_channel *channel;
        u64 beacon_timestamp, rx_timestamp;
        u32 supp_rates = 0;
-       enum ieee80211_band band = rx_status->band;
+       enum nl80211_band band = rx_status->band;
 
        channel = ieee80211_get_channel(local->hw.wiphy, rx_status->freq);
        if (!channel)
 
        struct ieee80211_if_ap *bss;
 
        /* bitmap of allowed (non-MCS) rate indexes for rate control */
-       u32 rc_rateidx_mask[IEEE80211_NUM_BANDS];
+       u32 rc_rateidx_mask[NUM_NL80211_BANDS];
 
-       bool rc_has_mcs_mask[IEEE80211_NUM_BANDS];
-       u8  rc_rateidx_mcs_mask[IEEE80211_NUM_BANDS][IEEE80211_HT_MCS_MASK_LEN];
+       bool rc_has_mcs_mask[NUM_NL80211_BANDS];
+       u8  rc_rateidx_mcs_mask[NUM_NL80211_BANDS][IEEE80211_HT_MCS_MASK_LEN];
 
-       bool rc_has_vht_mcs_mask[IEEE80211_NUM_BANDS];
-       u16 rc_rateidx_vht_mcs_mask[IEEE80211_NUM_BANDS][NL80211_VHT_NSS_MAX];
+       bool rc_has_vht_mcs_mask[NUM_NL80211_BANDS];
+       u16 rc_rateidx_vht_mcs_mask[NUM_NL80211_BANDS][NL80211_VHT_NSS_MAX];
 
        union {
                struct ieee80211_if_ap ap;
        lockdep_assert_held(&sdata->wdev.mtx);
 }
 
-static inline enum ieee80211_band
+static inline enum nl80211_band
 ieee80211_get_sdata_band(struct ieee80211_sub_if_data *sdata)
 {
-       enum ieee80211_band band = IEEE80211_BAND_2GHZ;
+       enum nl80211_band band = NL80211_BAND_2GHZ;
        struct ieee80211_chanctx_conf *chanctx_conf;
 
        rcu_read_lock();
        struct cfg80211_scan_request __rcu *scan_req;
        struct ieee80211_scan_request *hw_scan_req;
        struct cfg80211_chan_def scan_chandef;
-       enum ieee80211_band hw_scan_band;
+       enum nl80211_band hw_scan_band;
        int scan_channel_idx;
        int scan_ies_len;
        int hw_scan_ies_bufsize;
                                 struct ieee80211_mgmt *mgmt);
 u32 __ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
                                   struct sta_info *sta, u8 opmode,
-                                 enum ieee80211_band band);
+                                 enum nl80211_band band);
 void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
                                 struct sta_info *sta, u8 opmode,
-                                enum ieee80211_band band);
+                                enum nl80211_band band);
 void ieee80211_apply_vhtcap_overrides(struct ieee80211_sub_if_data *sdata,
                                      struct ieee80211_sta_vht_cap *vht_cap);
 void ieee80211_get_vht_mask_from_cap(__le16 vht_cap,
  */
 int ieee80211_parse_ch_switch_ie(struct ieee80211_sub_if_data *sdata,
                                 struct ieee802_11_elems *elems,
-                                enum ieee80211_band current_band,
+                                enum nl80211_band current_band,
                                 u32 sta_flags, u8 *bssid,
                                 struct ieee80211_csa_ie *csa_ie);
 
 
 /* utility functions/constants */
 extern const void *const mac80211_wiphy_privid; /* for wiphy privid */
-int ieee80211_frame_duration(enum ieee80211_band band, size_t len,
+int ieee80211_frame_duration(enum nl80211_band band, size_t len,
                             int rate, int erp, int short_preamble,
                             int shift);
 void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata,
 
 void __ieee80211_tx_skb_tid_band(struct ieee80211_sub_if_data *sdata,
                                 struct sk_buff *skb, int tid,
-                                enum ieee80211_band band);
+                                enum nl80211_band band);
 
 static inline void
 ieee80211_tx_skb_tid_band(struct ieee80211_sub_if_data *sdata,
                          struct sk_buff *skb, int tid,
-                         enum ieee80211_band band)
+                         enum nl80211_band band)
 {
        rcu_read_lock();
        __ieee80211_tx_skb_tid_band(sdata, skb, tid, band);
 
 u32 ieee80211_sta_get_rates(struct ieee80211_sub_if_data *sdata,
                            struct ieee802_11_elems *elems,
-                           enum ieee80211_band band, u32 *basic_rates);
+                           enum nl80211_band band, u32 *basic_rates);
 int __ieee80211_request_smps_mgd(struct ieee80211_sub_if_data *sdata,
                                 enum ieee80211_smps_mode smps_mode);
 int __ieee80211_request_smps_ap(struct ieee80211_sub_if_data *sdata,
                             const u8 *srates, int srates_len, u32 *rates);
 int ieee80211_add_srates_ie(struct ieee80211_sub_if_data *sdata,
                            struct sk_buff *skb, bool need_basic,
-                           enum ieee80211_band band);
+                           enum nl80211_band band);
 int ieee80211_add_ext_srates_ie(struct ieee80211_sub_if_data *sdata,
                                struct sk_buff *skb, bool need_basic,
-                               enum ieee80211_band band);
+                               enum nl80211_band band);
 u8 *ieee80211_add_wmm_info_ie(u8 *buf, u8 qosinfo);
 
 /* channel management */
 
        INIT_DELAYED_WORK(&sdata->dec_tailroom_needed_wk,
                          ieee80211_delayed_tailroom_dec);
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
+       for (i = 0; i < NUM_NL80211_BANDS; i++) {
                struct ieee80211_supported_band *sband;
                sband = local->hw.wiphy->bands[i];
                sdata->rc_rateidx_mask[i] =
 
 {
        struct ieee80211_local *local = hw_to_local(hw);
        int result, i;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int channels, max_bitrates;
        bool supp_ht, supp_vht;
        netdev_features_t feature_whitelist;
        max_bitrates = 0;
        supp_ht = false;
        supp_vht = false;
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                struct ieee80211_supported_band *sband;
 
                sband = local->hw.wiphy->bands[band];
        if (!local->int_scan_req)
                return -ENOMEM;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                if (!local->hw.wiphy->bands[band])
                        continue;
                local->int_scan_req->rates[band] = (u32) -1;
 
                       struct sk_buff *skb)
 {
        struct ieee80211_local *local = sdata->local;
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        struct ieee80211_supported_band *sband;
        u8 *pos;
 
                        struct sk_buff *skb)
 {
        struct ieee80211_local *local = sdata->local;
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        struct ieee80211_supported_band *sband;
        u8 *pos;
 
        struct ieee80211_mgmt *mgmt;
        struct ieee80211_chanctx_conf *chanctx_conf;
        struct mesh_csa_settings *csa;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        u8 *pos;
        struct ieee80211_sub_if_data *sdata;
        int hdr_len = offsetof(struct ieee80211_mgmt, u.beacon) +
        struct cfg80211_csa_settings params;
        struct ieee80211_csa_ie csa_ie;
        struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        int err;
        u32 sta_flags;
 
        struct ieee80211_channel *channel;
        size_t baselen;
        int freq;
-       enum ieee80211_band band = rx_status->band;
+       enum nl80211_band band = rx_status->band;
 
        /* ignore ProbeResp to foreign address */
        if (stype == IEEE80211_STYPE_PROBE_RESP &&
 
 static u32 mesh_set_short_slot_time(struct ieee80211_sub_if_data *sdata)
 {
        struct ieee80211_local *local = sdata->local;
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        struct ieee80211_supported_band *sband = local->hw.wiphy->bands[band];
        struct sta_info *sta;
        u32 erp_rates = 0, changed = 0;
        int i;
        bool short_slot = false;
 
-       if (band == IEEE80211_BAND_5GHZ) {
+       if (band == NL80211_BAND_5GHZ) {
                /* (IEEE 802.11-2012 19.4.5) */
                short_slot = true;
                goto out;
-       } else if (band != IEEE80211_BAND_2GHZ)
+       } else if (band != NL80211_BAND_2GHZ)
                goto out;
 
        for (i = 0; i < sband->n_bitrates; i++)
        mgmt->u.action.u.self_prot.action_code = action;
 
        if (action != WLAN_SP_MESH_PEERING_CLOSE) {
-               enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+               enum nl80211_band band = ieee80211_get_sdata_band(sdata);
 
                /* capability info */
                pos = skb_put(skb, 2);
                               struct ieee802_11_elems *elems, bool insert)
 {
        struct ieee80211_local *local = sdata->local;
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        struct ieee80211_supported_band *sband;
        u32 rates, basic_rates = 0, changed = 0;
        enum ieee80211_sta_rx_bandwidth bw = sta->sta.bandwidth;
 
 
        capab = WLAN_CAPABILITY_ESS;
 
-       if (sband->band == IEEE80211_BAND_2GHZ) {
+       if (sband->band == NL80211_BAND_2GHZ) {
                capab |= WLAN_CAPABILITY_SHORT_SLOT_TIME;
                capab |= WLAN_CAPABILITY_SHORT_PREAMBLE;
        }
        struct cfg80211_bss *cbss = ifmgd->associated;
        struct ieee80211_chanctx_conf *conf;
        struct ieee80211_chanctx *chanctx;
-       enum ieee80211_band current_band;
+       enum nl80211_band current_band;
        struct ieee80211_csa_ie csa_ie;
        struct ieee80211_channel_switch ch_switch;
        int res;
        default:
                WARN_ON_ONCE(1);
                /* fall through */
-       case IEEE80211_BAND_2GHZ:
-       case IEEE80211_BAND_60GHZ:
+       case NL80211_BAND_2GHZ:
+       case NL80211_BAND_60GHZ:
                chan_increment = 1;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                chan_increment = 4;
                break;
        }
        }
 
        use_short_slot = !!(capab & WLAN_CAPABILITY_SHORT_SLOT_TIME);
-       if (ieee80211_get_sdata_band(sdata) == IEEE80211_BAND_5GHZ)
+       if (ieee80211_get_sdata_band(sdata) == NL80211_BAND_5GHZ)
                use_short_slot = true;
 
        if (use_protection != bss_conf->use_cts_prot) {
                sdata->vif.bss_conf.basic_rates = basic_rates;
 
                /* cf. IEEE 802.11 9.2.12 */
-               if (cbss->channel->band == IEEE80211_BAND_2GHZ &&
+               if (cbss->channel->band == NL80211_BAND_2GHZ &&
                    have_higher_than_11mbit)
                        sdata->flags |= IEEE80211_SDATA_OPERATING_GMODE;
                else
 
        u32 rate_flags =
                ieee80211_chandef_rate_flags(&hw->conf.chandef);
 
-       if ((sband->band == IEEE80211_BAND_2GHZ) &&
+       if ((sband->band == NL80211_BAND_2GHZ) &&
            (info->flags & IEEE80211_TX_CTL_NO_CCK_RATE))
                rate_flags |= IEEE80211_RATE_ERP_G;
 
 
 
 
 static void
-calc_rate_durations(enum ieee80211_band band,
+calc_rate_durations(enum nl80211_band band,
                    struct minstrel_rate *d,
                    struct ieee80211_rate *rate,
                    struct cfg80211_chan_def *chandef)
        if (!mi)
                return NULL;
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
+       for (i = 0; i < NUM_NL80211_BANDS; i++) {
                sband = hw->wiphy->bands[i];
                if (sband && sband->n_bitrates > max_rates)
                        max_rates = sband->n_bitrates;
        u32 rate_flags = ieee80211_chandef_rate_flags(&mp->hw->conf.chandef);
        int i, j;
 
-       sband = mp->hw->wiphy->bands[IEEE80211_BAND_2GHZ];
+       sband = mp->hw->wiphy->bands[NL80211_BAND_2GHZ];
        if (!sband)
                return;
 
 
 {
        int i;
 
-       if (sband->band != IEEE80211_BAND_2GHZ)
+       if (sband->band != NL80211_BAND_2GHZ)
                return;
 
        if (!ieee80211_hw_check(mp->hw, SUPPORTS_HT_CCK_RATES))
        int max_rates = 0;
        int i;
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
+       for (i = 0; i < NUM_NL80211_BANDS; i++) {
                sband = hw->wiphy->bands[i];
                if (sband && sband->n_bitrates > max_rates)
                        max_rates = sband->n_bitrates;
 
        else if (status->flag & RX_FLAG_5MHZ)
                channel_flags |= IEEE80211_CHAN_QUARTER;
 
-       if (status->band == IEEE80211_BAND_5GHZ)
+       if (status->band == NL80211_BAND_5GHZ)
                channel_flags |= IEEE80211_CHAN_OFDM | IEEE80211_CHAN_5GHZ;
        else if (status->flag & (RX_FLAG_HT | RX_FLAG_VHT))
                channel_flags |= IEEE80211_CHAN_DYN | IEEE80211_CHAN_2GHZ;
 
                switch (mgmt->u.action.u.measurement.action_code) {
                case WLAN_ACTION_SPCT_MSR_REQ:
-                       if (status->band != IEEE80211_BAND_5GHZ)
+                       if (status->band != NL80211_BAND_5GHZ)
                                break;
 
                        if (len < (IEEE80211_MIN_ACTION_SIZE +
 
        WARN_ON_ONCE(softirq_count() == 0);
 
-       if (WARN_ON(status->band >= IEEE80211_NUM_BANDS))
+       if (WARN_ON(status->band >= NUM_NL80211_BANDS))
                goto drop;
 
        sband = local->hw.wiphy->bands[status->band];
 
                n_chans = req->n_channels;
        } else {
                do {
-                       if (local->hw_scan_band == IEEE80211_NUM_BANDS)
+                       if (local->hw_scan_band == NUM_NL80211_BANDS)
                                return false;
 
                        n_chans = 0;
        int i;
        struct ieee80211_sub_if_data *sdata;
        struct cfg80211_scan_request *scan_req;
-       enum ieee80211_band band = local->hw.conf.chandef.chan->band;
+       enum nl80211_band band = local->hw.conf.chandef.chan->band;
        u32 tx_flags;
 
        scan_req = rcu_dereference_protected(local->scan_req,
 {
        struct ieee80211_local *local = sdata->local;
        int ret = -EBUSY, i, n_ch = 0;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        mutex_lock(&local->mtx);
 
        if (!channels) {
                int max_n;
 
-               for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+               for (band = 0; band < NUM_NL80211_BANDS; band++) {
                        if (!local->hw.wiphy->bands[band])
                                continue;
 
        struct ieee80211_scan_ies sched_scan_ies = {};
        struct cfg80211_chan_def chandef;
        int ret, i, iebufsz, num_bands = 0;
-       u32 rate_masks[IEEE80211_NUM_BANDS] = {};
+       u32 rate_masks[NUM_NL80211_BANDS] = {};
        u8 bands_used = 0;
        u8 *ie;
        size_t len;
        if (!local->ops->sched_scan_start)
                return -ENOTSUPP;
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
+       for (i = 0; i < NUM_NL80211_BANDS; i++) {
                if (local->hw.wiphy->bands[i]) {
                        bands_used |= BIT(i);
                        rate_masks[i] = (u32) -1;
 
 
 int ieee80211_parse_ch_switch_ie(struct ieee80211_sub_if_data *sdata,
                                 struct ieee802_11_elems *elems,
-                                enum ieee80211_band current_band,
+                                enum nl80211_band current_band,
                                 u32 sta_flags, u8 *bssid,
                                 struct ieee80211_csa_ie *csa_ie)
 {
-       enum ieee80211_band new_band;
+       enum nl80211_band new_band;
        int new_freq;
        u8 new_chan_no;
        struct ieee80211_channel *new_chan;
 
                           NL80211_FEATURE_TDLS_CHANNEL_SWITCH;
        bool wider_band = ieee80211_hw_check(&local->hw, TDLS_WIDER_BW) &&
                          !ifmgd->tdls_wider_bw_prohibited;
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        struct ieee80211_supported_band *sband = local->hw.wiphy->bands[band];
        bool vht = sband && sband->vht_cap.vht_supported;
        u8 *pos = (void *)skb_put(skb, 10);
        if (status_code != 0)
                return 0;
 
-       if (ieee80211_get_sdata_band(sdata) == IEEE80211_BAND_2GHZ) {
+       if (ieee80211_get_sdata_band(sdata) == NL80211_BAND_2GHZ) {
                return WLAN_CAPABILITY_SHORT_SLOT_TIME |
                       WLAN_CAPABILITY_SHORT_PREAMBLE;
        }
                                   u8 action_code, bool initiator,
                                   const u8 *extra_ies, size_t extra_ies_len)
 {
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        struct ieee80211_local *local = sdata->local;
        struct ieee80211_supported_band *sband;
        struct ieee80211_sta_ht_cap ht_cap;
        struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
        size_t offset = 0, noffset;
        struct sta_info *sta, *ap_sta;
-       enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
+       enum nl80211_band band = ieee80211_get_sdata_band(sdata);
        u8 *pos;
 
        mutex_lock(&local->sta_mtx);
        ieee80211_tdls_add_link_ie(sdata, skb, peer, initiator);
 
        /* only include VHT-operation if not on the 2.4GHz band */
-       if (band != IEEE80211_BAND_2GHZ && sta->sta.vht_cap.vht_supported) {
+       if (band != NL80211_BAND_2GHZ && sta->sta.vht_cap.vht_supported) {
                /*
                 * if both peers support WIDER_BW, we can expand the chandef to
                 * a wider compatible one, up to 80MHz
        u8 target_channel, oper_class;
        bool local_initiator;
        struct sta_info *sta;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_tdls_data *tf = (void *)skb->data;
        struct ieee80211_rx_status *rx_status = IEEE80211_SKB_RXCB(skb);
        int baselen = offsetof(typeof(*tf), u.chan_switch_req.variable);
        if ((oper_class == 112 || oper_class == 2 || oper_class == 3 ||
             oper_class == 4 || oper_class == 5 || oper_class == 6) &&
             target_channel < 14)
-               band = IEEE80211_BAND_5GHZ;
+               band = NL80211_BAND_5GHZ;
        else
-               band = target_channel < 14 ? IEEE80211_BAND_2GHZ :
-                                            IEEE80211_BAND_5GHZ;
+               band = target_channel < 14 ? NL80211_BAND_2GHZ :
+                                            NL80211_BAND_5GHZ;
 
        freq = ieee80211_channel_to_frequency(target_channel, band);
        if (freq == 0) {
 
                __field(u32, sync_device_ts)
                __field(u8, sync_dtim_count)
                __field(u32, basic_rates)
-               __array(int, mcast_rate, IEEE80211_NUM_BANDS)
+               __array(int, mcast_rate, NUM_NL80211_BANDS)
                __field(u16, ht_operation_mode)
                __field(s32, cqm_rssi_thold);
                __field(s32, cqm_rssi_hyst);
        TP_fast_assign(
                LOCAL_ASSIGN;
                VIF_ASSIGN;
-               __entry->legacy_2g = mask->control[IEEE80211_BAND_2GHZ].legacy;
-               __entry->legacy_5g = mask->control[IEEE80211_BAND_5GHZ].legacy;
+               __entry->legacy_2g = mask->control[NL80211_BAND_2GHZ].legacy;
+               __entry->legacy_5g = mask->control[NL80211_BAND_5GHZ].legacy;
        ),
 
        TP_printk(
 
                        rate = DIV_ROUND_UP(r->bitrate, 1 << shift);
 
                switch (sband->band) {
-               case IEEE80211_BAND_2GHZ: {
+               case NL80211_BAND_2GHZ: {
                        u32 flag;
                        if (tx->sdata->flags & IEEE80211_SDATA_OPERATING_GMODE)
                                flag = IEEE80211_RATE_MANDATORY_G;
                                mrate = r->bitrate;
                        break;
                }
-               case IEEE80211_BAND_5GHZ:
+               case NL80211_BAND_5GHZ:
                        if (r->flags & IEEE80211_RATE_MANDATORY_A)
                                mrate = r->bitrate;
                        break;
-               case IEEE80211_BAND_60GHZ:
+               case NL80211_BAND_60GHZ:
                        /* TODO, for now fall through */
-               case IEEE80211_NUM_BANDS:
+               case NUM_NL80211_BANDS:
                        WARN_ON(1);
                        break;
                }
        u16 info_id = 0;
        struct ieee80211_chanctx_conf *chanctx_conf;
        struct ieee80211_sub_if_data *ap_sdata;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int ret;
 
        if (IS_ERR(sta))
        struct sk_buff *skb = NULL;
        struct ieee80211_tx_info *info;
        struct ieee80211_sub_if_data *sdata = NULL;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_tx_rate_control txrc;
        struct ieee80211_chanctx_conf *chanctx_conf;
        int csa_off_base = 0;
 
 void __ieee80211_tx_skb_tid_band(struct ieee80211_sub_if_data *sdata,
                                 struct sk_buff *skb, int tid,
-                                enum ieee80211_band band)
+                                enum nl80211_band band)
 {
        int ac = ieee802_1d_to_ac[tid & 7];
 
 
        }
 }
 
-int ieee80211_frame_duration(enum ieee80211_band band, size_t len,
+int ieee80211_frame_duration(enum nl80211_band band, size_t len,
                             int rate, int erp, int short_preamble,
                             int shift)
 {
         * is assumed to be 0 otherwise.
         */
 
-       if (band == IEEE80211_BAND_5GHZ || erp) {
+       if (band == NL80211_BAND_5GHZ || erp) {
                /*
                 * OFDM:
                 *
 /* Exported duration function for driver use */
 __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw,
                                        struct ieee80211_vif *vif,
-                                       enum ieee80211_band band,
+                                       enum nl80211_band band,
                                        size_t frame_len,
                                        struct ieee80211_rate *rate)
 {
        rcu_read_lock();
        chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
        use_11b = (chanctx_conf &&
-                  chanctx_conf->def.chan->band == IEEE80211_BAND_2GHZ) &&
+                  chanctx_conf->def.chan->band == NL80211_BAND_2GHZ) &&
                 !(sdata->flags & IEEE80211_SDATA_OPERATING_GMODE);
        rcu_read_unlock();
 
 static int ieee80211_build_preq_ies_band(struct ieee80211_local *local,
                                         u8 *buffer, size_t buffer_len,
                                         const u8 *ie, size_t ie_len,
-                                        enum ieee80211_band band,
+                                        enum nl80211_band band,
                                         u32 rate_mask,
                                         struct cfg80211_chan_def *chandef,
                                         size_t *offset)
                pos += ext_rates_len;
        }
 
-       if (chandef->chan && sband->band == IEEE80211_BAND_2GHZ) {
+       if (chandef->chan && sband->band == NL80211_BAND_2GHZ) {
                if (end - pos < 3)
                        goto out_err;
                *pos++ = WLAN_EID_DS_PARAMS;
 
        memset(ie_desc, 0, sizeof(*ie_desc));
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
+       for (i = 0; i < NUM_NL80211_BANDS; i++) {
                if (bands_used & BIT(i)) {
                        pos += ieee80211_build_preq_ies_band(local,
                                                             buffer + pos,
        struct sk_buff *skb;
        struct ieee80211_mgmt *mgmt;
        int ies_len;
-       u32 rate_masks[IEEE80211_NUM_BANDS] = {};
+       u32 rate_masks[NUM_NL80211_BANDS] = {};
        struct ieee80211_scan_ies dummy_ie_desc;
 
        /*
 
 u32 ieee80211_sta_get_rates(struct ieee80211_sub_if_data *sdata,
                            struct ieee802_11_elems *elems,
-                           enum ieee80211_band band, u32 *basic_rates)
+                           enum nl80211_band band, u32 *basic_rates)
 {
        struct ieee80211_supported_band *sband;
        size_t num_rates;
 
 int ieee80211_add_srates_ie(struct ieee80211_sub_if_data *sdata,
                            struct sk_buff *skb, bool need_basic,
-                           enum ieee80211_band band)
+                           enum nl80211_band band)
 {
        struct ieee80211_local *local = sdata->local;
        struct ieee80211_supported_band *sband;
 
 int ieee80211_add_ext_srates_ie(struct ieee80211_sub_if_data *sdata,
                                struct sk_buff *skb, bool need_basic,
-                               enum ieee80211_band band)
+                               enum nl80211_band band)
 {
        struct ieee80211_local *local = sdata->local;
        struct ieee80211_supported_band *sband;
 
                if (status->flag & RX_FLAG_MACTIME_PLCP_START) {
                        /* TODO: handle HT/VHT preambles */
-                       if (status->band == IEEE80211_BAND_5GHZ) {
+                       if (status->band == NL80211_BAND_5GHZ) {
                                ts += 20 << shift;
                                mpdu_offset += 2;
                        } else if (status->flag & RX_FLAG_SHORTPRE) {
 
 
 u32 __ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
                                  struct sta_info *sta, u8 opmode,
-                                 enum ieee80211_band band)
+                                 enum nl80211_band band)
 {
        struct ieee80211_local *local = sdata->local;
        struct ieee80211_supported_band *sband;
 
 void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata,
                                 struct sta_info *sta, u8 opmode,
-                                enum ieee80211_band band)
+                                enum nl80211_band band)
 {
        struct ieee80211_local *local = sdata->local;
        struct ieee80211_supported_band *sband = local->hw.wiphy->bands[band];
 
                if (chan == other_chan)
                        return true;
 
-               if (chan->band != IEEE80211_BAND_5GHZ)
+               if (chan->band != NL80211_BAND_5GHZ)
                        continue;
 
                r1 = cfg80211_get_unii(chan->center_freq);
 
 {
        struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
        int res;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        bool have_band = false;
        int i;
                return res;
 
        /* sanity check supported bands/channels */
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                sband = wiphy->bands[band];
                if (!sband)
                        continue;
                 * on 60GHz band, there are no legacy rates, so
                 * n_bitrates is 0
                 */
-               if (WARN_ON(band != IEEE80211_BAND_60GHZ &&
+               if (WARN_ON(band != NL80211_BAND_60GHZ &&
                            !sband->n_bitrates))
                        return -EINVAL;
 
                 * global structure for that.
                 */
                if (cfg80211_disable_40mhz_24ghz &&
-                   band == IEEE80211_BAND_2GHZ &&
+                   band == NL80211_BAND_2GHZ &&
                    sband->ht_cap.ht_supported) {
                        sband->ht_cap.cap &= ~IEEE80211_HT_CAP_SUP_WIDTH_20_40;
                        sband->ht_cap.cap &= ~IEEE80211_HT_CAP_SGI_40;
 
        struct wiphy *wiphy = file->private_data;
        char *buf;
        unsigned int offset = 0, buf_size = PAGE_SIZE, i, r;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
 
        buf = kzalloc(buf_size, GFP_KERNEL);
 
        rtnl_lock();
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                sband = wiphy->bands[band];
                if (!sband)
                        continue;
 
                struct ieee80211_supported_band *sband =
                        rdev->wiphy.bands[params->chandef.chan->band];
                int j;
-               u32 flag = params->chandef.chan->band == IEEE80211_BAND_5GHZ ?
+               u32 flag = params->chandef.chan->band == NL80211_BAND_5GHZ ?
                        IEEE80211_RATE_MANDATORY_A :
                        IEEE80211_RATE_MANDATORY_B;
 
                            struct wireless_dev *wdev)
 {
        struct cfg80211_cached_keys *ck = NULL;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int i, err;
 
        ASSERT_WDEV_LOCK(wdev);
        if (!wdev->wext.ibss.chandef.chan) {
                struct ieee80211_channel *new_chan = NULL;
 
-               for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+               for (band = 0; band < NUM_NL80211_BANDS; band++) {
                        struct ieee80211_supported_band *sband;
                        struct ieee80211_channel *chan;
 
 
 
        if (!setup->chandef.chan) {
                /* if we don't have that either, use the first usable channel */
-               enum ieee80211_band band;
+               enum nl80211_band band;
 
-               for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+               for (band = 0; band < NUM_NL80211_BANDS; band++) {
                        struct ieee80211_supported_band *sband;
                        struct ieee80211_channel *chan;
                        int i;
 
        wiphy = &rdev->wiphy;
 
        rtnl_lock();
-       for (bandid = 0; bandid < IEEE80211_NUM_BANDS; bandid++) {
+       for (bandid = 0; bandid < NUM_NL80211_BANDS; bandid++) {
                sband = wiphy->bands[bandid];
                if (!sband)
                        continue;
 
        struct nlattr *nl_bands, *nl_band;
        struct nlattr *nl_freqs, *nl_freq;
        struct nlattr *nl_cmds;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_channel *chan;
        int i;
        const struct ieee80211_txrx_stypes *mgmt_stypes =
                        goto nla_put_failure;
 
                for (band = state->band_start;
-                    band < IEEE80211_NUM_BANDS; band++) {
+                    band < NUM_NL80211_BANDS; band++) {
                        struct ieee80211_supported_band *sband;
 
                        sband = rdev->wiphy.bands[band];
                }
                nla_nest_end(msg, nl_bands);
 
-               if (band < IEEE80211_NUM_BANDS)
+               if (band < NUM_NL80211_BANDS)
                        state->band_start = band + 1;
                else
                        state->band_start = 0;
        }
 
        params.pbss = nla_get_flag(info->attrs[NL80211_ATTR_PBSS]);
-       if (params.pbss && !rdev->wiphy.bands[IEEE80211_BAND_60GHZ])
+       if (params.pbss && !rdev->wiphy.bands[NL80211_BAND_60GHZ])
                return -EOPNOTSUPP;
 
        wdev_lock(wdev);
        return n_channels;
 }
 
-static bool is_band_valid(struct wiphy *wiphy, enum ieee80211_band b)
+static bool is_band_valid(struct wiphy *wiphy, enum nl80211_band b)
 {
-       return b < IEEE80211_NUM_BANDS && wiphy->bands[b];
+       return b < NUM_NL80211_BANDS && wiphy->bands[b];
 }
 
 static int parse_bss_select(struct nlattr *nla, struct wiphy *wiphy,
                        i++;
                }
        } else {
-               enum ieee80211_band band;
+               enum nl80211_band band;
 
                /* all channels */
-               for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+               for (band = 0; band < NUM_NL80211_BANDS; band++) {
                        int j;
                        if (!wiphy->bands[band])
                                continue;
                       request->ie_len);
        }
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++)
+       for (i = 0; i < NUM_NL80211_BANDS; i++)
                if (wiphy->bands[i])
                        request->rates[i] =
                                (1 << wiphy->bands[i]->n_bitrates) - 1;
                nla_for_each_nested(attr,
                                    info->attrs[NL80211_ATTR_SCAN_SUPP_RATES],
                                    tmp) {
-                       enum ieee80211_band band = nla_type(attr);
+                       enum nl80211_band band = nla_type(attr);
 
-                       if (band < 0 || band >= IEEE80211_NUM_BANDS) {
+                       if (band < 0 || band >= NUM_NL80211_BANDS) {
                                err = -EINVAL;
                                goto out_free;
                        }
        struct cfg80211_sched_scan_request *request;
        struct nlattr *attr;
        int err, tmp, n_ssids = 0, n_match_sets = 0, n_channels, i, n_plans = 0;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        size_t ie_len;
        struct nlattr *tb[NL80211_SCHED_SCAN_MATCH_ATTR_MAX + 1];
        s32 default_match_rssi = NL80211_SCAN_RSSI_THOLD_OFF;
                }
        } else {
                /* all channels */
-               for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+               for (band = 0; band < NUM_NL80211_BANDS; band++) {
                        int j;
                        if (!wiphy->bands[band])
                                continue;
 
 static bool
 nl80211_parse_mcast_rate(struct cfg80211_registered_device *rdev,
-                        int mcast_rate[IEEE80211_NUM_BANDS],
+                        int mcast_rate[NUM_NL80211_BANDS],
                         int rateval)
 {
        struct wiphy *wiphy = &rdev->wiphy;
        bool found = false;
        int band, i;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                struct ieee80211_supported_band *sband;
 
                sband = wiphy->bands[band];
 {
        struct cfg80211_registered_device *rdev = info->user_ptr[0];
        struct net_device *dev = info->user_ptr[1];
-       int mcast_rate[IEEE80211_NUM_BANDS];
+       int mcast_rate[NUM_NL80211_BANDS];
        u32 nla_rate;
        int err;
 
        }
 
        connect.pbss = nla_get_flag(info->attrs[NL80211_ATTR_PBSS]);
-       if (connect.pbss && !rdev->wiphy.bands[IEEE80211_BAND_60GHZ]) {
+       if (connect.pbss && !rdev->wiphy.bands[NL80211_BAND_60GHZ]) {
                kzfree(connkeys);
                return -EOPNOTSUPP;
        }
 
        memset(&mask, 0, sizeof(mask));
        /* Default to all rates enabled */
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++) {
+       for (i = 0; i < NUM_NL80211_BANDS; i++) {
                sband = rdev->wiphy.bands[i];
 
                if (!sband)
 
        /*
         * The nested attribute uses enum nl80211_band as the index. This maps
-        * directly to the enum ieee80211_band values used in cfg80211.
+        * directly to the enum nl80211_band values used in cfg80211.
         */
        BUILD_BUG_ON(NL80211_MAX_SUPP_HT_RATES > IEEE80211_HT_MCS_MASK_LEN * 8);
        nla_for_each_nested(tx_rates, info->attrs[NL80211_ATTR_TX_RATES], rem) {
-               enum ieee80211_band band = nla_type(tx_rates);
+               enum nl80211_band band = nla_type(tx_rates);
                int err;
 
-               if (band < 0 || band >= IEEE80211_NUM_BANDS)
+               if (band < 0 || band >= NUM_NL80211_BANDS)
                        return -EINVAL;
                sband = rdev->wiphy.bands[band];
                if (sband == NULL)
         * section 10.22.6.2.1. Disallow 5/10Mhz channels as well for now, the
         * specification is not defined for them.
         */
-       if (chandef.chan->band == IEEE80211_BAND_2GHZ &&
+       if (chandef.chan->band == NL80211_BAND_2GHZ &&
            chandef.width != NL80211_CHAN_WIDTH_20_NOHT &&
            chandef.width != NL80211_CHAN_WIDTH_20)
                return -EINVAL;
 
 static inline int
 rdev_set_mcast_rate(struct cfg80211_registered_device *rdev,
                    struct net_device *dev,
-                   int mcast_rate[IEEE80211_NUM_BANDS])
+                   int mcast_rate[NUM_NL80211_BANDS])
 {
        int ret = -ENOTSUPP;
 
 
 
 static void reg_process_ht_flags(struct wiphy *wiphy)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        if (!wiphy)
                return;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++)
+       for (band = 0; band < NUM_NL80211_BANDS; band++)
                reg_process_ht_flags_band(wiphy, wiphy->bands[band]);
 }
 
 static void wiphy_update_regulatory(struct wiphy *wiphy,
                                    enum nl80211_reg_initiator initiator)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct regulatory_request *lr = get_last_request();
 
        if (ignore_reg_update(wiphy, initiator)) {
 
        lr->dfs_region = get_cfg80211_regdom()->dfs_region;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++)
+       for (band = 0; band < NUM_NL80211_BANDS; band++)
                handle_band(wiphy, initiator, wiphy->bands[band]);
 
        reg_process_beacons(wiphy);
 void wiphy_apply_custom_regulatory(struct wiphy *wiphy,
                                   const struct ieee80211_regdomain *regd)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        unsigned int bands_set = 0;
 
        WARN(!(wiphy->regulatory_flags & REGULATORY_CUSTOM_REG),
             "wiphy should have REGULATORY_CUSTOM_REG\n");
        wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                if (!wiphy->bands[band])
                        continue;
                handle_band_custom(wiphy, wiphy->bands[band], regd);
        struct wiphy *wiphy;
        const struct ieee80211_regdomain *tmp;
        const struct ieee80211_regdomain *regd;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct regulatory_request request = {};
 
        list_for_each_entry(rdev, &cfg80211_rdev_list, list) {
                rcu_assign_pointer(wiphy->regd, regd);
                rcu_free_regdom(tmp);
 
-               for (band = 0; band < IEEE80211_NUM_BANDS; band++)
+               for (band = 0; band < NUM_NL80211_BANDS; band++)
                        handle_band_custom(wiphy, wiphy->bands[band], regd);
 
                reg_process_ht_flags(wiphy);
 }
 EXPORT_SYMBOL(regulatory_hint);
 
-void regulatory_hint_country_ie(struct wiphy *wiphy, enum ieee80211_band band,
+void regulatory_hint_country_ie(struct wiphy *wiphy, enum nl80211_band band,
                                const u8 *country_ie, u8 country_ie_len)
 {
        char alpha2[2];
 static void restore_custom_reg_settings(struct wiphy *wiphy)
 {
        struct ieee80211_supported_band *sband;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_channel *chan;
        int i;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                sband = wiphy->bands[band];
                if (!sband)
                        continue;
 
 static bool freq_is_chan_12_13_14(u16 freq)
 {
-       if (freq == ieee80211_channel_to_frequency(12, IEEE80211_BAND_2GHZ) ||
-           freq == ieee80211_channel_to_frequency(13, IEEE80211_BAND_2GHZ) ||
-           freq == ieee80211_channel_to_frequency(14, IEEE80211_BAND_2GHZ))
+       if (freq == ieee80211_channel_to_frequency(12, NL80211_BAND_2GHZ) ||
+           freq == ieee80211_channel_to_frequency(13, NL80211_BAND_2GHZ) ||
+           freq == ieee80211_channel_to_frequency(14, NL80211_BAND_2GHZ))
                return true;
        return false;
 }
 
        if (beacon_chan->beacon_found ||
            beacon_chan->flags & IEEE80211_CHAN_RADAR ||
-           (beacon_chan->band == IEEE80211_BAND_2GHZ &&
+           (beacon_chan->band == NL80211_BAND_2GHZ &&
             !freq_is_chan_12_13_14(beacon_chan->center_freq)))
                return 0;
 
 
  * information for a band the BSS is not present in it will be ignored.
  */
 void regulatory_hint_country_ie(struct wiphy *wiphy,
-                        enum ieee80211_band band,
+                        enum nl80211_band band,
                         const u8 *country_ie,
                         u8 country_ie_len);
 
 
 }
 
 static bool cfg80211_bss_type_match(u16 capability,
-                                   enum ieee80211_band band,
+                                   enum nl80211_band band,
                                    enum ieee80211_bss_type bss_type)
 {
        bool ret = true;
        if (bss_type == IEEE80211_BSS_TYPE_ANY)
                return ret;
 
-       if (band == IEEE80211_BAND_60GHZ) {
+       if (band == NL80211_BAND_60GHZ) {
                mask = WLAN_CAPABILITY_DMG_TYPE_MASK;
                switch (bss_type) {
                case IEEE80211_BSS_TYPE_ESS:
        if (!res)
                return NULL;
 
-       if (channel->band == IEEE80211_BAND_60GHZ) {
+       if (channel->band == NL80211_BAND_60GHZ) {
                bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK;
                if (bss_type == WLAN_CAPABILITY_DMG_TYPE_AP ||
                    bss_type == WLAN_CAPABILITY_DMG_TYPE_PBSS)
        if (!res)
                return NULL;
 
-       if (channel->band == IEEE80211_BAND_60GHZ) {
+       if (channel->band == NL80211_BAND_60GHZ) {
                bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK;
                if (bss_type == WLAN_CAPABILITY_DMG_TYPE_AP ||
                    bss_type == WLAN_CAPABILITY_DMG_TYPE_PBSS)
        struct iw_scan_req *wreq = NULL;
        struct cfg80211_scan_request *creq = NULL;
        int i, err, n_channels = 0;
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
        if (!netif_running(dev))
                return -ENETDOWN;
 
        /* translate "Scan on frequencies" request */
        i = 0;
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                int j;
 
                if (!wiphy->bands[band])
                        creq->n_ssids = 0;
        }
 
-       for (i = 0; i < IEEE80211_NUM_BANDS; i++)
+       for (i = 0; i < NUM_NL80211_BANDS; i++)
                if (wiphy->bands[i])
                        creq->rates[i] = (1 << wiphy->bands[i]->n_bitrates) - 1;
 
 
                return -ENOMEM;
 
        if (wdev->conn->params.channel) {
-               enum ieee80211_band band = wdev->conn->params.channel->band;
+               enum nl80211_band band = wdev->conn->params.channel->band;
                struct ieee80211_supported_band *sband =
                        wdev->wiphy->bands[band];
 
                request->rates[band] = (1 << sband->n_bitrates) - 1;
        } else {
                int i = 0, j;
-               enum ieee80211_band band;
+               enum nl80211_band band;
                struct ieee80211_supported_band *bands;
                struct ieee80211_channel *channel;
 
-               for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+               for (band = 0; band < NUM_NL80211_BANDS; band++) {
                        bands = wdev->wiphy->bands[band];
                        if (!bands)
                                continue;
 
                                conf->dot11MeshHWMPconfirmationInterval;      \
        } while (0)
 
-#define CHAN_ENTRY __field(enum ieee80211_band, band) \
+#define CHAN_ENTRY __field(enum nl80211_band, band) \
                   __field(u16, center_freq)
 #define CHAN_ASSIGN(chan)                                        \
        do {                                                      \
 #define CHAN_PR_FMT "band: %d, freq: %u"
 #define CHAN_PR_ARG __entry->band, __entry->center_freq
 
-#define CHAN_DEF_ENTRY __field(enum ieee80211_band, band)              \
+#define CHAN_DEF_ENTRY __field(enum nl80211_band, band)                \
                       __field(u32, control_freq)                       \
                       __field(u32, width)                              \
                       __field(u32, center_freq1)                       \
        TP_STRUCT__entry(
                __field(u32, n_channels)
                __dynamic_array(u8, ie, request ? request->ie_len : 0)
-               __array(u32, rates, IEEE80211_NUM_BANDS)
+               __array(u32, rates, NUM_NL80211_BANDS)
                __field(u32, wdev_id)
                MAC_ENTRY(wiphy_mac)
                __field(bool, no_cck)
                        memcpy(__get_dynamic_array(ie), request->ie,
                               request->ie_len);
                        memcpy(__entry->rates, request->rates,
-                              IEEE80211_NUM_BANDS);
+                              NUM_NL80211_BANDS);
                        __entry->wdev_id = request->wdev ?
                                        request->wdev->identifier : 0;
                        if (request->wiphy)
 
 TRACE_EVENT(rdev_set_mcast_rate,
        TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
-                int mcast_rate[IEEE80211_NUM_BANDS]),
+                int mcast_rate[NUM_NL80211_BANDS]),
        TP_ARGS(wiphy, netdev, mcast_rate),
        TP_STRUCT__entry(
                WIPHY_ENTRY
                NETDEV_ENTRY
-               __array(int, mcast_rate, IEEE80211_NUM_BANDS)
+               __array(int, mcast_rate, NUM_NL80211_BANDS)
        ),
        TP_fast_assign(
                WIPHY_ASSIGN;
                NETDEV_ASSIGN;
                memcpy(__entry->mcast_rate, mcast_rate,
-                      sizeof(int) * IEEE80211_NUM_BANDS);
+                      sizeof(int) * NUM_NL80211_BANDS);
        ),
        TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", "
                  "mcast_rates [2.4GHz=0x%x, 5.2GHz=0x%x, 60GHz=0x%x]",
                  WIPHY_PR_ARG, NETDEV_PR_ARG,
-                 __entry->mcast_rate[IEEE80211_BAND_2GHZ],
-                 __entry->mcast_rate[IEEE80211_BAND_5GHZ],
-                 __entry->mcast_rate[IEEE80211_BAND_60GHZ])
+                 __entry->mcast_rate[NL80211_BAND_2GHZ],
+                 __entry->mcast_rate[NL80211_BAND_5GHZ],
+                 __entry->mcast_rate[NL80211_BAND_60GHZ])
 );
 
 TRACE_EVENT(rdev_set_coalesce,
 
        if (WARN_ON(!sband))
                return 1;
 
-       if (sband->band == IEEE80211_BAND_2GHZ) {
+       if (sband->band == NL80211_BAND_2GHZ) {
                if (scan_width == NL80211_BSS_CHAN_WIDTH_5 ||
                    scan_width == NL80211_BSS_CHAN_WIDTH_10)
                        mandatory_flag = IEEE80211_RATE_MANDATORY_G;
 }
 EXPORT_SYMBOL(ieee80211_mandatory_rates);
 
-int ieee80211_channel_to_frequency(int chan, enum ieee80211_band band)
+int ieee80211_channel_to_frequency(int chan, enum nl80211_band band)
 {
        /* see 802.11 17.3.8.3.2 and Annex J
         * there are overlapping channel numbers in 5GHz and 2GHz bands */
        if (chan <= 0)
                return 0; /* not supported */
        switch (band) {
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                if (chan == 14)
                        return 2484;
                else if (chan < 14)
                        return 2407 + chan * 5;
                break;
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                if (chan >= 182 && chan <= 196)
                        return 4000 + chan * 5;
                else
                        return 5000 + chan * 5;
                break;
-       case IEEE80211_BAND_60GHZ:
+       case NL80211_BAND_60GHZ:
                if (chan < 5)
                        return 56160 + chan * 2160;
                break;
 struct ieee80211_channel *__ieee80211_get_channel(struct wiphy *wiphy,
                                                  int freq)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        struct ieee80211_supported_band *sband;
        int i;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                sband = wiphy->bands[band];
 
                if (!sband)
 EXPORT_SYMBOL(__ieee80211_get_channel);
 
 static void set_mandatory_flags_band(struct ieee80211_supported_band *sband,
-                                    enum ieee80211_band band)
+                                    enum nl80211_band band)
 {
        int i, want;
 
        switch (band) {
-       case IEEE80211_BAND_5GHZ:
+       case NL80211_BAND_5GHZ:
                want = 3;
                for (i = 0; i < sband->n_bitrates; i++) {
                        if (sband->bitrates[i].bitrate == 60 ||
                }
                WARN_ON(want);
                break;
-       case IEEE80211_BAND_2GHZ:
+       case NL80211_BAND_2GHZ:
                want = 7;
                for (i = 0; i < sband->n_bitrates; i++) {
                        if (sband->bitrates[i].bitrate == 10) {
                }
                WARN_ON(want != 0 && want != 3 && want != 6);
                break;
-       case IEEE80211_BAND_60GHZ:
+       case NL80211_BAND_60GHZ:
                /* check for mandatory HT MCS 1..4 */
                WARN_ON(!sband->ht_cap.ht_supported);
                WARN_ON((sband->ht_cap.mcs.rx_mask[0] & 0x1e) != 0x1e);
                break;
-       case IEEE80211_NUM_BANDS:
+       case NUM_NL80211_BANDS:
                WARN_ON(1);
                break;
        }
 
 void ieee80211_set_bitrate_flags(struct wiphy *wiphy)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++)
+       for (band = 0; band < NUM_NL80211_BANDS; band++)
                if (wiphy->bands[band])
                        set_mandatory_flags_band(wiphy->bands[band], band);
 }
 EXPORT_SYMBOL(ieee80211_ie_split_ric);
 
 bool ieee80211_operating_class_to_band(u8 operating_class,
-                                      enum ieee80211_band *band)
+                                      enum nl80211_band *band)
 {
        switch (operating_class) {
        case 112:
        case 115 ... 127:
        case 128 ... 130:
-               *band = IEEE80211_BAND_5GHZ;
+               *band = NL80211_BAND_5GHZ;
                return true;
        case 81:
        case 82:
        case 83:
        case 84:
-               *band = IEEE80211_BAND_2GHZ;
+               *band = NL80211_BAND_2GHZ;
                return true;
        case 180:
-               *band = IEEE80211_BAND_60GHZ;
+               *band = NL80211_BAND_60GHZ;
                return true;
        }
 
 
 unsigned int ieee80211_get_num_supported_channels(struct wiphy *wiphy)
 {
-       enum ieee80211_band band;
+       enum nl80211_band band;
        unsigned int n_channels = 0;
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++)
+       for (band = 0; band < NUM_NL80211_BANDS; band++)
                if (wiphy->bands[band])
                        n_channels += wiphy->bands[band]->n_channels;
 
 
        if (!wdev)
                return -EOPNOTSUPP;
 
-       sband = wdev->wiphy->bands[IEEE80211_BAND_5GHZ];
+       sband = wdev->wiphy->bands[NL80211_BAND_5GHZ];
        if (sband) {
                is_a = true;
                is_ht |= sband->ht_cap.ht_supported;
        }
 
-       sband = wdev->wiphy->bands[IEEE80211_BAND_2GHZ];
+       sband = wdev->wiphy->bands[NL80211_BAND_2GHZ];
        if (sband) {
                int i;
                /* Check for mandatory rates */
 {
        struct wireless_dev *wdev = dev->ieee80211_ptr;
        struct iw_range *range = (struct iw_range *) extra;
-       enum ieee80211_band band;
+       enum nl80211_band band;
        int i, c = 0;
 
        if (!wdev)
                }
        }
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band ++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band ++) {
                struct ieee80211_supported_band *sband;
 
                sband = wdev->wiphy->bands[band];
         * -EINVAL for impossible things.
         */
        if (freq->e == 0) {
-               enum ieee80211_band band = IEEE80211_BAND_2GHZ;
+               enum nl80211_band band = NL80211_BAND_2GHZ;
                if (freq->m < 0)
                        return 0;
                if (freq->m > 14)
-                       band = IEEE80211_BAND_5GHZ;
+                       band = NL80211_BAND_5GHZ;
                return ieee80211_channel_to_frequency(freq->m, band);
        } else {
                int i, div = 1000000;
                maxrate = rate->value / 100000;
        }
 
-       for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+       for (band = 0; band < NUM_NL80211_BANDS; band++) {
                sband = wdev->wiphy->bands[band];
                if (sband == NULL)
                        continue;