Search Linux Wireless

Re: [PATCH] cfg80211: remove enum ieee80211_band

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12-04-16 15:58, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@xxxxxxxxx>
> 
> This enum is already perfectly aliased to enum nl80211_band, and
> the only reason for it is that we get IEEE80211_NUM_BANDS out of
> it. There's no really good reason to not declare the number of
> bands in nl80211 though, so do that and remove the cfg80211 one.

So what if a band is added. That would change the value of
IEEE80211_NUM_BANDS in nl80211. Is it not ABI?

Regards,
Arend

> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
> ---
>  Documentation/DocBook/80211.tmpl                   |   1 -
>  drivers/net/wireless/admtek/adm8211.c              |   4 +-
>  drivers/net/wireless/ath/ar5523/ar5523.c           |   4 +-
>  drivers/net/wireless/ath/ath.h                     |   2 +-
>  drivers/net/wireless/ath/ath10k/core.h             |   2 +-
>  drivers/net/wireless/ath/ath10k/htt_rx.c           |   8 +-
>  drivers/net/wireless/ath/ath10k/mac.c              |  68 ++++----
>  drivers/net/wireless/ath/ath10k/wmi.c              |   8 +-
>  drivers/net/wireless/ath/ath5k/ani.c               |   2 +-
>  drivers/net/wireless/ath/ath5k/ath5k.h             |  10 +-
>  drivers/net/wireless/ath/ath5k/attach.c            |   8 +-
>  drivers/net/wireless/ath/ath5k/base.c              |  32 ++--
>  drivers/net/wireless/ath/ath5k/debug.c             |   6 +-
>  drivers/net/wireless/ath/ath5k/pcu.c               |   6 +-
>  drivers/net/wireless/ath/ath5k/phy.c               |  30 ++--
>  drivers/net/wireless/ath/ath5k/qcu.c               |   8 +-
>  drivers/net/wireless/ath/ath5k/reset.c             |   6 +-
>  drivers/net/wireless/ath/ath6kl/cfg80211.c         |  22 +--
>  drivers/net/wireless/ath/ath6kl/core.h             |   2 +-
>  drivers/net/wireless/ath/ath6kl/wmi.c              |  22 +--
>  drivers/net/wireless/ath/ath6kl/wmi.h              |   2 +-
>  drivers/net/wireless/ath/ath9k/calib.c             |   6 +-
>  drivers/net/wireless/ath/ath9k/channel.c           |   8 +-
>  drivers/net/wireless/ath/ath9k/common-init.c       |  28 ++--
>  drivers/net/wireless/ath/ath9k/common.c            |   4 +-
>  drivers/net/wireless/ath/ath9k/debug_sta.c         |   6 +-
>  drivers/net/wireless/ath/ath9k/dynack.c            |   2 +-
>  drivers/net/wireless/ath/ath9k/htc_drv_init.c      |   8 +-
>  drivers/net/wireless/ath/ath9k/htc_drv_main.c      |  12 +-
>  drivers/net/wireless/ath/ath9k/htc_drv_txrx.c      |   2 +-
>  drivers/net/wireless/ath/ath9k/init.c              |  12 +-
>  drivers/net/wireless/ath/ath9k/main.c              |   4 +-
>  drivers/net/wireless/ath/ath9k/xmit.c              |   4 +-
>  drivers/net/wireless/ath/carl9170/mac.c            |  12 +-
>  drivers/net/wireless/ath/carl9170/main.c           |   6 +-
>  drivers/net/wireless/ath/carl9170/phy.c            |  18 +--
>  drivers/net/wireless/ath/carl9170/rx.c             |   2 +-
>  drivers/net/wireless/ath/carl9170/tx.c             |   8 +-
>  drivers/net/wireless/ath/regd.c                    |  16 +-
>  drivers/net/wireless/ath/regd.h                    |   2 +-
>  drivers/net/wireless/ath/wcn36xx/main.c            |  12 +-
>  drivers/net/wireless/ath/wcn36xx/smd.c             |   4 +-
>  drivers/net/wireless/ath/wcn36xx/txrx.c            |   2 +-
>  drivers/net/wireless/ath/wil6210/cfg80211.c        |   4 +-
>  drivers/net/wireless/ath/wil6210/netdev.c          |   2 +-
>  drivers/net/wireless/ath/wil6210/wmi.c             |   2 +-
>  drivers/net/wireless/atmel/at76c50x-usb.c          |   6 +-
>  drivers/net/wireless/atmel/atmel.c                 |   2 +-
>  drivers/net/wireless/broadcom/b43/b43.h            |   4 +-
>  drivers/net/wireless/broadcom/b43/main.c           |  34 ++--
>  drivers/net/wireless/broadcom/b43/phy_ac.c         |   2 +-
>  drivers/net/wireless/broadcom/b43/phy_common.c     |   2 +-
>  drivers/net/wireless/broadcom/b43/phy_ht.c         |  16 +-
>  drivers/net/wireless/broadcom/b43/phy_lcn.c        |  10 +-
>  drivers/net/wireless/broadcom/b43/phy_lp.c         |  30 ++--
>  drivers/net/wireless/broadcom/b43/phy_n.c          | 176 ++++++++++-----------
>  drivers/net/wireless/broadcom/b43/tables_lpphy.c   |  14 +-
>  drivers/net/wireless/broadcom/b43/tables_nphy.c    |  16 +-
>  drivers/net/wireless/broadcom/b43/tables_phy_lcn.c |   2 +-
>  drivers/net/wireless/broadcom/b43/xmit.c           |   8 +-
>  drivers/net/wireless/broadcom/b43legacy/main.c     |  12 +-
>  drivers/net/wireless/broadcom/b43legacy/xmit.c     |   2 +-
>  .../broadcom/brcm80211/brcmfmac/cfg80211.c         |  74 ++++-----
>  .../net/wireless/broadcom/brcm80211/brcmfmac/p2p.c |   8 +-
>  .../wireless/broadcom/brcm80211/brcmsmac/channel.c |  10 +-
>  .../broadcom/brcm80211/brcmsmac/mac80211_if.c      |  16 +-
>  .../wireless/broadcom/brcm80211/brcmsmac/main.c    |   4 +-
>  drivers/net/wireless/cisco/airo.c                  |   6 +-
>  drivers/net/wireless/intel/ipw2x00/ipw2100.c       |   6 +-
>  drivers/net/wireless/intel/ipw2x00/ipw2200.c       |  12 +-
>  drivers/net/wireless/intel/iwlegacy/3945-mac.c     |  30 ++--
>  drivers/net/wireless/intel/iwlegacy/3945-rs.c      |  22 +--
>  drivers/net/wireless/intel/iwlegacy/3945.c         |  20 +--
>  drivers/net/wireless/intel/iwlegacy/4965-mac.c     |  38 ++---
>  drivers/net/wireless/intel/iwlegacy/4965-rs.c      |  22 +--
>  drivers/net/wireless/intel/iwlegacy/4965.c         |   6 +-
>  drivers/net/wireless/intel/iwlegacy/4965.h         |   2 +-
>  drivers/net/wireless/intel/iwlegacy/common.c       |  70 ++++----
>  drivers/net/wireless/intel/iwlegacy/common.h       |  30 ++--
>  drivers/net/wireless/intel/iwlegacy/debug.c        |   4 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/agn.h       |   8 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c   |   4 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/dev.h       |   6 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/devices.c   |   4 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/lib.c       |   6 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c  |  12 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/main.c      |   4 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/rs.c        |  22 +--
>  drivers/net/wireless/intel/iwlwifi/dvm/rs.h        |   2 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/rx.c        |   2 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/rxon.c      |  10 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/scan.c      |  38 ++---
>  drivers/net/wireless/intel/iwlwifi/dvm/sta.c       |   2 +-
>  drivers/net/wireless/intel/iwlwifi/dvm/tx.c        |   4 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-1000.c      |   2 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-2000.c      |   2 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-5000.c      |   2 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-6000.c      |   2 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-7000.c      |   4 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-8000.c      |   2 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-9000.c      |   2 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-config.h    |   2 +-
>  .../net/wireless/intel/iwlwifi/iwl-eeprom-parse.c  |  38 ++---
>  .../net/wireless/intel/iwlwifi/iwl-eeprom-parse.h  |   6 +-
>  drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c |  26 +--
>  drivers/net/wireless/intel/iwlwifi/mvm/coex.c      |  10 +-
>  .../net/wireless/intel/iwlwifi/mvm/debugfs-vif.c   |   6 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/fw.c        |   2 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c  |   8 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |  16 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       |   6 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c  |   2 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/rs.c        |  28 ++--
>  drivers/net/wireless/intel/iwlwifi/mvm/rs.h        |   4 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/rx.c        |   2 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c      |   4 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/scan.c      |  36 ++---
>  drivers/net/wireless/intel/iwlwifi/mvm/tdls.c      |   2 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/tx.c        |   6 +-
>  drivers/net/wireless/intel/iwlwifi/mvm/utils.c     |   4 +-
>  drivers/net/wireless/intersil/orinoco/cfg.c        |   6 +-
>  drivers/net/wireless/intersil/orinoco/hw.c         |   2 +-
>  drivers/net/wireless/intersil/orinoco/scan.c       |   4 +-
>  drivers/net/wireless/intersil/p54/eeprom.c         |  32 ++--
>  drivers/net/wireless/intersil/p54/main.c           |   4 +-
>  drivers/net/wireless/intersil/p54/p54.h            |   2 +-
>  drivers/net/wireless/intersil/p54/txrx.c           |   4 +-
>  drivers/net/wireless/mac80211_hwsim.c              |  14 +-
>  drivers/net/wireless/marvell/libertas/cfg.c        |  10 +-
>  drivers/net/wireless/marvell/libertas/cmd.c        |   4 +-
>  drivers/net/wireless/marvell/libertas_tf/main.c    |   4 +-
>  drivers/net/wireless/marvell/mwifiex/cfg80211.c    |  34 ++--
>  drivers/net/wireless/marvell/mwifiex/cfp.c         |  12 +-
>  drivers/net/wireless/marvell/mwifiex/scan.c        |   8 +-
>  drivers/net/wireless/marvell/mwifiex/uap_cmd.c     |   2 +-
>  drivers/net/wireless/marvell/mwl8k.c               |  88 +++++------
>  drivers/net/wireless/mediatek/mt7601u/init.c       |   4 +-
>  drivers/net/wireless/ralink/rt2x00/rt2800lib.c     |  30 ++--
>  drivers/net/wireless/ralink/rt2x00/rt2x00.h        |   4 +-
>  drivers/net/wireless/ralink/rt2x00/rt2x00dev.c     |  40 ++---
>  drivers/net/wireless/ralink/rt2x00/rt61pci.c       |  22 +--
>  drivers/net/wireless/ralink/rt2x00/rt73usb.c       |  22 +--
>  drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c |   8 +-
>  drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c |   4 +-
>  drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c   |  30 ++--
>  drivers/net/wireless/realtek/rtlwifi/base.c        |  44 +++---
>  drivers/net/wireless/realtek/rtlwifi/regd.c        |  16 +-
>  drivers/net/wireless/realtek/rtlwifi/wifi.h        |   2 +-
>  drivers/net/wireless/rndis_wlan.c                  |   4 +-
>  drivers/net/wireless/rsi/rsi_91x_mac80211.c        | 100 ++++++------
>  drivers/net/wireless/rsi/rsi_91x_mgmt.c            |   8 +-
>  drivers/net/wireless/rsi/rsi_91x_pkt.c             |   2 +-
>  drivers/net/wireless/rsi/rsi_main.h                |   2 +-
>  drivers/net/wireless/st/cw1200/main.c              |  10 +-
>  drivers/net/wireless/st/cw1200/scan.c              |   2 +-
>  drivers/net/wireless/st/cw1200/sta.c               |   6 +-
>  drivers/net/wireless/st/cw1200/txrx.c              |   2 +-
>  drivers/net/wireless/st/cw1200/wsm.c               |   4 +-
>  drivers/net/wireless/ti/wl1251/main.c              |   2 +-
>  drivers/net/wireless/ti/wl1251/rx.c                |   2 +-
>  drivers/net/wireless/ti/wl12xx/main.c              |   8 +-
>  drivers/net/wireless/ti/wl12xx/scan.c              |  20 +--
>  drivers/net/wireless/ti/wl18xx/cmd.c               |   6 +-
>  drivers/net/wireless/ti/wl18xx/event.c             |   6 +-
>  drivers/net/wireless/ti/wl18xx/main.c              |  22 +--
>  drivers/net/wireless/ti/wl18xx/scan.c              |   8 +-
>  drivers/net/wireless/ti/wl18xx/tx.c                |   2 +-
>  drivers/net/wireless/ti/wlcore/cmd.c               |  36 ++---
>  drivers/net/wireless/ti/wlcore/cmd.h               |   6 +-
>  drivers/net/wireless/ti/wlcore/main.c              |  32 ++--
>  drivers/net/wireless/ti/wlcore/ps.c                |   4 +-
>  drivers/net/wireless/ti/wlcore/rx.c                |   4 +-
>  drivers/net/wireless/ti/wlcore/rx.h                |   2 +-
>  drivers/net/wireless/ti/wlcore/scan.c              |  14 +-
>  drivers/net/wireless/ti/wlcore/tx.c                |   2 +-
>  drivers/net/wireless/ti/wlcore/tx.h                |   4 +-
>  drivers/net/wireless/ti/wlcore/wlcore.h            |   4 +-
>  drivers/net/wireless/ti/wlcore/wlcore_i.h          |   2 +-
>  drivers/net/wireless/wl3501_cs.c                   |   2 +-
>  drivers/net/wireless/zydas/zd1211rw/zd_mac.c       |   4 +-
>  drivers/staging/rtl8723au/core/rtw_mlme_ext.c      |   4 +-
>  drivers/staging/rtl8723au/include/ieee80211.h      |   2 +-
>  drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c  |  54 +++----
>  drivers/staging/vt6655/channel.c                   |   4 +-
>  drivers/staging/vt6655/device_main.c               |   4 +-
>  drivers/staging/vt6655/rxtx.c                      |   2 +-
>  drivers/staging/vt6656/channel.c                   |   4 +-
>  drivers/staging/vt6656/int.c                       |   2 +-
>  drivers/staging/vt6656/main_usb.c                  |   2 +-
>  drivers/staging/vt6656/rxtx.c                      |   2 +-
>  drivers/staging/wilc1000/wilc_wfi_cfgoperations.c  |  10 +-
>  drivers/staging/wlan-ng/cfg80211.c                 |   6 +-
>  include/net/cfg80211.h                             |  44 ++----
>  include/net/mac80211.h                             |  12 +-
>  include/uapi/linux/nl80211.h                       |   4 +
>  net/mac80211/cfg.c                                 |  14 +-
>  net/mac80211/debugfs_netdev.c                      |  12 +-
>  net/mac80211/ibss.c                                |  10 +-
>  net/mac80211/ieee80211_i.h                         |  34 ++--
>  net/mac80211/iface.c                               |   2 +-
>  net/mac80211/main.c                                |   6 +-
>  net/mac80211/mesh.c                                |  10 +-
>  net/mac80211/mesh_plink.c                          |  10 +-
>  net/mac80211/mlme.c                                |  14 +-
>  net/mac80211/rate.c                                |   2 +-
>  net/mac80211/rc80211_minstrel.c                    |   6 +-
>  net/mac80211/rc80211_minstrel_ht.c                 |   4 +-
>  net/mac80211/rx.c                                  |   6 +-
>  net/mac80211/scan.c                                |  12 +-
>  net/mac80211/spectmgmt.c                           |   4 +-
>  net/mac80211/tdls.c                                |  18 +--
>  net/mac80211/trace.h                               |   6 +-
>  net/mac80211/tx.c                                  |  14 +-
>  net/mac80211/util.c                                |  24 +--
>  net/mac80211/vht.c                                 |   4 +-
>  net/wireless/chan.c                                |   2 +-
>  net/wireless/core.c                                |   8 +-
>  net/wireless/debugfs.c                             |   4 +-
>  net/wireless/ibss.c                                |   6 +-
>  net/wireless/mesh.c                                |   4 +-
>  net/wireless/mlme.c                                |   2 +-
>  net/wireless/nl80211.c                             |  44 +++---
>  net/wireless/rdev-ops.h                            |   2 +-
>  net/wireless/reg.c                                 |  30 ++--
>  net/wireless/reg.h                                 |   2 +-
>  net/wireless/scan.c                                |  14 +-
>  net/wireless/sme.c                                 |   6 +-
>  net/wireless/trace.h                               |  20 +--
>  net/wireless/util.c                                |  40 ++---
>  net/wireless/wext-compat.c                         |  14 +-
>  230 files changed, 1420 insertions(+), 1437 deletions(-)
> 
> diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl
> index f9b9ad7894f5..f2a312b35875 100644
> --- a/Documentation/DocBook/80211.tmpl
> +++ b/Documentation/DocBook/80211.tmpl
> @@ -75,7 +75,6 @@
>        <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
> diff --git a/drivers/net/wireless/admtek/adm8211.c b/drivers/net/wireless/admtek/adm8211.c
> index 15f057ed41ad..70ecd82d674d 100644
> --- a/drivers/net/wireless/admtek/adm8211.c
> +++ b/drivers/net/wireless/admtek/adm8211.c
> @@ -440,7 +440,7 @@ static void adm8211_interrupt_rci(struct ieee80211_hw *dev)
>  			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);
> @@ -1894,7 +1894,7 @@ static int adm8211_probe(struct pci_dev *pdev,
>  
>  	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) {
> diff --git a/drivers/net/wireless/ath/ar5523/ar5523.c b/drivers/net/wireless/ath/ar5523/ar5523.c
> index 3b343c63aa52..8aded24bcdf4 100644
> --- a/drivers/net/wireless/ath/ar5523/ar5523.c
> +++ b/drivers/net/wireless/ath/ar5523/ar5523.c
> @@ -1471,12 +1471,12 @@ static int ar5523_init_modes(struct ar5523 *ar)
>  	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;
>  }
>  
> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
> index 65ef483ebf50..da7a7c8dafb2 100644
> --- a/drivers/net/wireless/ath/ath.h
> +++ b/drivers/net/wireless/ath/ath.h
> @@ -185,7 +185,7 @@ struct ath_common {
>  	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)
> diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h
> index d85b99164212..362bbed8f0e9 100644
> --- a/drivers/net/wireless/ath/ath10k/core.h
> +++ b/drivers/net/wireless/ath/ath10k/core.h
> @@ -765,7 +765,7 @@ struct ath10k {
>  	} 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 */
> diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
> index 9390897a00c6..079fef5b7ef2 100644
> --- a/drivers/net/wireless/ath/ath10k/htt_rx.c
> +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
> @@ -2182,9 +2182,9 @@ static void ath10k_htt_rx_tx_mode_switch_ind(struct ath10k *ar,
>  	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:
> @@ -2193,7 +2193,7 @@ static inline enum ieee80211_band phy_mode_to_band(u32 phy_mode)
>  	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:
> @@ -2204,7 +2204,7 @@ static inline enum ieee80211_band phy_mode_to_band(u32 phy_mode)
>  	case MODE_11AC_VHT40_2G:
>  	case MODE_11AC_VHT80_2G:
>  	default:
> -		band = IEEE80211_BAND_2GHZ;
> +		band = NL80211_BAND_2GHZ;
>  	}
>  
>  	return band;
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index b0e613bc10a5..6ace10bc96f5 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -482,7 +482,7 @@ chan_to_phymode(const struct cfg80211_chan_def *chandef)
>  	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)
> @@ -505,7 +505,7 @@ chan_to_phymode(const struct cfg80211_chan_def *chandef)
>  			break;
>  		}
>  		break;
> -	case IEEE80211_BAND_5GHZ:
> +	case NL80211_BAND_5GHZ:
>  		switch (chandef->width) {
>  		case NL80211_CHAN_WIDTH_20_NOHT:
>  			phymode = MODE_11A;
> @@ -2055,7 +2055,7 @@ static void ath10k_peer_assoc_h_rates(struct ath10k *ar,
>  	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;
> @@ -2115,7 +2115,7 @@ static void ath10k_peer_assoc_h_ht(struct ath10k *ar,
>  	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;
> @@ -2339,7 +2339,7 @@ static void ath10k_peer_assoc_h_vht(struct ath10k *ar,
>  	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;
>  
> @@ -2357,7 +2357,7 @@ static void ath10k_peer_assoc_h_vht(struct ath10k *ar,
>  
>  	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;
> @@ -2426,7 +2426,7 @@ static void ath10k_peer_assoc_h_qos(struct ath10k *ar,
>  
>  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;
>  }
>  
> @@ -2437,7 +2437,7 @@ static void ath10k_peer_assoc_h_phymode(struct ath10k *ar,
>  {
>  	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;
> @@ -2450,7 +2450,7 @@ static void ath10k_peer_assoc_h_phymode(struct ath10k *ar,
>  	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)
> @@ -2470,7 +2470,7 @@ static void ath10k_peer_assoc_h_phymode(struct ath10k *ar,
>  		}
>  
>  		break;
> -	case IEEE80211_BAND_5GHZ:
> +	case NL80211_BAND_5GHZ:
>  		/*
>  		 * Check VHT first.
>  		 */
> @@ -2848,7 +2848,7 @@ static int ath10k_update_channel_list(struct ath10k *ar)
>  {
>  	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;
> @@ -2860,7 +2860,7 @@ static int ath10k_update_channel_list(struct ath10k *ar)
>  	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;
>  
> @@ -2879,7 +2879,7 @@ static int ath10k_update_channel_list(struct ath10k *ar)
>  		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;
>  
> @@ -2917,7 +2917,7 @@ static int ath10k_update_channel_list(struct ath10k *ar)
>  			/* 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;
> @@ -4254,14 +4254,14 @@ static void ath10k_mac_setup_ht_vht_cap(struct ath10k *ar)
>  	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;
>  	}
> @@ -5595,7 +5595,7 @@ static void ath10k_sta_rc_update_wk(struct work_struct *wk)
>  	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;
> @@ -6394,14 +6394,14 @@ static int ath10k_get_survey(struct ieee80211_hw *hw, int idx,
>  
>  	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;
> @@ -6424,7 +6424,7 @@ exit:
>  
>  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;
> @@ -6443,7 +6443,7 @@ ath10k_mac_bitrate_mask_has_single_rate(struct ath10k *ar,
>  
>  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)
>  {
> @@ -6492,7 +6492,7 @@ ath10k_mac_bitrate_mask_get_single_nss(struct ath10k *ar,
>  
>  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)
>  {
> @@ -6593,7 +6593,7 @@ static int ath10k_mac_set_fixed_rate_params(struct ath10k_vif *arvif,
>  
>  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;
> @@ -6645,7 +6645,7 @@ static int ath10k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw,
>  	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;
> @@ -7275,7 +7275,7 @@ static const struct ieee80211_ops ath10k_ops = {
>  };
>  
>  #define CHAN2G(_channel, _freq, _flags) { \
> -	.band			= IEEE80211_BAND_2GHZ, \
> +	.band			= NL80211_BAND_2GHZ, \
>  	.hw_value		= (_channel), \
>  	.center_freq		= (_freq), \
>  	.flags			= (_flags), \
> @@ -7284,7 +7284,7 @@ static const struct ieee80211_ops ath10k_ops = {
>  }
>  
>  #define CHAN5G(_channel, _freq, _flags) { \
> -	.band			= IEEE80211_BAND_5GHZ, \
> +	.band			= NL80211_BAND_5GHZ, \
>  	.hw_value		= (_channel), \
>  	.center_freq		= (_freq), \
>  	.flags			= (_flags), \
> @@ -7604,13 +7604,13 @@ int ath10k_mac_register(struct ath10k *ar)
>  			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) {
> @@ -7622,12 +7622,12 @@ int ath10k_mac_register(struct ath10k *ar)
>  			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);
> @@ -7815,8 +7815,8 @@ err_dfs_detector_exit:
>  		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;
> @@ -7829,8 +7829,8 @@ void ath10k_mac_unregister(struct ath10k *ar)
>  	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);
>  }
> diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
> index f7ec65f263a0..4c75c74be5e7 100644
> --- a/drivers/net/wireless/ath/ath10k/wmi.c
> +++ b/drivers/net/wireless/ath/ath10k/wmi.c
> @@ -2281,9 +2281,9 @@ int ath10k_wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb)
>  	 * 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.
> @@ -2293,7 +2293,7 @@ int ath10k_wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb)
>  		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];
> @@ -2352,7 +2352,7 @@ static int freq_to_idx(struct ath10k *ar, int freq)
>  	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;
> diff --git a/drivers/net/wireless/ath/ath5k/ani.c b/drivers/net/wireless/ath/ath5k/ani.c
> index 38be2702c0e2..0624333f5430 100644
> --- a/drivers/net/wireless/ath/ath5k/ani.c
> +++ b/drivers/net/wireless/ath/ath5k/ani.c
> @@ -279,7 +279,7 @@ ath5k_ani_raise_immunity(struct ath5k_hw *ah, struct ath5k_ani_state *as,
>  		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,
> diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h
> index ba12f7f4061d..67fedb61fcc0 100644
> --- a/drivers/net/wireless/ath/ath5k/ath5k.h
> +++ b/drivers/net/wireless/ath/ath5k/ath5k.h
> @@ -1265,10 +1265,10 @@ struct ath5k_hw {
>  	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
> @@ -1532,7 +1532,7 @@ int ath5k_eeprom_mode_from_channel(struct ath5k_hw *ah,
>  
>  /* 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);
> @@ -1611,7 +1611,7 @@ int ath5k_hw_write_initvals(struct ath5k_hw *ah, u8 mode, bool change_channel);
>  
>  /* 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);
> diff --git a/drivers/net/wireless/ath/ath5k/attach.c b/drivers/net/wireless/ath/ath5k/attach.c
> index 66b6366158b9..233054bd6b52 100644
> --- a/drivers/net/wireless/ath/ath5k/attach.c
> +++ b/drivers/net/wireless/ath/ath5k/attach.c
> @@ -152,7 +152,7 @@ int ath5k_hw_init(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) {
> @@ -160,14 +160,14 @@ int ath5k_hw_init(struct ath5k_hw *ah)
>  		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;
> @@ -204,7 +204,7 @@ int ath5k_hw_init(struct ath5k_hw *ah)
>  			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) {
> diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
> index 3d946d8b2db2..d98fd421c7ec 100644
> --- a/drivers/net/wireless/ath/ath5k/base.c
> +++ b/drivers/net/wireless/ath/ath5k/base.c
> @@ -268,15 +268,15 @@ static void ath5k_reg_notifier(struct wiphy *wiphy,
>   * 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 */
> @@ -297,18 +297,18 @@ ath5k_setup_channels(struct ath5k_hw *ah, struct ieee80211_channel *channels,
>  		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");
> @@ -363,13 +363,13 @@ ath5k_setup_bands(struct ieee80211_hw *hw)
>  	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 */
> @@ -381,7 +381,7 @@ ath5k_setup_bands(struct ieee80211_hw *hw)
>  		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)) {
> @@ -407,7 +407,7 @@ ath5k_setup_bands(struct ieee80211_hw *hw)
>  		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;
>  	}
> @@ -415,9 +415,9 @@ ath5k_setup_bands(struct ieee80211_hw *hw)
>  
>  	/* 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);
> @@ -427,7 +427,7 @@ ath5k_setup_bands(struct ieee80211_hw *hw)
>  		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);
>  
> diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c
> index 654a1e33f827..929d7ccc031c 100644
> --- a/drivers/net/wireless/ath/ath5k/debug.c
> +++ b/drivers/net/wireless/ath/ath5k/debug.c
> @@ -1043,14 +1043,14 @@ ath5k_debug_dump_bands(struct ath5k_hw *ah)
>  
>  	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:
> diff --git a/drivers/net/wireless/ath/ath5k/pcu.c b/drivers/net/wireless/ath/ath5k/pcu.c
> index bf29da5e90da..fc47b70988b1 100644
> --- a/drivers/net/wireless/ath/ath5k/pcu.c
> +++ b/drivers/net/wireless/ath/ath5k/pcu.c
> @@ -110,7 +110,7 @@ static const unsigned int ack_rates_high[] =
>   * 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;
> @@ -221,7 +221,7 @@ ath5k_hw_get_default_sifs(struct ath5k_hw *ah)
>  	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;
>  	}
> @@ -279,7 +279,7 @@ ath5k_hw_write_rate_duration(struct ath5k_hw *ah)
>  	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++) {
> diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
> index 98ee85456321..641b13a279e1 100644
> --- a/drivers/net/wireless/ath/ath5k/phy.c
> +++ b/drivers/net/wireless/ath/ath5k/phy.c
> @@ -75,13 +75,13 @@
>  /**
>   * 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;
> @@ -91,10 +91,10 @@ ath5k_hw_radio_revision(struct ath5k_hw *ah, enum ieee80211_band band)
>  	 * 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:
> @@ -138,11 +138,11 @@ ath5k_channel_ok(struct ath5k_hw *ah, struct ieee80211_channel *channel)
>  	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;
> @@ -743,7 +743,7 @@ done:
>  /**
>   * 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.
>   *
> @@ -751,7 +751,7 @@ done:
>   * 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;
> @@ -786,7 +786,7 @@ ath5k_hw_rfgain_init(struct ath5k_hw *ah, enum ieee80211_band band)
>  		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);
> @@ -917,7 +917,7 @@ ath5k_hw_rfregs_init(struct ath5k_hw *ah,
>  	}
>  
>  	/* 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;
> @@ -944,7 +944,7 @@ ath5k_hw_rfregs_init(struct ath5k_hw *ah,
>  						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
> @@ -1145,7 +1145,7 @@ ath5k_hw_rfregs_init(struct ath5k_hw *ah,
>  	}
>  
>  	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);
> @@ -1270,7 +1270,7 @@ ath5k_hw_rf5111_channel(struct ath5k_hw *ah,
>  	 */
>  	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),
> @@ -1919,7 +1919,7 @@ ath5k_hw_set_spur_mitigation_filter(struct ath5k_hw *ah,
>  	/* 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 {
> @@ -1983,7 +1983,7 @@ ath5k_hw_set_spur_mitigation_filter(struct ath5k_hw *ah,
>  			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 =
> diff --git a/drivers/net/wireless/ath/ath5k/qcu.c b/drivers/net/wireless/ath/ath5k/qcu.c
> index ddaad712c59a..beda11ce34a7 100644
> --- a/drivers/net/wireless/ath/ath5k/qcu.c
> +++ b/drivers/net/wireless/ath/ath5k/qcu.c
> @@ -559,7 +559,7 @@ ath5k_hw_reset_tx_queue(struct ath5k_hw *ah, unsigned int queue)
>  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;
> @@ -596,10 +596,10 @@ int ath5k_hw_set_ifs_intervals(struct ath5k_hw *ah, unsigned int slot_time)
>  	 *
>  	 * 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:
> diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c
> index 4b1c87fa15ac..56d7925a0c2c 100644
> --- a/drivers/net/wireless/ath/ath5k/reset.c
> +++ b/drivers/net/wireless/ath/ath5k/reset.c
> @@ -752,7 +752,7 @@ ath5k_hw_nic_wakeup(struct ath5k_hw *ah, struct ieee80211_channel *channel)
>  			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;
>  
> @@ -771,7 +771,7 @@ ath5k_hw_nic_wakeup(struct ath5k_hw *ah, struct ieee80211_channel *channel)
>  				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);
>  
> @@ -906,7 +906,7 @@ ath5k_hw_tweak_initval_settings(struct ath5k_hw *ah,
>  		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;
> diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c
> index 7f3f94fbf157..4e11ba06f089 100644
> --- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
> +++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
> @@ -34,7 +34,7 @@
>  }
>  
>  #define CHAN2G(_channel, _freq, _flags) {   \
> -	.band           = IEEE80211_BAND_2GHZ,  \
> +	.band           = NL80211_BAND_2GHZ,  \
>  	.hw_value       = (_channel),           \
>  	.center_freq    = (_freq),              \
>  	.flags          = (_flags),             \
> @@ -43,7 +43,7 @@
>  }
>  
>  #define CHAN5G(_channel, _flags) {		    \
> -	.band           = IEEE80211_BAND_5GHZ,      \
> +	.band           = NL80211_BAND_5GHZ,      \
>  	.hw_value       = (_channel),               \
>  	.center_freq    = 5000 + (5 * (_channel)),  \
>  	.flags          = (_flags),                 \
> @@ -2583,7 +2583,7 @@ void ath6kl_check_wow_status(struct ath6kl *ar)
>  }
>  #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];
> @@ -2594,7 +2594,7 @@ static int ath6kl_set_htcap(struct ath6kl_vif *vif, enum ieee80211_band 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 */
> @@ -2609,7 +2609,7 @@ static int ath6kl_restore_htcap(struct ath6kl_vif *vif)
>  	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;
>  
> @@ -3530,7 +3530,7 @@ static void ath6kl_cfg80211_reg_notify(struct wiphy *wiphy,
>  				       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,
> @@ -3555,7 +3555,7 @@ static void ath6kl_cfg80211_reg_notify(struct wiphy *wiphy,
>  	 * 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;
>  
> @@ -3791,8 +3791,8 @@ struct wireless_dev *ath6kl_interface_add(struct ath6kl *ar, const char *name,
>  	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) {
> @@ -3943,9 +3943,9 @@ int ath6kl_cfg80211_init(struct ath6kl *ar)
>  	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;
>  
> diff --git a/drivers/net/wireless/ath/ath6kl/core.h b/drivers/net/wireless/ath/ath6kl/core.h
> index 5f3acfe6015e..713a571a27ce 100644
> --- a/drivers/net/wireless/ath/ath6kl/core.h
> +++ b/drivers/net/wireless/ath/ath6kl/core.h
> @@ -623,7 +623,7 @@ struct ath6kl_vif {
>  	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;
> diff --git a/drivers/net/wireless/ath/ath6kl/wmi.c b/drivers/net/wireless/ath/ath6kl/wmi.c
> index 0b3e9c0293e0..631c3a0c572b 100644
> --- a/drivers/net/wireless/ath/ath6kl/wmi.c
> +++ b/drivers/net/wireless/ath/ath6kl/wmi.c
> @@ -2048,7 +2048,7 @@ int ath6kl_wmi_beginscan_cmd(struct wmi *wmi, u8 if_idx,
>  	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)
> @@ -2770,10 +2770,10 @@ static int ath6kl_set_bitrate_mask64(struct wmi *wmi, u8 if_idx,
>  	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;
>  
> @@ -2799,9 +2799,9 @@ static int ath6kl_set_bitrate_mask64(struct wmi *wmi, u8 if_idx,
>  		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]);
>  	}
>  
> @@ -2822,10 +2822,10 @@ static int ath6kl_set_bitrate_mask32(struct wmi *wmi, u8 if_idx,
>  	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;
>  
> @@ -2849,9 +2849,9 @@ static int ath6kl_set_bitrate_mask32(struct wmi *wmi, u8 if_idx,
>  		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]);
>  	}
>  
> @@ -3174,7 +3174,7 @@ int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 if_idx,
>  }
>  
>  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;
> @@ -3187,7 +3187,7 @@ int ath6kl_wmi_set_htcap_cmd(struct wmi *wmi, u8 if_idx,
>  	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.
>  	 */
> diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h
> index 05d25a94c781..3af464a73b58 100644
> --- a/drivers/net/wireless/ath/ath6kl/wmi.h
> +++ b/drivers/net/wireless/ath/ath6kl/wmi.h
> @@ -2628,7 +2628,7 @@ int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, u8 if_idx, enum wmi_txop_cfg cfg);
>  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);
>  
> diff --git a/drivers/net/wireless/ath/ath9k/calib.c b/drivers/net/wireless/ath/ath9k/calib.c
> index 37f6d66d1671..0f71146b781d 100644
> --- a/drivers/net/wireless/ath/ath9k/calib.c
> +++ b/drivers/net/wireless/ath/ath9k/calib.c
> @@ -145,14 +145,14 @@ static void ath9k_hw_update_nfcal_hist_buffer(struct ath_hw *ah,
>  }
>  
>  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:
> diff --git a/drivers/net/wireless/ath/ath9k/channel.c b/drivers/net/wireless/ath/ath9k/channel.c
> index 319cb5f25f58..e56bafcf5864 100644
> --- a/drivers/net/wireless/ath/ath9k/channel.c
> +++ b/drivers/net/wireless/ath/ath9k/channel.c
> @@ -107,9 +107,9 @@ void ath_chanctx_init(struct ath_softc *sc)
>  	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++) {
> @@ -1333,9 +1333,9 @@ void ath9k_offchannel_init(struct ath_softc *sc)
>  	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];
>  
> diff --git a/drivers/net/wireless/ath/ath9k/common-init.c b/drivers/net/wireless/ath/ath9k/common-init.c
> index a006c1499728..8b4f7fdabf58 100644
> --- a/drivers/net/wireless/ath/ath9k/common-init.c
> +++ b/drivers/net/wireless/ath/ath9k/common-init.c
> @@ -19,14 +19,14 @@
>  #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, \
> @@ -139,12 +139,12 @@ int ath9k_cmn_init_channels_rates(struct ath_common *common)
>  
>  		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);
>  	}
>  
> @@ -156,13 +156,13 @@ int ath9k_cmn_init_channels_rates(struct ath_common *common)
>  
>  		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;
> @@ -236,9 +236,9 @@ void ath9k_cmn_reload_chainmask(struct ath_hw *ah)
>  
>  	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);
> diff --git a/drivers/net/wireless/ath/ath9k/common.c b/drivers/net/wireless/ath/ath9k/common.c
> index e8c699446470..b80e08b13b74 100644
> --- a/drivers/net/wireless/ath/ath9k/common.c
> +++ b/drivers/net/wireless/ath/ath9k/common.c
> @@ -173,7 +173,7 @@ int ath9k_cmn_process_rate(struct ath_common *common,
>  			   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;
>  
> @@ -305,7 +305,7 @@ static void ath9k_cmn_update_ichannel(struct ath9k_channel *ichan,
>  	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) {
> diff --git a/drivers/net/wireless/ath/ath9k/debug_sta.c b/drivers/net/wireless/ath/ath9k/debug_sta.c
> index c2ca57a2ed09..b66cfa91364f 100644
> --- a/drivers/net/wireless/ath/ath9k/debug_sta.c
> +++ b/drivers/net/wireless/ath/ath9k/debug_sta.c
> @@ -139,7 +139,7 @@ void ath_debug_rate_stats(struct ath_softc *sc,
>  	}
>  
>  	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++;
> @@ -173,7 +173,7 @@ static ssize_t read_file_node_recv(struct file *file, char __user *user_buf,
>  	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;
> @@ -206,7 +206,7 @@ static ssize_t read_file_node_recv(struct file *file, char __user *user_buf,
>  	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);
> diff --git a/drivers/net/wireless/ath/ath9k/dynack.c b/drivers/net/wireless/ath/ath9k/dynack.c
> index 22b3cc4c27cd..d2ff0fc0484c 100644
> --- a/drivers/net/wireless/ath/ath9k/dynack.c
> +++ b/drivers/net/wireless/ath/ath9k/dynack.c
> @@ -212,7 +212,7 @@ void ath_dynack_sample_tx_ts(struct ath_hw *ah, struct sk_buff *skb,
>  		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
> diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
> index c2249ad54085..c148c6c504f7 100644
> --- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
> +++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
> @@ -765,11 +765,11 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
>  		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);
>  
> diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
> index 639294a9e34d..8a8d7853da15 100644
> --- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
> +++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
> @@ -1770,8 +1770,8 @@ static int ath9k_htc_set_bitrate_mask(struct ieee80211_hw *hw,
>  	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) {
> @@ -1781,8 +1781,8 @@ static int ath9k_htc_set_bitrate_mask(struct ieee80211_hw *hw,
>  		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) {
> @@ -1793,8 +1793,8 @@ static int ath9k_htc_set_bitrate_mask(struct ieee80211_hw *hw,
>  	}
>  
>  	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;
>  }
> diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
> index cc9648f844ae..f333ef1e3e7b 100644
> --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
> +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
> @@ -494,7 +494,7 @@ static void ath9k_htc_tx_process(struct ath9k_htc_priv *priv,
>  		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 */
>  	}
>  
> diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
> index 77ace8d72d54..4bf1e244b49b 100644
> --- a/drivers/net/wireless/ath/ath9k/init.c
> +++ b/drivers/net/wireless/ath/ath9k/init.c
> @@ -705,9 +705,9 @@ static void ath9k_init_txpower_limits(struct ath_softc *sc)
>  	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;
>  }
> @@ -879,11 +879,11 @@ static void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
>  	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);
> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
> index 50ec4c9a9da7..8b6398850657 100644
> --- a/drivers/net/wireless/ath/ath9k/main.c
> +++ b/drivers/net/wireless/ath/ath9k/main.c
> @@ -1933,14 +1933,14 @@ static int ath9k_get_survey(struct ieee80211_hw *hw, int idx,
>  	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);
> diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
> index fe795fc5288c..8ddd604bd00c 100644
> --- a/drivers/net/wireless/ath/ath9k/xmit.c
> +++ b/drivers/net/wireless/ath/ath9k/xmit.c
> @@ -1112,7 +1112,7 @@ static u8 ath_get_rate_txpower(struct ath_softc *sc, struct ath_buf *bf,
>  				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 {
> @@ -1236,7 +1236,7 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf,
>  
>  		/* 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
> diff --git a/drivers/net/wireless/ath/carl9170/mac.c b/drivers/net/wireless/ath/carl9170/mac.c
> index a2f005703c04..7d4a72dc98db 100644
> --- a/drivers/net/wireless/ath/carl9170/mac.c
> +++ b/drivers/net/wireless/ath/carl9170/mac.c
> @@ -48,7 +48,7 @@ int carl9170_set_dyn_sifs_ack(struct ar9170 *ar)
>  	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;
> @@ -66,7 +66,7 @@ int carl9170_set_rts_cts_rate(struct ar9170 *ar)
>  		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;
> @@ -93,7 +93,7 @@ int carl9170_set_slot_time(struct ar9170 *ar)
>  		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;
>  
> @@ -120,7 +120,7 @@ int carl9170_set_mac_rates(struct ar9170 *ar)
>  	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) */
> @@ -512,10 +512,10 @@ int carl9170_set_mac_tpc(struct ar9170 *ar, struct ieee80211_channel *channel)
>  		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:
> diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c
> index 4d1527a2e292..ffb22a04beeb 100644
> --- a/drivers/net/wireless/ath/carl9170/main.c
> +++ b/drivers/net/wireless/ath/carl9170/main.c
> @@ -1666,7 +1666,7 @@ static int carl9170_op_get_survey(struct ieee80211_hw *hw, int idx,
>  			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)
> @@ -1941,13 +1941,13 @@ static int carl9170_parse_eeprom(struct ar9170 *ar)
>  	}
>  
>  	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++;
> diff --git a/drivers/net/wireless/ath/carl9170/phy.c b/drivers/net/wireless/ath/carl9170/phy.c
> index dca6df13fd5b..34d9fd77046e 100644
> --- a/drivers/net/wireless/ath/carl9170/phy.c
> +++ b/drivers/net/wireless/ath/carl9170/phy.c
> @@ -540,11 +540,11 @@ static int carl9170_init_phy_from_eeprom(struct ar9170 *ar,
>  	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);
> @@ -1125,13 +1125,13 @@ static int carl9170_set_freq_cal_data(struct ar9170 *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;
> @@ -1158,12 +1158,12 @@ static int carl9170_set_freq_cal_data(struct ar9170 *ar,
>  			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;
> @@ -1340,7 +1340,7 @@ static void carl9170_calc_ctl(struct ar9170 *ar, u32 freq, enum carl9170_bw bw)
>  		/* 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 {
> @@ -1607,7 +1607,7 @@ int carl9170_set_channel(struct ar9170 *ar, struct ieee80211_channel *channel,
>  		return err;
>  
>  	err = carl9170_init_rf_banks_0_7(ar,
> -					 channel->band == IEEE80211_BAND_5GHZ);
> +					 channel->band == NL80211_BAND_5GHZ);
>  	if (err)
>  		return err;
>  
> @@ -1621,7 +1621,7 @@ int carl9170_set_channel(struct ar9170 *ar, struct ieee80211_channel *channel,
>  		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;
> diff --git a/drivers/net/wireless/ath/carl9170/rx.c b/drivers/net/wireless/ath/carl9170/rx.c
> index d66533cbc38a..0c34c8729dc6 100644
> --- a/drivers/net/wireless/ath/carl9170/rx.c
> +++ b/drivers/net/wireless/ath/carl9170/rx.c
> @@ -417,7 +417,7 @@ static int carl9170_rx_mac_status(struct ar9170 *ar,
>  
>  			return -EINVAL;
>  		}
> -		if (status->band == IEEE80211_BAND_2GHZ)
> +		if (status->band == NL80211_BAND_2GHZ)
>  			status->rate_idx += 4;
>  		break;
>  
> diff --git a/drivers/net/wireless/ath/carl9170/tx.c b/drivers/net/wireless/ath/carl9170/tx.c
> index ae86a600d920..2bf04c9edc98 100644
> --- a/drivers/net/wireless/ath/carl9170/tx.c
> +++ b/drivers/net/wireless/ath/carl9170/tx.c
> @@ -720,12 +720,12 @@ static void carl9170_tx_rate_tpc_chains(struct ar9170 *ar,
>  			/* +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;
> @@ -734,7 +734,7 @@ static void carl9170_tx_rate_tpc_chains(struct ar9170 *ar,
>  		*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
> @@ -797,7 +797,7 @@ static __le32 carl9170_tx_physet(struct ar9170 *ar,
>  		 * 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
> diff --git a/drivers/net/wireless/ath/regd.c b/drivers/net/wireless/ath/regd.c
> index 06ea6cc9e30a..7e15ed9ed31f 100644
> --- a/drivers/net/wireless/ath/regd.c
> +++ b/drivers/net/wireless/ath/regd.c
> @@ -336,12 +336,12 @@ ath_reg_apply_beaconing_flags(struct wiphy *wiphy,
>  			      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];
> @@ -374,7 +374,7 @@ ath_reg_apply_ir_flags(struct wiphy *wiphy,
>  {
>  	struct ieee80211_supported_band *sband;
>  
> -	sband = wiphy->bands[IEEE80211_BAND_2GHZ];
> +	sband = wiphy->bands[NL80211_BAND_2GHZ];
>  	if (!sband)
>  		return;
>  
> @@ -402,10 +402,10 @@ static void ath_reg_apply_radar_flags(struct wiphy *wiphy)
>  	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];
> @@ -772,7 +772,7 @@ ath_regd_init(struct ath_regulatory *reg,
>  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 &&
> @@ -794,9 +794,9 @@ u32 ath_regd_get_band_ctl(struct ath_regulatory *reg,
>  	}
>  
>  	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;
> diff --git a/drivers/net/wireless/ath/regd.h b/drivers/net/wireless/ath/regd.h
> index 37f53bd8fcb1..565d3075f06e 100644
> --- a/drivers/net/wireless/ath/regd.h
> +++ b/drivers/net/wireless/ath/regd.h
> @@ -255,7 +255,7 @@ int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
>  		  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);
> diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c
> index a27279c2c695..9a1db3bbec4e 100644
> --- a/drivers/net/wireless/ath/wcn36xx/main.c
> +++ b/drivers/net/wireless/ath/wcn36xx/main.c
> @@ -26,14 +26,14 @@ module_param_named(debug_mask, wcn36xx_dbg_mask, uint, 0644);
>  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, \
> @@ -516,7 +516,7 @@ static void wcn36xx_sw_scan_complete(struct ieee80211_hw *hw,
>  }
>  
>  static void wcn36xx_update_allowed_rates(struct ieee80211_sta *sta,
> -					 enum ieee80211_band band)
> +					 enum nl80211_band band)
>  {
>  	int i, size;
>  	u16 *rates_table;
> @@ -529,7 +529,7 @@ static void wcn36xx_update_allowed_rates(struct ieee80211_sta *sta,
>  
>  	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;
> @@ -958,8 +958,8 @@ static int wcn36xx_init_ieee80211(struct wcn36xx *wcn)
>  		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);
> diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
> index 74f56a81ad9a..96992a2c4b42 100644
> --- a/drivers/net/wireless/ath/wcn36xx/smd.c
> +++ b/drivers/net/wireless/ath/wcn36xx/smd.c
> @@ -104,11 +104,11 @@ static void wcn36xx_smd_set_bss_nw_type(struct wcn36xx *wcn,
>  		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;
> diff --git a/drivers/net/wireless/ath/wcn36xx/txrx.c b/drivers/net/wireless/ath/wcn36xx/txrx.c
> index 99c21aac68bd..6c47a7336c38 100644
> --- a/drivers/net/wireless/ath/wcn36xx/txrx.c
> +++ b/drivers/net/wireless/ath/wcn36xx/txrx.c
> @@ -225,7 +225,7 @@ static void wcn36xx_set_tx_mgmt(struct wcn36xx_tx_bd *bd,
>  
>  	/* 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))
> diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c
> index 12cae3c005fb..0fb3a7941d84 100644
> --- a/drivers/net/wireless/ath/wil6210/cfg80211.c
> +++ b/drivers/net/wireless/ath/wil6210/cfg80211.c
> @@ -21,7 +21,7 @@
>  #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),			\
> @@ -1411,7 +1411,7 @@ static void wil_wiphy_init(struct wiphy *wiphy)
>  		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;
> diff --git a/drivers/net/wireless/ath/wil6210/netdev.c b/drivers/net/wireless/ath/wil6210/netdev.c
> index 3bc0e2634db0..098409753d5b 100644
> --- a/drivers/net/wireless/ath/wil6210/netdev.c
> +++ b/drivers/net/wireless/ath/wil6210/netdev.c
> @@ -157,7 +157,7 @@ void *wil_if_alloc(struct device *dev)
>  
>  	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);
> diff --git a/drivers/net/wireless/ath/wil6210/wmi.c b/drivers/net/wireless/ath/wil6210/wmi.c
> index 3cc4462aec1a..6ca28c3eff0a 100644
> --- a/drivers/net/wireless/ath/wil6210/wmi.c
> +++ b/drivers/net/wireless/ath/wil6210/wmi.c
> @@ -333,7 +333,7 @@ static void wmi_evt_rx_mgmt(struct wil6210_priv *wil, int id, void *d, int len)
>  	}
>  
>  	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);
> diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c
> index 1efb1d66e0b7..7c108047fb46 100644
> --- a/drivers/net/wireless/atmel/at76c50x-usb.c
> +++ b/drivers/net/wireless/atmel/at76c50x-usb.c
> @@ -1547,7 +1547,7 @@ static inline int at76_guess_freq(struct at76_priv *priv)
>  		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)
> @@ -1590,7 +1590,7 @@ 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",
> @@ -2359,7 +2359,7 @@ static int at76_init_new_device(struct at76_priv *priv,
>  	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;
> diff --git a/drivers/net/wireless/atmel/atmel.c b/drivers/net/wireless/atmel/atmel.c
> index 6a1f03c271c1..8f8f37f3a00c 100644
> --- a/drivers/net/wireless/atmel/atmel.c
> +++ b/drivers/net/wireless/atmel/atmel.c
> @@ -2434,7 +2434,7 @@ static int atmel_get_range(struct net_device *dev,
>  
>  			/* 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;
> diff --git a/drivers/net/wireless/broadcom/b43/b43.h b/drivers/net/wireless/broadcom/b43/b43.h
> index 036552439816..d7d42f0b80c3 100644
> --- a/drivers/net/wireless/broadcom/b43/b43.h
> +++ b/drivers/net/wireless/broadcom/b43/b43.h
> @@ -992,9 +992,9 @@ static inline int b43_is_mode(struct b43_wl *wl, int type)
>  
>  /**
>   * 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;
>  }
> diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c
> index b0603e796ad8..4ee5c5853f9f 100644
> --- a/drivers/net/wireless/broadcom/b43/main.c
> +++ b/drivers/net/wireless/broadcom/b43/main.c
> @@ -187,7 +187,7 @@ static struct ieee80211_rate __b43_ratetable[] = {
>  #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),			\
> @@ -216,7 +216,7 @@ static struct ieee80211_channel b43_2ghz_chantable[] = {
>  #undef CHAN2G
>  
>  #define CHAN4G(_channel, _flags) {				\
> -	.band			= IEEE80211_BAND_5GHZ,		\
> +	.band			= NL80211_BAND_5GHZ,		\
>  	.center_freq		= 4000 + (5 * (_channel)),	\
>  	.hw_value		= (_channel),			\
>  	.flags			= (_flags),			\
> @@ -224,7 +224,7 @@ static struct ieee80211_channel b43_2ghz_chantable[] = {
>  	.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),			\
> @@ -323,7 +323,7 @@ static struct ieee80211_channel b43_5ghz_aphy_chantable[] = {
>  #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,
> @@ -331,7 +331,7 @@ static struct ieee80211_supported_band b43_band_5GHz_nphy = {
>  };
>  
>  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,
> @@ -339,7 +339,7 @@ static struct ieee80211_supported_band b43_band_5GHz_nphy_limited = {
>  };
>  
>  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,
> @@ -347,7 +347,7 @@ static struct ieee80211_supported_band b43_band_5GHz_aphy = {
>  };
>  
>  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,
> @@ -355,7 +355,7 @@ static struct ieee80211_supported_band b43_band_2GHz = {
>  };
>  
>  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,
> @@ -717,7 +717,7 @@ static void b43_set_slot_time(struct b43_wldev *dev, u16 slot_time)
>  {
>  	/* 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
> @@ -3880,12 +3880,12 @@ static void b43_op_set_tsf(struct ieee80211_hw *hw,
>  	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;
> @@ -3903,10 +3903,10 @@ static int b43_switch_band(struct b43_wldev *dev,
>  	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:
> @@ -5294,16 +5294,16 @@ static int b43_setup_bands(struct b43_wldev *dev,
>  		     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;
> diff --git a/drivers/net/wireless/broadcom/b43/phy_ac.c b/drivers/net/wireless/broadcom/b43/phy_ac.c
> index e75633d67938..52f8abad8831 100644
> --- a/drivers/net/wireless/broadcom/b43/phy_ac.c
> +++ b/drivers/net/wireless/broadcom/b43/phy_ac.c
> @@ -61,7 +61,7 @@ static void b43_phy_ac_op_radio_write(struct b43_wldev *dev, u16 reg,
>  
>  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;
>  }
> diff --git a/drivers/net/wireless/broadcom/b43/phy_common.c b/drivers/net/wireless/broadcom/b43/phy_common.c
> index ec2b9c577b90..85f2ca989565 100644
> --- a/drivers/net/wireless/broadcom/b43/phy_common.c
> +++ b/drivers/net/wireless/broadcom/b43/phy_common.c
> @@ -436,7 +436,7 @@ int b43_switch_channel(struct b43_wldev *dev, unsigned int new_channel)
>  	 * 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)
> diff --git a/drivers/net/wireless/broadcom/b43/phy_ht.c b/drivers/net/wireless/broadcom/b43/phy_ht.c
> index bd68945965d6..718c90e81696 100644
> --- a/drivers/net/wireless/broadcom/b43/phy_ht.c
> +++ b/drivers/net/wireless/broadcom/b43/phy_ht.c
> @@ -568,7 +568,7 @@ static void b43_phy_ht_tx_power_ctl(struct b43_wldev *dev, bool enable)
>  	} 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);
>  		}
> @@ -643,7 +643,7 @@ static void b43_phy_ht_tx_power_ctl_setup(struct b43_wldev *dev)
>  	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];
> @@ -777,7 +777,7 @@ static void b43_phy_ht_channel_setup(struct b43_wldev *dev,
>  				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);
>  
> @@ -805,7 +805,7 @@ static void b43_phy_ht_channel_setup(struct b43_wldev *dev,
>  	} 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);
>  	}
>  
> @@ -916,7 +916,7 @@ static int b43_phy_ht_op_init(struct b43_wldev *dev)
>  	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,
> @@ -1005,7 +1005,7 @@ static int b43_phy_ht_op_init(struct b43_wldev *dev)
>  	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),
> @@ -1077,7 +1077,7 @@ static int b43_phy_ht_op_switch_channel(struct b43_wldev *dev,
>  	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 {
> @@ -1089,7 +1089,7 @@ static int b43_phy_ht_op_switch_channel(struct b43_wldev *dev,
>  
>  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;
>  }
> diff --git a/drivers/net/wireless/broadcom/b43/phy_lcn.c b/drivers/net/wireless/broadcom/b43/phy_lcn.c
> index 97461ccf3e1e..63bd29f070f7 100644
> --- a/drivers/net/wireless/broadcom/b43/phy_lcn.c
> +++ b/drivers/net/wireless/broadcom/b43/phy_lcn.c
> @@ -108,7 +108,7 @@ static void b43_radio_2064_channel_setup(struct b43_wldev *dev)
>  /* 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 {
> @@ -535,7 +535,7 @@ static void b43_phy_lcn_tx_pwr_ctl_init(struct b43_wldev *dev)
>  	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;
> @@ -720,7 +720,7 @@ static int b43_phy_lcn_op_init(struct b43_wldev *dev)
>  	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);
> @@ -779,7 +779,7 @@ static int b43_phy_lcn_op_switch_channel(struct b43_wldev *dev,
>  	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 {
> @@ -791,7 +791,7 @@ static int b43_phy_lcn_op_switch_channel(struct b43_wldev *dev,
>  
>  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;
>  }
> diff --git a/drivers/net/wireless/broadcom/b43/phy_lp.c b/drivers/net/wireless/broadcom/b43/phy_lp.c
> index 058a9f232050..6922cbb99a04 100644
> --- a/drivers/net/wireless/broadcom/b43/phy_lp.c
> +++ b/drivers/net/wireless/broadcom/b43/phy_lp.c
> @@ -46,7 +46,7 @@ static inline u16 channel2freq_lp(u8 channel)
>  
>  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;
>  }
> @@ -91,7 +91,7 @@ static void lpphy_read_band_sprom(struct b43_wldev *dev)
>  	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;
> @@ -174,7 +174,7 @@ static void lpphy_adjust_gain_table(struct b43_wldev *dev, u32 freq)
>  
>  	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;
> @@ -238,7 +238,7 @@ static void lpphy_baseband_rev0_1_init(struct b43_wldev *dev)
>  	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);
> @@ -280,7 +280,7 @@ static void lpphy_baseband_rev0_1_init(struct b43_wldev *dev)
>  		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);
> @@ -326,7 +326,7 @@ static void lpphy_baseband_rev0_1_init(struct b43_wldev *dev)
>  		//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);
> @@ -466,7 +466,7 @@ static void lpphy_baseband_rev2plus_init(struct b43_wldev *dev)
>  		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);
> @@ -547,7 +547,7 @@ static void lpphy_2062_init(struct b43_wldev *dev)
>  		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);
> @@ -746,7 +746,7 @@ static void lpphy_clear_deaf(struct b43_wldev *dev, bool user)
>  		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
> @@ -807,7 +807,7 @@ static void lpphy_disable_rx_gain_override(struct b43_wldev *dev)
>  	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);
>  		}
> @@ -823,7 +823,7 @@ static void lpphy_enable_rx_gain_override(struct b43_wldev *dev)
>  	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);
>  		}
> @@ -951,7 +951,7 @@ static void lpphy_rev2plus_set_rx_gain(struct b43_wldev *dev, u32 gain)
>  			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);
> @@ -1344,7 +1344,7 @@ static void lpphy_calibrate_rc(struct b43_wldev *dev)
>  	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);
> @@ -1548,7 +1548,7 @@ static void lpphy_tx_pctl_init_sw(struct b43_wldev *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;
> @@ -1902,7 +1902,7 @@ static int lpphy_rx_iq_cal(struct b43_wldev *dev, bool noise, bool tx,
>  
>  	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);
> diff --git a/drivers/net/wireless/broadcom/b43/phy_n.c b/drivers/net/wireless/broadcom/b43/phy_n.c
> index 9f0bcf3b8414..a5557d70689f 100644
> --- a/drivers/net/wireless/broadcom/b43/phy_n.c
> +++ b/drivers/net/wireless/broadcom/b43/phy_n.c
> @@ -105,9 +105,9 @@ enum n_rail_type {
>  
>  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 */
> @@ -357,7 +357,7 @@ static void b43_nphy_rf_ctl_intc_override_rev7(struct b43_wldev *dev,
>  			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;
> @@ -365,7 +365,7 @@ static void b43_nphy_rf_ctl_intc_override_rev7(struct b43_wldev *dev,
>  			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;
> @@ -378,7 +378,7 @@ static void b43_nphy_rf_ctl_intc_override_rev7(struct b43_wldev *dev,
>  			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;
> @@ -465,7 +465,7 @@ static void b43_nphy_rf_ctl_intc_override(struct b43_wldev *dev,
>  			}
>  			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 {
> @@ -475,7 +475,7 @@ static void b43_nphy_rf_ctl_intc_override(struct b43_wldev *dev,
>  			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 {
> @@ -485,7 +485,7 @@ static void b43_nphy_rf_ctl_intc_override(struct b43_wldev *dev,
>  			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 {
> @@ -600,7 +600,7 @@ static void b43_nphy_adjust_lna_gain_table(struct b43_wldev *dev)
>  		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 {
> @@ -736,7 +736,7 @@ static void b43_radio_2057_setup(struct b43_wldev *dev,
>  	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);
> @@ -751,7 +751,7 @@ static void b43_radio_2057_setup(struct b43_wldev *dev,
>  	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);
>  
> @@ -775,7 +775,7 @@ static void b43_radio_2057_setup(struct b43_wldev *dev,
>  		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;
>  
> @@ -1135,7 +1135,7 @@ static void b43_radio_2056_setup(struct b43_wldev *dev,
>  {
>  	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;
> @@ -1152,10 +1152,10 @@ static void b43_radio_2056_setup(struct b43_wldev *dev,
>  		 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 ||
> @@ -1168,21 +1168,21 @@ static void b43_radio_2056_setup(struct b43_wldev *dev,
>  		}
>  	}
>  	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) {
> @@ -1244,7 +1244,7 @@ static void b43_radio_2056_setup(struct b43_wldev *dev,
>  			}
>  			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;
> @@ -1501,7 +1501,7 @@ static void b43_radio_init2055(struct b43_wldev *dev)
>  		/* 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);
> @@ -1785,7 +1785,7 @@ static void b43_nphy_rev3_rssi_select(struct b43_wldev *dev, u8 code,
>  				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
> @@ -1813,12 +1813,12 @@ static void b43_nphy_rev3_rssi_select(struct b43_wldev *dev, u8 code,
>  
>  				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;
> @@ -2120,7 +2120,7 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
>  						     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,
> @@ -2136,7 +2136,7 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
>  		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 {
> @@ -2257,7 +2257,7 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
>  		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 {
> @@ -2289,7 +2289,7 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
>  	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;
> @@ -2336,7 +2336,7 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, enum n_rssi_type type)
>  	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;
> @@ -2629,7 +2629,7 @@ static void b43_nphy_gain_ctl_workarounds_rev1_2(struct b43_wldev *dev)
>  	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
> @@ -2688,7 +2688,7 @@ static void b43_nphy_gain_ctl_workarounds_rev1_2(struct b43_wldev *dev)
>  		~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);
>  }
>  
> @@ -2803,7 +2803,7 @@ static void b43_nphy_workarounds_rev7plus(struct b43_wldev *dev)
>  	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:
> @@ -2831,7 +2831,7 @@ static void b43_nphy_workarounds_rev7plus(struct b43_wldev *dev)
>  				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;
> @@ -2982,7 +2982,7 @@ static void b43_nphy_workarounds_rev7plus(struct b43_wldev *dev)
>  			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);
> @@ -2998,7 +2998,7 @@ static void b43_nphy_workarounds_rev7plus(struct b43_wldev *dev)
>  	}
>  
>  	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++) {
> @@ -3221,7 +3221,7 @@ static void b43_nphy_workarounds_rev3plus(struct b43_wldev *dev)
>  					 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);
>  
> @@ -3240,7 +3240,7 @@ static void b43_nphy_workarounds_rev3plus(struct b43_wldev *dev)
>  	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;
> @@ -3249,7 +3249,7 @@ static void b43_nphy_workarounds_rev3plus(struct b43_wldev *dev)
>  	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:
> @@ -3261,7 +3261,7 @@ static void b43_nphy_workarounds_rev3plus(struct b43_wldev *dev)
>  		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;
> @@ -3277,7 +3277,7 @@ static void b43_nphy_workarounds_rev3plus(struct b43_wldev *dev)
>  		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;
> @@ -3322,9 +3322,9 @@ static void b43_nphy_workarounds_rev3plus(struct b43_wldev *dev)
>  	/* 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;
> @@ -3333,7 +3333,7 @@ static void b43_nphy_workarounds_rev3plus(struct b43_wldev *dev)
>  	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,
> @@ -3376,7 +3376,7 @@ static void b43_nphy_workarounds_rev1_2(struct b43_wldev *dev)
>  		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);
> @@ -3451,7 +3451,7 @@ static void b43_nphy_workarounds(struct b43_wldev *dev)
>  	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);
> @@ -3586,7 +3586,7 @@ static void b43_nphy_iq_cal_gain_params(struct b43_wldev *dev, u16 core,
>  		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)
> @@ -3614,7 +3614,7 @@ static void b43_nphy_tx_power_ctrl(struct b43_wldev *dev, bool enable)
>  	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);
> @@ -3679,7 +3679,7 @@ static void b43_nphy_tx_power_ctrl(struct b43_wldev *dev, bool enable)
>  		}
>  		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) {
> @@ -3770,7 +3770,7 @@ static void b43_nphy_tx_power_fix(struct b43_wldev *dev)
>  		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) {
> @@ -3868,7 +3868,7 @@ static void b43_nphy_ipa_internal_tssi_setup(struct b43_wldev *dev)
>  	} 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)
> @@ -3892,7 +3892,7 @@ static void b43_nphy_ipa_internal_tssi_setup(struct b43_wldev *dev)
>  			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);
> @@ -3909,7 +3909,7 @@ static void b43_nphy_ipa_internal_tssi_setup(struct b43_wldev *dev)
>  			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)
> @@ -4098,7 +4098,7 @@ static void b43_nphy_tx_power_ctl_setup(struct b43_wldev *dev)
>  		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;
> @@ -4153,11 +4153,11 @@ static void b43_nphy_tx_power_ctl_setup(struct b43_wldev *dev)
>  			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,
> @@ -4267,13 +4267,13 @@ static void b43_nphy_tx_gain_table_upload(struct b43_wldev *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 */
> @@ -4288,7 +4288,7 @@ static void b43_nphy_tx_gain_table_upload(struct b43_wldev *dev)
>  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) {
> @@ -4300,12 +4300,12 @@ static void b43_nphy_pa_override(struct b43_wldev *dev, bool 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;
> @@ -4734,7 +4734,7 @@ static void b43_nphy_restore_rssi_cal(struct b43_wldev *dev)
>  	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;
> @@ -4804,7 +4804,7 @@ static void b43_nphy_tx_cal_radio_setup_rev7(struct b43_wldev *dev)
>  		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);
> @@ -4864,7 +4864,7 @@ static void b43_nphy_tx_cal_radio_setup(struct b43_wldev *dev)
>  		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);
> @@ -5005,7 +5005,7 @@ static void b43_nphy_int_pa_set_tx_dig_filters(struct b43_wldev *dev)
>  		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)
> @@ -5185,7 +5185,7 @@ static void b43_nphy_tx_cal_phy_setup(struct b43_wldev *dev)
>  							      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 {
> @@ -5210,7 +5210,7 @@ static void b43_nphy_tx_cal_phy_setup(struct b43_wldev *dev)
>  		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;
> @@ -5233,7 +5233,7 @@ static void b43_nphy_save_cal(struct b43_wldev *dev)
>  	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;
> @@ -5304,7 +5304,7 @@ static void b43_nphy_restore_cal(struct b43_wldev *dev)
>  	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;
> @@ -5332,7 +5332,7 @@ static void b43_nphy_restore_cal(struct b43_wldev *dev)
>  	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 {
> @@ -5422,7 +5422,7 @@ static int b43_nphy_cal_tx_iq_lo(struct b43_wldev *dev,
>  
>  	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,
> @@ -5657,7 +5657,7 @@ static int b43_nphy_rev2_cal_rx_iq(struct b43_wldev *dev,
>  	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;
> @@ -5712,18 +5712,18 @@ static int b43_nphy_rev2_cal_rx_iq(struct b43_wldev *dev,
>  		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);
> @@ -5919,7 +5919,7 @@ static enum b43_txpwr_result b43_nphy_op_recalc_txpower(struct b43_wldev *dev,
>  #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;
> @@ -6043,7 +6043,7 @@ static int b43_phy_initn(struct b43_wldev *dev)
>  	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];
> @@ -6051,7 +6051,7 @@ static int b43_phy_initn(struct b43_wldev *dev)
>  
>  	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:
> @@ -6170,7 +6170,7 @@ static int b43_phy_initn(struct b43_wldev *dev)
>  
>  	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;
> @@ -6187,7 +6187,7 @@ static int b43_phy_initn(struct b43_wldev *dev)
>  
>  	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;
> @@ -6201,7 +6201,7 @@ static int b43_phy_initn(struct b43_wldev *dev)
>  	}
>  
>  	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;
> @@ -6291,7 +6291,7 @@ static void b43_nphy_channel_setup(struct b43_wldev *dev,
>  	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);
>  
> @@ -6302,7 +6302,7 @@ static void b43_nphy_channel_setup(struct b43_wldev *dev,
>  			    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);
> @@ -6319,7 +6319,7 @@ static void b43_nphy_channel_setup(struct b43_wldev *dev,
>  		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);
>  	}
>  
> @@ -6449,7 +6449,7 @@ static int b43_nphy_set_channel(struct b43_wldev *dev,
>  			&(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);
>  		}
> @@ -6457,12 +6457,12 @@ static int b43_nphy_set_channel(struct b43_wldev *dev,
>  		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);
> @@ -6692,7 +6692,7 @@ static int b43_nphy_op_switch_channel(struct b43_wldev *dev,
>  	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 {
> @@ -6705,7 +6705,7 @@ static int b43_nphy_op_switch_channel(struct b43_wldev *dev,
>  
>  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;
>  }
> diff --git a/drivers/net/wireless/broadcom/b43/tables_lpphy.c b/drivers/net/wireless/broadcom/b43/tables_lpphy.c
> index cff187c5616d..ce01e1645df7 100644
> --- a/drivers/net/wireless/broadcom/b43/tables_lpphy.c
> +++ b/drivers/net/wireless/broadcom/b43/tables_lpphy.c
> @@ -560,7 +560,7 @@ void b2062_upload_init_table(struct b43_wldev *dev)
>  
>  	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);
> @@ -579,7 +579,7 @@ void b2063_upload_init_table(struct b43_wldev *dev)
>  
>  	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);
> @@ -2379,12 +2379,12 @@ static void lpphy_rev2plus_write_gain_table(struct b43_wldev *dev, int offset,
>  	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;
> @@ -2423,7 +2423,7 @@ void lpphy_init_tx_gain_table(struct b43_wldev *dev)
>  		    (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
> @@ -2435,7 +2435,7 @@ void lpphy_init_tx_gain_table(struct b43_wldev *dev)
>  		    (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
> @@ -2446,7 +2446,7 @@ void lpphy_init_tx_gain_table(struct b43_wldev *dev)
>  		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
> diff --git a/drivers/net/wireless/broadcom/b43/tables_nphy.c b/drivers/net/wireless/broadcom/b43/tables_nphy.c
> index b2f0d245bcf3..44e0957a70cc 100644
> --- a/drivers/net/wireless/broadcom/b43/tables_nphy.c
> +++ b/drivers/net/wireless/broadcom/b43/tables_nphy.c
> @@ -3502,7 +3502,7 @@ static void b43_nphy_tables_init_rev7_volatile(struct b43_wldev *dev)
>  		{ 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;
> @@ -3566,7 +3566,7 @@ static void b43_nphy_tables_init_rev3(struct b43_wldev *dev)
>  	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;
> @@ -3651,7 +3651,7 @@ static const u32 *b43_nphy_get_ipa_gain_table(struct b43_wldev *dev)
>  {
>  	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)
> @@ -3698,17 +3698,17 @@ static const u32 *b43_nphy_get_ipa_gain_table(struct b43_wldev *dev)
>  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:
> @@ -3746,7 +3746,7 @@ const s16 *b43_ntab_get_rf_pwr_offset_table(struct b43_wldev *dev)
>  {
>  	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)
> diff --git a/drivers/net/wireless/broadcom/b43/tables_phy_lcn.c b/drivers/net/wireless/broadcom/b43/tables_phy_lcn.c
> index e347b8d80ea4..704ef1bcb5b1 100644
> --- a/drivers/net/wireless/broadcom/b43/tables_phy_lcn.c
> +++ b/drivers/net/wireless/broadcom/b43/tables_phy_lcn.c
> @@ -701,7 +701,7 @@ void b43_phy_lcn_tables_init(struct b43_wldev *dev)
>  
>  	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);
> diff --git a/drivers/net/wireless/broadcom/b43/xmit.c b/drivers/net/wireless/broadcom/b43/xmit.c
> index 426dc13c44cd..f6201264de49 100644
> --- a/drivers/net/wireless/broadcom/b43/xmit.c
> +++ b/drivers/net/wireless/broadcom/b43/xmit.c
> @@ -803,7 +803,7 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
>  	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. */
> @@ -811,7 +811,7 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
>  			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.
>  		 */
> @@ -826,9 +826,9 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
>  		/* 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;
> diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c
> index afc1fb3e38df..83770d2ea057 100644
> --- a/drivers/net/wireless/broadcom/b43legacy/main.c
> +++ b/drivers/net/wireless/broadcom/b43legacy/main.c
> @@ -1056,7 +1056,7 @@ static void b43legacy_write_probe_resp_plcp(struct b43legacy_wldev *dev,
>  	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 */
> @@ -1122,7 +1122,7 @@ static const u8 *b43legacy_generate_probe_resp(struct b43legacy_wldev *dev,
>  					 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;
> @@ -2719,7 +2719,7 @@ static int b43legacy_op_dev_config(struct ieee80211_hw *hw,
>  
>  	/* 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
> @@ -2792,7 +2792,7 @@ out_unlock_mutex:
>  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;
> @@ -3630,13 +3630,13 @@ static int b43legacy_setup_modes(struct b43legacy_wldev *dev,
>  
>  	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;
>  	}
> diff --git a/drivers/net/wireless/broadcom/b43legacy/xmit.c b/drivers/net/wireless/broadcom/b43legacy/xmit.c
> index 34bf3f0b729f..35ccf400b02c 100644
> --- a/drivers/net/wireless/broadcom/b43legacy/xmit.c
> +++ b/drivers/net/wireless/broadcom/b43legacy/xmit.c
> @@ -565,7 +565,7 @@ void b43legacy_rx(struct b43legacy_wldev *dev,
>  	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:
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> index d5c2a27573b4..9a567e263bb1 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> @@ -144,7 +144,7 @@ static struct ieee80211_rate __wl_rates[] = {
>  #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,	\
> @@ -153,7 +153,7 @@ static struct ieee80211_rate __wl_rates[] = {
>  }
>  
>  #define CHAN5G(_channel) {					\
> -	.band			= IEEE80211_BAND_5GHZ,		\
> +	.band			= NL80211_BAND_5GHZ,		\
>  	.center_freq		= 5000 + (5 * (_channel)),	\
>  	.hw_value		= (_channel),			\
>  	.flags			= IEEE80211_CHAN_DISABLED,	\
> @@ -181,13 +181,13 @@ static struct ieee80211_channel __wl_5ghz_channels[] = {
>   * 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,
>  };
> @@ -292,13 +292,13 @@ static u16 chandef_to_chanspec(struct brcmu_d11inf *d11inf,
>  		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);
>  	}
> @@ -2679,9 +2679,9 @@ static s32 brcmf_inform_single_bss(struct brcmf_cfg80211_info *cfg,
>  	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);
> @@ -2788,9 +2788,9 @@ static s32 brcmf_inform_ibss(struct brcmf_cfg80211_info *cfg,
>  	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;
> @@ -5215,9 +5215,9 @@ brcmf_bss_roaming_done(struct brcmf_cfg80211_info *cfg,
>  	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);
> @@ -5707,11 +5707,11 @@ static int brcmf_construct_chaninfo(struct brcmf_cfg80211_info *cfg,
>  	}
>  
>  	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;
> @@ -5722,9 +5722,9 @@ static int brcmf_construct_chaninfo(struct brcmf_cfg80211_info *cfg,
>  		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;
> @@ -5839,7 +5839,7 @@ static int brcmf_enable_bw40_2g(struct brcmf_cfg80211_info *cfg)
>  			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++) {
> @@ -5871,11 +5871,11 @@ static void brcmf_get_bwcap(struct brcmf_if *ifp, u32 bw_cap[])
>  	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);
> @@ -5890,14 +5890,14 @@ static void brcmf_get_bwcap(struct brcmf_if *ifp, u32 bw_cap[])
>  
>  	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");
> @@ -5938,7 +5938,7 @@ static void brcmf_update_vht_cap(struct ieee80211_supported_band *band,
>  	__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;
> @@ -5997,8 +5997,8 @@ static int brcmf_setup_wiphybands(struct wiphy *wiphy)
>  		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) {
> @@ -6321,7 +6321,7 @@ static int brcmf_setup_wiphy(struct wiphy *wiphy, struct brcmf_if *ifp)
>  			}
>  
>  			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),
> @@ -6338,7 +6338,7 @@ static int brcmf_setup_wiphy(struct wiphy *wiphy, struct brcmf_if *ifp)
>  			}
>  
>  			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);
> @@ -6604,13 +6604,13 @@ static void brcmf_free_wiphy(struct wiphy *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);
>  }
> @@ -6698,8 +6698,8 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
>  	 * 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);
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
> index b5a49e564f25..c2ac91df35ed 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
> @@ -1430,8 +1430,8 @@ int brcmf_p2p_notify_action_frame_rx(struct brcmf_if *ifp,
>  
>  	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);
> @@ -1900,8 +1900,8 @@ s32 brcmf_p2p_notify_rx_mgmt_p2p_probereq(struct brcmf_if *ifp,
>  	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);
>  
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c
> index 38bd5890bd53..3a03287fa912 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c
> @@ -636,7 +636,7 @@ static void brcms_reg_apply_radar_flags(struct wiphy *wiphy)
>  	struct ieee80211_channel *ch;
>  	int i;
>  
> -	sband = wiphy->bands[IEEE80211_BAND_5GHZ];
> +	sband = wiphy->bands[NL80211_BAND_5GHZ];
>  	if (!sband)
>  		return;
>  
> @@ -666,7 +666,7 @@ brcms_reg_apply_beaconing_flags(struct wiphy *wiphy,
>  	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;
> @@ -710,7 +710,7 @@ static void brcms_reg_notifier(struct wiphy *wiphy,
>  		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;
> @@ -755,9 +755,9 @@ void brcms_c_regd_init(struct brcms_c_info *wlc)
>  					      &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];
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
> index 61ae2768132a..7c2a9a9bc372 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
> @@ -49,7 +49,7 @@
>  	FIF_PSPOLL)
>  
>  #define CHAN2GHZ(channel, freqency, chflags)  { \
> -	.band = IEEE80211_BAND_2GHZ, \
> +	.band = NL80211_BAND_2GHZ, \
>  	.center_freq = (freqency), \
>  	.hw_value = (channel), \
>  	.flags = chflags, \
> @@ -58,7 +58,7 @@
>  }
>  
>  #define CHAN5GHZ(channel, chflags)  { \
> -	.band = IEEE80211_BAND_5GHZ, \
> +	.band = NL80211_BAND_5GHZ, \
>  	.center_freq = 5000 + 5*(channel), \
>  	.hw_value = (channel), \
>  	.flags = chflags, \
> @@ -217,7 +217,7 @@ static struct ieee80211_rate legacy_ratetable[] = {
>  };
>  
>  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,
> @@ -238,7 +238,7 @@ static const struct ieee80211_supported_band brcms_band_2GHz_nphy_template = {
>  };
>  
>  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,
> @@ -1026,8 +1026,8 @@ static int ieee_hw_rate_init(struct ieee80211_hw *hw)
>  	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) {
> @@ -1038,7 +1038,7 @@ static int ieee_hw_rate_init(struct ieee80211_hw *hw)
>  			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;
>  	}
> @@ -1049,7 +1049,7 @@ static int ieee_hw_rate_init(struct ieee80211_hw *hw)
>  		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;
>  		}
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
> index 218cbc8bf3a7..e16ee60639f5 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
> @@ -7076,7 +7076,7 @@ prep_mac80211_status(struct brcms_c_info *wlc, struct d11rxhdr *rxh,
>  	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);
>  
> @@ -7143,7 +7143,7 @@ prep_mac80211_status(struct brcms_c_info *wlc, struct d11rxhdr *rxh,
>  		 * 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 */
> diff --git a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
> index d2353f6e5214..4bd9e2b97e86 100644
> --- a/drivers/net/wireless/cisco/airo.c
> +++ b/drivers/net/wireless/cisco/airo.c
> @@ -5836,7 +5836,7 @@ static int airo_get_freq(struct net_device *dev,
>  	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;
> @@ -6894,7 +6894,7 @@ static int airo_get_range(struct net_device *dev,
>  	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;
> @@ -7302,7 +7302,7 @@ static inline char *airo_translate_scan(struct net_device *dev,
>  	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);
> diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
> index 717320b17622..e1e42ed6c412 100644
> --- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
> +++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
> @@ -1913,7 +1913,7 @@ static int ipw2100_wdev_init(struct net_device *dev)
>  	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),
> @@ -1924,7 +1924,7 @@ static int ipw2100_wdev_init(struct net_device *dev)
>  		}
>  		/* 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;
> @@ -1945,7 +1945,7 @@ static int ipw2100_wdev_init(struct net_device *dev)
>  		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;
> diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
> index ed0adaf1eec4..dac13cf42e9f 100644
> --- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
> +++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
> @@ -11359,7 +11359,7 @@ static int ipw_wdev_init(struct net_device *dev)
>  	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),
> @@ -11370,7 +11370,7 @@ static int ipw_wdev_init(struct net_device *dev)
>  		}
>  		/* 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;
> @@ -11391,14 +11391,14 @@ static int ipw_wdev_init(struct net_device *dev)
>  		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),
> @@ -11409,7 +11409,7 @@ static int ipw_wdev_init(struct net_device *dev)
>  		}
>  		/* 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;
> @@ -11430,7 +11430,7 @@ static int ipw_wdev_init(struct net_device *dev)
>  		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;
> diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
> index af1b3e6839fa..466912eb2d87 100644
> --- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c
> +++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
> @@ -1547,7 +1547,7 @@ il3945_irq_tasklet(struct il_priv *il)
>  }
>  
>  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)
> @@ -1618,7 +1618,7 @@ il3945_get_channels_for_scan(struct il_priv *il, enum ieee80211_band band,
>  		/* 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));
> @@ -2534,7 +2534,7 @@ il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
>  	};
>  	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;
> @@ -2615,14 +2615,14 @@ il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
>  	/* 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");
> @@ -3507,7 +3507,7 @@ il3945_init_drv(struct il_priv *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->missed_beacon_threshold = IL_MISSED_BEACON_THRESHOLD_DEF;
> @@ -3582,13 +3582,13 @@ il3945_setup_mac(struct il_priv *il)
>  	/* 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);
>  
> @@ -3761,7 +3761,7 @@ il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		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);
> diff --git a/drivers/net/wireless/intel/iwlegacy/3945-rs.c b/drivers/net/wireless/intel/iwlegacy/3945-rs.c
> index 76b0729ade17..03ad9b8b55f4 100644
> --- a/drivers/net/wireless/intel/iwlegacy/3945-rs.c
> +++ b/drivers/net/wireless/intel/iwlegacy/3945-rs.c
> @@ -97,7 +97,7 @@ static struct il3945_tpt_entry il3945_tpt_table_g[] = {
>  #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;
> @@ -107,11 +107,11 @@ il3945_get_rate_idx_by_rssi(s32 rssi, enum ieee80211_band band)
>  		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;
> @@ -380,7 +380,7 @@ il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, u8 sta_id)
>  
>  	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;
>  	}
> @@ -541,7 +541,7 @@ il3945_rs_tx_status(void *il_rate, struct ieee80211_supported_band *sband,
>  
>  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;
> @@ -549,7 +549,7 @@ il3945_get_adjacent_rate(struct il3945_rs_sta *rs_sta, u8 idx, u16 rate_mask,
>  
>  	/* 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;
>  
> @@ -657,14 +657,14 @@ il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
>  
>  	/* 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);
> @@ -806,7 +806,7 @@ il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
>  
>  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;
> @@ -935,7 +935,7 @@ il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
>  
>  	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;
> @@ -943,7 +943,7 @@ il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
>  		} 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:
> diff --git a/drivers/net/wireless/intel/iwlegacy/3945.c b/drivers/net/wireless/intel/iwlegacy/3945.c
> index 93bdf684babe..7bcedbb53d94 100644
> --- a/drivers/net/wireless/intel/iwlegacy/3945.c
> +++ b/drivers/net/wireless/intel/iwlegacy/3945.c
> @@ -255,13 +255,13 @@ il3945_rs_next_rate(struct il_priv *il, int rate)
>  	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)
> @@ -349,7 +349,7 @@ il3945_hdl_tx(struct il_priv *il, struct il_rx_buf *rxb)
>  
>  	/* 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;
> @@ -554,14 +554,14 @@ il3945_hdl_rx(struct il_priv *il, struct il_rx_buf *rxb)
>  	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 =
> @@ -1409,7 +1409,7 @@ il3945_send_tx_power(struct il_priv *il)
>  
>  	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,
> @@ -2310,7 +2310,7 @@ il3945_manage_ibss_station(struct il_priv *il, struct ieee80211_vif *vif,
>  
>  		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);
>  
> @@ -2343,7 +2343,7 @@ il3945_init_hw_rate_table(struct il_priv *il)
>  	}
>  
>  	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 */
> @@ -2359,7 +2359,7 @@ il3945_init_hw_rate_table(struct il_priv *il)
>  		    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 */
> diff --git a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
> index f9ed48070e17..a91d170a614b 100644
> --- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c
> +++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
> @@ -457,7 +457,7 @@ il4965_rxq_stop(struct il_priv *il)
>  }
>  
>  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;
> @@ -468,7 +468,7 @@ il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band)
>  		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))
> @@ -688,8 +688,8 @@ il4965_hdl_rx(struct il_priv *il, struct il_rx_buf *rxb)
>  	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);
> @@ -766,7 +766,7 @@ il4965_hdl_rx_phy(struct il_priv *il, struct il_rx_buf *rxb)
>  
>  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;
> @@ -822,7 +822,7 @@ il4965_get_channels_for_scan(struct il_priv *il, struct ieee80211_vif *vif,
>  		 * 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));
> @@ -870,7 +870,7 @@ il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
>  	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;
> @@ -944,7 +944,7 @@ il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
>  	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) >>
> @@ -956,7 +956,7 @@ il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
>  			rate_flags = RATE_MCS_CCK_MSK;
>  		}
>  		break;
> -	case IEEE80211_BAND_5GHZ:
> +	case NL80211_BAND_5GHZ:
>  		rate = RATE_6M_PLCP;
>  		break;
>  	default:
> @@ -1590,7 +1590,7 @@ il4965_tx_cmd_build_rate(struct il_priv *il,
>  	    || 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;
> @@ -3051,7 +3051,7 @@ il4965_sta_alloc_lq(struct il_priv *il, u8 sta_id)
>  	}
>  	/* 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;
> @@ -5790,12 +5790,12 @@ il4965_mac_setup_register(struct il_priv *il, u32 max_probe_length)
>  
>  	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);
>  
> @@ -6368,7 +6368,7 @@ il4965_init_drv(struct il_priv *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;
> @@ -6480,7 +6480,7 @@ il4965_set_hw_params(struct il_priv *il)
>  	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;
>  
> diff --git a/drivers/net/wireless/intel/iwlegacy/4965-rs.c b/drivers/net/wireless/intel/iwlegacy/4965-rs.c
> index bac60b2bc3f0..a867ae7f4095 100644
> --- a/drivers/net/wireless/intel/iwlegacy/4965-rs.c
> +++ b/drivers/net/wireless/intel/iwlegacy/4965-rs.c
> @@ -549,7 +549,7 @@ il4965_rate_n_flags_from_tbl(struct il_priv *il, struct il_scale_tbl_info *tbl,
>   */
>  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);
> @@ -574,7 +574,7 @@ il4965_rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
>  	/* 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;
> @@ -743,7 +743,7 @@ il4965_rs_get_lower_rate(struct il_lq_sta *lq_sta,
>  	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;
> @@ -762,7 +762,7 @@ il4965_rs_get_lower_rate(struct il_lq_sta *lq_sta,
>  	/* 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));
> @@ -851,7 +851,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
>  	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;
> @@ -864,7 +864,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
>  		 * 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 */
> @@ -1816,7 +1816,7 @@ il4965_rs_rate_scale_perform(struct il_priv *il, struct sk_buff *skb,
>  
>  	/* 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 &
> @@ -2212,7 +2212,7 @@ il4965_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
>  	/* 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 ||
> @@ -2258,11 +2258,11 @@ il4965_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
>  	} 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;
>  	}
> @@ -2362,7 +2362,7 @@ il4965_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, u8 sta_id)
>  
>  	/* 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;
>  
> diff --git a/drivers/net/wireless/intel/iwlegacy/4965.c b/drivers/net/wireless/intel/iwlegacy/4965.c
> index fe47db9c20cd..c3c638ed0ed7 100644
> --- a/drivers/net/wireless/intel/iwlegacy/4965.c
> +++ b/drivers/net/wireless/intel/iwlegacy/4965.c
> @@ -1267,7 +1267,7 @@ il4965_send_tx_power(struct il_priv *il)
>  	     "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);
>  
> @@ -1480,7 +1480,7 @@ il4965_hw_channel_switch(struct il_priv *il,
>  	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;
> @@ -1918,7 +1918,7 @@ struct il_cfg il4965_cfg = {
>  	 * 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,
> diff --git a/drivers/net/wireless/intel/iwlegacy/4965.h b/drivers/net/wireless/intel/iwlegacy/4965.h
> index e432715e02d8..527e8b531aed 100644
> --- a/drivers/net/wireless/intel/iwlegacy/4965.h
> +++ b/drivers/net/wireless/intel/iwlegacy/4965.h
> @@ -68,7 +68,7 @@ void il4965_rx_replenish(struct il_priv *il);
>  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 */
> diff --git a/drivers/net/wireless/intel/iwlegacy/common.c b/drivers/net/wireless/intel/iwlegacy/common.c
> index 2cc3d42bbab7..eb24b9241bb2 100644
> --- a/drivers/net/wireless/intel/iwlegacy/common.c
> +++ b/drivers/net/wireless/intel/iwlegacy/common.c
> @@ -860,7 +860,7 @@ il_init_band_reference(const struct il_priv *il, int eep_band,
>   * 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)
>  {
> @@ -945,7 +945,7 @@ il_init_channel_map(struct il_priv *il)
>  			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. */
> @@ -1003,14 +1003,14 @@ il_init_channel_map(struct il_priv *il)
>  
>  	/* 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++) {
> @@ -1048,19 +1048,19 @@ EXPORT_SYMBOL(il_free_channel_map);
>   * 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;
> @@ -1457,7 +1457,7 @@ il_hdl_scan_complete(struct il_priv *il, struct il_rx_buf *rxb)
>  	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);
> @@ -1475,10 +1475,10 @@ il_setup_rx_scan_handlers(struct il_priv *il)
>  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
> @@ -1488,14 +1488,14 @@ il_get_active_dwell_time(struct il_priv *il, enum ieee80211_band band,
>  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;
>  
> @@ -1520,10 +1520,10 @@ void
>  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);
>  
> @@ -2003,7 +2003,7 @@ il_prep_station(struct il_priv *il, const u8 *addr, bool is_ap,
>  	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);
>  
> @@ -3382,7 +3382,7 @@ EXPORT_SYMBOL(il_bcast_addr);
>  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;
> @@ -3443,8 +3443,8 @@ il_init_geos(struct il_priv *il)
>  	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;
> @@ -3465,23 +3465,23 @@ il_init_geos(struct il_priv *il)
>  	}
>  
>  	/* 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;
> @@ -3532,7 +3532,7 @@ il_init_geos(struct il_priv *il)
>  	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",
> @@ -3541,8 +3541,8 @@ il_init_geos(struct il_priv *il)
>  	}
>  
>  	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);
>  
> @@ -3563,7 +3563,7 @@ il_free_geos(struct il_priv *il)
>  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;
> @@ -3926,14 +3926,14 @@ EXPORT_SYMBOL(il_set_rxon_ht);
>  
>  /* 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 {
> @@ -3965,14 +3965,14 @@ EXPORT_SYMBOL(il_get_single_channel_number);
>  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;
> @@ -3986,10 +3986,10 @@ il_set_rxon_channel(struct il_priv *il, struct ieee80211_channel *ch)
>  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);
> @@ -5415,7 +5415,7 @@ il_mac_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
>  
>  	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;
> diff --git a/drivers/net/wireless/intel/iwlegacy/common.h b/drivers/net/wireless/intel/iwlegacy/common.h
> index ce52cf114fde..726ede391cb9 100644
> --- a/drivers/net/wireless/intel/iwlegacy/common.h
> +++ b/drivers/net/wireless/intel/iwlegacy/common.h
> @@ -432,7 +432,7 @@ u16 il_eeprom_query16(const struct il_priv *il, size_t offset);
>  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)
> @@ -497,7 +497,7 @@ struct il_channel_info {
>  
>  	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 */
> @@ -811,7 +811,7 @@ struct il_sensitivity_ranges {
>   * @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
> @@ -1141,13 +1141,13 @@ struct il_priv {
>  	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;
> @@ -1176,10 +1176,10 @@ struct il_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;
> -	u8 scan_tx_ant[IEEE80211_NUM_BANDS];
> +	u8 scan_tx_ant[NUM_NL80211_BANDS];
>  	u8 mgmt_tx_ant;
>  
>  	/* spinlock */
> @@ -1479,7 +1479,7 @@ il_is_channel_radar(const struct il_channel_info *ch_info)
>  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
> @@ -1673,7 +1673,7 @@ struct il_cfg {
>  	/* 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;
> @@ -1707,9 +1707,9 @@ void il_set_rxon_hwcrypto(struct il_priv *il, int hw_decrypt);
>  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);
> @@ -1793,9 +1793,9 @@ int il_force_reset(struct il_priv *il, bool external);
>  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);
> @@ -1955,7 +1955,7 @@ il_commit_rxon(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];
>  }
> @@ -2813,7 +2813,7 @@ struct il_lq_sta {
>  	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;
> diff --git a/drivers/net/wireless/intel/iwlegacy/debug.c b/drivers/net/wireless/intel/iwlegacy/debug.c
> index 908b9f4fef6f..6fc6b7ff9849 100644
> --- a/drivers/net/wireless/intel/iwlegacy/debug.c
> +++ b/drivers/net/wireless/intel/iwlegacy/debug.c
> @@ -544,7 +544,7 @@ il_dbgfs_channels_read(struct file *file, char __user *user_buf, size_t count,
>  		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;
>  
> @@ -571,7 +571,7 @@ il_dbgfs_channels_read(struct file *file, char __user *user_buf, size_t count,
>  				      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;
>  
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/agn.h b/drivers/net/wireless/intel/iwlwifi/dvm/agn.h
> index 9de277c6c420..b79e38734f2f 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/agn.h
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/agn.h
> @@ -158,7 +158,7 @@ void iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch,
>  			 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 */
> @@ -186,7 +186,7 @@ int iwl_send_statistics_request(struct iwl_priv *priv,
>  				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];
>  }
> @@ -198,7 +198,7 @@ int iwlagn_suspend(struct iwl_priv *priv, struct cfg80211_wowlan *wowlan);
>  #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);
>  
> @@ -258,7 +258,7 @@ void iwl_cancel_scan_deferred_work(struct iwl_priv *priv);
>  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
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c b/drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c
> index 74c51615244e..f6591c83d636 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c
> @@ -335,7 +335,7 @@ static ssize_t iwl_dbgfs_channels_read(struct file *file, char __user *user_buf,
>  	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;
>  
> @@ -358,7 +358,7 @@ static ssize_t iwl_dbgfs_channels_read(struct file *file, char __user *user_buf,
>  					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;
>  
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/dev.h b/drivers/net/wireless/intel/iwlwifi/dvm/dev.h
> index 1a7ead753eee..8148df61a916 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/dev.h
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/dev.h
> @@ -677,7 +677,7 @@ struct iwl_priv {
>  
>  	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,
> @@ -722,11 +722,11 @@ struct iwl_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 */
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/devices.c b/drivers/net/wireless/intel/iwlwifi/dvm/devices.c
> index cc13c04063a5..f21732ec3b25 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/devices.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/devices.c
> @@ -420,7 +420,7 @@ static int iwl5000_hw_channel_switch(struct iwl_priv *priv,
>  		.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);
> @@ -588,7 +588,7 @@ static int iwl6000_hw_channel_switch(struct iwl_priv *priv,
>  
>  	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);
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/lib.c b/drivers/net/wireless/intel/iwlwifi/dvm/lib.c
> index 1799469268ea..8dda52ae3bb5 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/lib.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/lib.c
> @@ -94,7 +94,7 @@ void iwlagn_temperature(struct iwl_priv *priv)
>  	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;
> @@ -105,7 +105,7 @@ int iwlagn_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band)
>  		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))
> @@ -878,7 +878,7 @@ u8 iwl_toggle_tx_ant(struct iwl_priv *priv, u8 ant, u8 valid)
>  	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;
>  
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c
> index c63ea79571ff..8c0719468d00 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c
> @@ -202,12 +202,12 @@ int iwlagn_mac_setup_register(struct iwl_priv *priv,
>  
>  	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;
>  
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/main.c b/drivers/net/wireless/intel/iwlwifi/dvm/main.c
> index 614716251c39..37b32a6f60fd 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/main.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/main.c
> @@ -262,7 +262,7 @@ int iwlagn_send_beacon_cmd(struct iwl_priv *priv)
>  	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;
> @@ -1117,7 +1117,7 @@ static int iwl_init_drv(struct iwl_priv *priv)
>  
>  	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;
>  
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rs.c b/drivers/net/wireless/intel/iwlwifi/dvm/rs.c
> index ee7505537c96..b95c2d76db33 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/rs.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/rs.c
> @@ -599,7 +599,7 @@ static u32 rate_n_flags_from_tbl(struct iwl_priv *priv,
>   * 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)
>  {
> @@ -624,7 +624,7 @@ static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
>  	/* 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;
> @@ -802,7 +802,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
>  	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;
> @@ -821,7 +821,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
>  	/* 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
> @@ -939,7 +939,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
>  	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;
> @@ -952,7 +952,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
>  		 * 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 */
> @@ -2284,7 +2284,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
>  
>  	/* 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));
> @@ -2721,7 +2721,7 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta,
>  	/* 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) ||
> @@ -2763,11 +2763,11 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta,
>  	} 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;
>  	}
> @@ -2880,7 +2880,7 @@ void iwl_rs_rate_init(struct iwl_priv *priv, struct ieee80211_sta *sta, u8 sta_i
>  
>  	/* 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
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rs.h b/drivers/net/wireless/intel/iwlwifi/dvm/rs.h
> index c5fe44584613..50c1e951dd2d 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/rs.h
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/rs.h
> @@ -355,7 +355,7 @@ struct iwl_lq_sta {
>  	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;
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rx.c b/drivers/net/wireless/intel/iwlwifi/dvm/rx.c
> index 27ea61e3a390..dfa2041cfdac 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/rx.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/rx.c
> @@ -834,7 +834,7 @@ static void iwlagn_rx_reply_rx(struct iwl_priv *priv,
>  	/* 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);
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
> index 2d47cb24c48b..b228552184b5 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/rxon.c
> @@ -719,7 +719,7 @@ void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_config *ht_conf)
>  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) &&
> @@ -727,7 +727,7 @@ void iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch,
>  		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;
> @@ -740,10 +740,10 @@ void iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch,
>  
>  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);
> @@ -1476,7 +1476,7 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
>  
>  	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;
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/scan.c b/drivers/net/wireless/intel/iwlwifi/dvm/scan.c
> index 81a2ddbe9569..d01766f16175 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/scan.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/scan.c
> @@ -312,7 +312,7 @@ static void iwl_rx_scan_complete_notif(struct iwl_priv *priv,
>  		       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));
>  
>  	/*
> @@ -362,9 +362,9 @@ void iwl_setup_rx_scan_handlers(struct iwl_priv *priv)
>  }
>  
>  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
> @@ -431,9 +431,9 @@ static u16 iwl_limit_dwell(struct iwl_priv *priv, u16 dwell_time)
>  }
>  
>  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;
>  
> @@ -442,7 +442,7 @@ static u16 iwl_get_passive_dwell_time(struct iwl_priv *priv,
>  
>  /* 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;
> @@ -470,7 +470,7 @@ static u8 iwl_get_single_channel_number(struct iwl_priv *priv,
>  
>  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;
> @@ -492,7 +492,7 @@ static int iwl_get_channel_for_reset_scan(struct iwl_priv *priv,
>  			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));
> @@ -505,7 +505,7 @@ static int iwl_get_channel_for_reset_scan(struct iwl_priv *priv,
>  
>  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)
>  {
> @@ -553,7 +553,7 @@ static int iwl_get_channels_for_scan(struct iwl_priv *priv,
>  		 * 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));
> @@ -636,7 +636,7 @@ static int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
>  	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;
> @@ -750,7 +750,7 @@ static int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
>  	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 &
> @@ -771,7 +771,7 @@ static int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
>  		    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:
> @@ -809,7 +809,7 @@ static int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
>  
>  	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 */
> @@ -925,16 +925,16 @@ static int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
>  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;
>  
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/sta.c b/drivers/net/wireless/intel/iwlwifi/dvm/sta.c
> index 8e9768a553e4..de6ec9b7ace4 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/sta.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/sta.c
> @@ -579,7 +579,7 @@ static void iwl_sta_fill_lq(struct iwl_priv *priv, struct iwl_rxon_context *ctx,
>  
>  	/* 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;
> diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/tx.c b/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
> index 59e2001c39f8..4b97371c3b42 100644
> --- a/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
> +++ b/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
> @@ -81,7 +81,7 @@ static void iwlagn_tx_cmd_build_basic(struct iwl_priv *priv,
>  		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) ||
> @@ -177,7 +177,7 @@ static void iwlagn_tx_cmd_build_rate(struct iwl_priv *priv,
>  		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;
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-1000.c b/drivers/net/wireless/intel/iwlwifi/iwl-1000.c
> index ef22c3d168fc..5c2aae64d59f 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-1000.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-1000.c
> @@ -64,7 +64,7 @@ static const struct iwl_base_params iwl1000_base_params = {
>  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 = {
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-2000.c b/drivers/net/wireless/intel/iwlwifi/iwl-2000.c
> index dc246c997084..2e823bdc4757 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-2000.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-2000.c
> @@ -89,7 +89,7 @@ static const struct iwl_base_params iwl2030_base_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 = {
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-5000.c b/drivers/net/wireless/intel/iwlwifi/iwl-5000.c
> index 4dcdab6781cc..4c3e3cf4c799 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-5000.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-5000.c
> @@ -62,7 +62,7 @@ static const struct iwl_base_params iwl5000_base_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 = {
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-6000.c b/drivers/net/wireless/intel/iwlwifi/iwl-6000.c
> index 9938f5340ac0..5a7b7e1f0aab 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-6000.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-6000.c
> @@ -110,7 +110,7 @@ static const struct iwl_base_params iwl6000_g2_base_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 = {
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-7000.c b/drivers/net/wireless/intel/iwlwifi/iwl-7000.c
> index b6283c881d42..abd2904ecc48 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-7000.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-7000.c
> @@ -156,7 +156,7 @@ static const struct iwl_tt_params iwl7000_high_temp_tt_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					\
> @@ -287,7 +287,7 @@ static const struct iwl_pwr_tx_backoff iwl7265_pwr_tx_backoffs[] = {
>  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 = {
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-8000.c b/drivers/net/wireless/intel/iwlwifi/iwl-8000.c
> index 0728a288aa3d..a9212a12f4da 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-8000.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-8000.c
> @@ -124,7 +124,7 @@ static const struct iwl_base_params iwl8000_base_params = {
>  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 = {
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-9000.c b/drivers/net/wireless/intel/iwlwifi/iwl-9000.c
> index a3d35aa291a9..b9aca3795f06 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-9000.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-9000.c
> @@ -93,7 +93,7 @@ static const struct iwl_base_params iwl9000_base_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 = {
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-config.h b/drivers/net/wireless/intel/iwlwifi/iwl-config.h
> index 08bb4f4e424a..720679889ab3 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-config.h
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-config.h
> @@ -185,7 +185,7 @@ struct iwl_base_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;
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c
> index c15f5be85197..bf1b69aec813 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c
> @@ -390,10 +390,10 @@ iwl_eeprom_enh_txp_read_element(struct iwl_nvm_data *data,
>  				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];
> @@ -526,7 +526,7 @@ static void iwl_init_band_reference(const struct iwl_cfg *cfg,
>  
>  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)
>  {
> @@ -548,7 +548,7 @@ static void iwl_mod_ht40_chan_info(struct device *dev,
>  	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),
> @@ -606,8 +606,8 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
>  			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);
> @@ -677,15 +677,15 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
>  
>  	/* 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++) {
> @@ -708,7 +708,7 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
>  
>  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;
> @@ -734,7 +734,7 @@ int iwl_init_sband_channels(struct iwl_nvm_data *data,
>  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;
> @@ -813,22 +813,22 @@ static void iwl_init_sbands(struct device *dev, const struct iwl_cfg *cfg,
>  	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)
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h b/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h
> index ad2b834668ff..53f39a34eca2 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h
> @@ -98,7 +98,7 @@ struct iwl_nvm_data {
>  	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[];
>  };
>  
> @@ -133,12 +133,12 @@ int iwl_nvm_check_version(struct iwl_nvm_data *data,
>  
>  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__ */
> diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
> index 93a689583dff..14743c37d976 100644
> --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
> +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
> @@ -308,7 +308,7 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
>  
>  		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);
> @@ -320,7 +320,7 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
>  		 * 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)
> @@ -439,22 +439,22 @@ static void iwl_init_sbands(struct device *dev, const struct iwl_cfg *cfg,
>  				&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,
> @@ -781,7 +781,7 @@ iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
>  	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;
> @@ -809,7 +809,7 @@ iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
>  	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;
> @@ -857,7 +857,7 @@ iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
>  		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),
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/coex.c b/drivers/net/wireless/intel/iwlwifi/mvm/coex.c
> index 35cdeca3d61e..a63f5bbb1ba7 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/coex.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/coex.c
> @@ -378,7 +378,7 @@ iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif)
>  	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;
>  	}
> @@ -537,7 +537,7 @@ static void iwl_mvm_bt_notif_iterator(void *_data, u8 *mac,
>  
>  	/* 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,
> @@ -857,11 +857,11 @@ 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)
>  {
>  	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;
> @@ -873,7 +873,7 @@ u8 iwl_mvm_bt_coex_tx_prio(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr,
>  	__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))
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
> index 3a279d3403ef..fb96bc00f022 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
> @@ -724,9 +724,9 @@ static ssize_t iwl_dbgfs_tof_responder_params_write(struct ieee80211_vif *vif,
>  
>  		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(
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
> index 6ad5c602e84c..9e97cf4ff1c5 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
> @@ -980,7 +980,7 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
>  		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++) {
>  		/*
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
> index 923d19112e0c..456067b2f48d 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
> @@ -559,7 +559,7 @@ void iwl_mvm_mac_ctxt_release(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
>  
>  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;
> @@ -730,7 +730,7 @@ static void iwl_mvm_mac_ctxt_cmd_common(struct iwl_mvm *mvm,
>  	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();
>  
> @@ -1065,7 +1065,7 @@ static int iwl_mvm_mac_ctxt_send_beacon(struct iwl_mvm *mvm,
>  		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;
> @@ -1516,7 +1516,7 @@ void iwl_mvm_rx_stored_beacon_notif(struct iwl_mvm *mvm,
>  	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);
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
> index 4f5ec495b460..ef91b3770703 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
> @@ -550,18 +550,18 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
>  	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;
>  	}
>  
> @@ -2911,7 +2911,7 @@ static int iwl_mvm_send_aux_roc_cmd(struct iwl_mvm *mvm,
>  			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,
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
> index 2d685e02d488..85800ba0c667 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
> @@ -1133,9 +1133,9 @@ int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm);
>  
>  /* 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);
> @@ -1468,7 +1468,7 @@ bool iwl_mvm_bt_coex_is_mimo_allowed(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);
>  
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c b/drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c
> index 6e6a56f2153d..95138830b9f8 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c
> @@ -147,7 +147,7 @@ static void iwl_mvm_phy_ctxt_cmd_data(struct iwl_mvm *mvm,
>  	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;
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rs.c b/drivers/net/wireless/intel/iwlwifi/mvm/rs.c
> index 61d0a8cd13f9..81dd2f6a48a5 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/rs.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rs.c
> @@ -829,7 +829,7 @@ static u32 ucode_rate_from_rs_rate(struct iwl_mvm *mvm,
>  
>  /* 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;
> @@ -848,7 +848,7 @@ static int rs_rate_from_ucode_rate(const u32 ucode_rate,
>  	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;
> @@ -1043,7 +1043,7 @@ static void rs_get_lower_rate_down_column(struct iwl_lq_sta *lq_sta,
>  		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;
> @@ -1850,7 +1850,7 @@ static int rs_switch_to_column(struct iwl_mvm *mvm,
>  	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;
> @@ -2020,7 +2020,7 @@ static void rs_get_adjacent_txp(struct iwl_mvm *mvm, int index,
>  }
>  
>  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);
> @@ -2126,7 +2126,7 @@ static bool rs_tpc_perform(struct iwl_mvm *mvm,
>  	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;
> @@ -2148,7 +2148,7 @@ static bool rs_tpc_perform(struct iwl_mvm *mvm,
>  	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();
> @@ -2606,7 +2606,7 @@ static void rs_init_optimal_rate(struct iwl_mvm *mvm,
>  		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;
> @@ -2623,7 +2623,7 @@ static void rs_init_optimal_rate(struct iwl_mvm *mvm,
>  	} 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);
> @@ -2679,7 +2679,7 @@ static struct rs_rate *rs_get_optimal_rate(struct iwl_mvm *mvm,
>  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;
> @@ -2714,7 +2714,7 @@ static void rs_get_initial_rate(struct iwl_mvm *mvm,
>  	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);
> @@ -2814,7 +2814,7 @@ void rs_update_last_rssi(struct iwl_mvm *mvm,
>  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;
> @@ -3097,7 +3097,7 @@ void iwl_mvm_update_frame_stats(struct iwl_mvm *mvm, u32 rate, bool agg)
>   * 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;
> @@ -3203,7 +3203,7 @@ static void rs_rate_update(void *mvm_r,
>  #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;
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rs.h b/drivers/net/wireless/intel/iwlwifi/mvm/rs.h
> index bdb6f2d8d854..90d046fb24a0 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/rs.h
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rs.h
> @@ -305,7 +305,7 @@ struct iwl_lq_sta {
>  	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;
> @@ -358,7 +358,7 @@ struct iwl_lq_sta {
>  
>  /* 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,
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
> index d8cadf2fe098..263e8a8576b7 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
> @@ -319,7 +319,7 @@ void iwl_mvm_rx_rx_mpdu(struct iwl_mvm *mvm, struct napi_struct *napi,
>  	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);
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
> index d4a4c13400cb..651604d18a32 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
> @@ -456,8 +456,8 @@ void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi,
>  
>  	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);
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
> index c1d1be9c5d01..6f609dd5c222 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
> @@ -163,16 +163,16 @@ static inline __le16 iwl_mvm_scan_rx_chain(struct iwl_mvm *mvm)
>  	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;
> @@ -182,7 +182,7 @@ iwl_mvm_scan_rate_n_flags(struct iwl_mvm *mvm, enum ieee80211_band band,
>  				     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
> @@ -591,14 +591,14 @@ static void iwl_mvm_scan_fill_tx_cmd(struct iwl_mvm *mvm,
>  	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;
>  }
> @@ -695,19 +695,19 @@ iwl_mvm_build_scan_probe(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
>  
>  	/* 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);
> @@ -921,10 +921,10 @@ static __le32 iwl_mvm_scan_config_rates(struct iwl_mvm *mvm)
>  	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);
>  
> @@ -939,8 +939,8 @@ int iwl_mvm_config_scan(struct iwl_mvm *mvm)
>  	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),
> @@ -994,10 +994,10 @@ int iwl_mvm_config_scan(struct iwl_mvm *mvm)
>  				     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;
>  
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c b/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c
> index 18711c5de35a..9f160fc58cd0 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c
> @@ -444,7 +444,7 @@ iwl_mvm_tdls_config_channel_switch(struct iwl_mvm *mvm,
>  	}
>  
>  	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);
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
> index efb9b98c4c98..bd286fca3776 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
> @@ -359,7 +359,7 @@ void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, struct iwl_tx_cmd *tx_cmd,
>  				&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 */
> @@ -372,7 +372,7 @@ void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, struct iwl_tx_cmd *tx_cmd,
>  		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
> @@ -1052,7 +1052,7 @@ const char *iwl_mvm_get_tx_fail_reason(u32 status)
>  #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)
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/utils.c b/drivers/net/wireless/intel/iwlwifi/mvm/utils.c
> index 486c98541afc..f0ffd62f02d3 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/utils.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/utils.c
> @@ -217,14 +217,14 @@ static const u8 fw_rate_idx_to_plcp[IWL_RATE_COUNT] = {
>  };
>  
>  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)
> diff --git a/drivers/net/wireless/intersil/orinoco/cfg.c b/drivers/net/wireless/intersil/orinoco/cfg.c
> index 0f6ea316e38e..7aa47069af0a 100644
> --- a/drivers/net/wireless/intersil/orinoco/cfg.c
> +++ b/drivers/net/wireless/intersil/orinoco/cfg.c
> @@ -60,14 +60,14 @@ int orinoco_wiphy_register(struct wiphy *wiphy)
>  		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;
> @@ -175,7 +175,7 @@ static int orinoco_set_monitor_channel(struct wiphy *wiphy,
>  	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);
> diff --git a/drivers/net/wireless/intersil/orinoco/hw.c b/drivers/net/wireless/intersil/orinoco/hw.c
> index e27e32851f1e..61af5a28f269 100644
> --- a/drivers/net/wireless/intersil/orinoco/hw.c
> +++ b/drivers/net/wireless/intersil/orinoco/hw.c
> @@ -1193,7 +1193,7 @@ int orinoco_hw_get_freq(struct orinoco_private *priv)
>  		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);
> diff --git a/drivers/net/wireless/intersil/orinoco/scan.c b/drivers/net/wireless/intersil/orinoco/scan.c
> index 2c66166add70..d0ceb06c72d0 100644
> --- a/drivers/net/wireless/intersil/orinoco/scan.c
> +++ b/drivers/net/wireless/intersil/orinoco/scan.c
> @@ -111,7 +111,7 @@ static void orinoco_add_hostscan_result(struct orinoco_private *priv,
>  	}
>  
>  	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)",
> @@ -148,7 +148,7 @@ void orinoco_add_extscan_result(struct orinoco_private *priv,
>  	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);
> diff --git a/drivers/net/wireless/intersil/p54/eeprom.c b/drivers/net/wireless/intersil/p54/eeprom.c
> index 2fe713eda7ad..d4c73d39336f 100644
> --- a/drivers/net/wireless/intersil/p54/eeprom.c
> +++ b/drivers/net/wireless/intersil/p54/eeprom.c
> @@ -76,14 +76,14 @@ struct p54_channel_entry {
>  	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)
> @@ -91,10 +91,10 @@ 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;
>  }
> @@ -124,16 +124,16 @@ static int p54_compare_rssichan(const void *_a,
>  
>  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;
> @@ -147,7 +147,7 @@ static int p54_fill_band_bitrates(struct ieee80211_hw *dev,
>  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;
> @@ -206,7 +206,7 @@ static int p54_generate_band(struct ieee80211_hw *dev,
>  
>  	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;
> @@ -396,7 +396,7 @@ static int p54_generate_channel_lists(struct ieee80211_hw *dev)
>  	     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++;
>  	}
> @@ -573,10 +573,10 @@ static int p54_parse_rssical(struct ieee80211_hw *dev,
>  		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;
>  			}
> @@ -902,11 +902,11 @@ good_eeprom:
>  	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)
> diff --git a/drivers/net/wireless/intersil/p54/main.c b/drivers/net/wireless/intersil/p54/main.c
> index 7805864e76f9..d5a3bf91a03e 100644
> --- a/drivers/net/wireless/intersil/p54/main.c
> +++ b/drivers/net/wireless/intersil/p54/main.c
> @@ -477,7 +477,7 @@ static void p54_bss_info_changed(struct ieee80211_hw *dev,
>  		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;
> @@ -829,7 +829,7 @@ void p54_free_common(struct ieee80211_hw *dev)
>  	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);
> diff --git a/drivers/net/wireless/intersil/p54/p54.h b/drivers/net/wireless/intersil/p54/p54.h
> index 40b401ed6845..529939e611cd 100644
> --- a/drivers/net/wireless/intersil/p54/p54.h
> +++ b/drivers/net/wireless/intersil/p54/p54.h
> @@ -223,7 +223,7 @@ struct p54_common {
>  	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];
> diff --git a/drivers/net/wireless/intersil/p54/txrx.c b/drivers/net/wireless/intersil/p54/txrx.c
> index 24e5ff9a9272..1af7da0b386e 100644
> --- a/drivers/net/wireless/intersil/p54/txrx.c
> +++ b/drivers/net/wireless/intersil/p54/txrx.c
> @@ -353,7 +353,7 @@ static int p54_rx_data(struct p54_common *priv, struct sk_buff *skb)
>  	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;
> @@ -867,7 +867,7 @@ void p54_tx_80211(struct ieee80211_hw *dev,
>  	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 */
> diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
> index 2b185feb1aa0..c757f14c4c00 100644
> --- a/drivers/net/wireless/mac80211_hwsim.c
> +++ b/drivers/net/wireless/mac80211_hwsim.c
> @@ -255,14 +255,14 @@ static struct class *hwsim_class;
>  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, \
> @@ -479,7 +479,7 @@ struct mac80211_hwsim_data {
>  	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)];
> @@ -2347,7 +2347,7 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
>  	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;
>  
> @@ -2476,16 +2476,16 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
>  		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;
> diff --git a/drivers/net/wireless/marvell/libertas/cfg.c b/drivers/net/wireless/marvell/libertas/cfg.c
> index 2eea76a340b7..776b44bfd93a 100644
> --- a/drivers/net/wireless/marvell/libertas/cfg.c
> +++ b/drivers/net/wireless/marvell/libertas/cfg.c
> @@ -23,7 +23,7 @@
>  
>  
>  #define CHAN2G(_channel, _freq, _flags) {        \
> -	.band             = IEEE80211_BAND_2GHZ, \
> +	.band             = NL80211_BAND_2GHZ, \
>  	.center_freq      = (_freq),             \
>  	.hw_value         = (_channel),          \
>  	.flags            = (_flags),            \
> @@ -639,7 +639,7 @@ static int lbs_ret_scan(struct lbs_private *priv, unsigned long dummy,
>  		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);
>  
> @@ -1266,7 +1266,7 @@ _new_connect_scan_req(struct wiphy *wiphy, struct cfg80211_connect_params *sme)
>  {
>  	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 *),
> @@ -1281,7 +1281,7 @@ _new_connect_scan_req(struct wiphy *wiphy, struct cfg80211_connect_params *sme)
>  
>  	/* 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])
> @@ -2200,7 +2200,7 @@ int lbs_cfg_register(struct lbs_private *priv)
>  	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
> diff --git a/drivers/net/wireless/marvell/libertas/cmd.c b/drivers/net/wireless/marvell/libertas/cmd.c
> index 4ddd0e5a6b85..301170cccfff 100644
> --- a/drivers/net/wireless/marvell/libertas/cmd.c
> +++ b/drivers/net/wireless/marvell/libertas/cmd.c
> @@ -743,7 +743,7 @@ int lbs_set_11d_domain_info(struct lbs_private *priv)
>  	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;
> @@ -777,7 +777,7 @@ int lbs_set_11d_domain_info(struct lbs_private *priv)
>  	 * 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])
> diff --git a/drivers/net/wireless/marvell/libertas_tf/main.c b/drivers/net/wireless/marvell/libertas_tf/main.c
> index a47f0acc099a..0bf8916a02cf 100644
> --- a/drivers/net/wireless/marvell/libertas_tf/main.c
> +++ b/drivers/net/wireless/marvell/libertas_tf/main.c
> @@ -570,7 +570,7 @@ int lbtf_rx(struct lbtf_private *priv, struct sk_buff *skb)
>  	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 */
> @@ -642,7 +642,7 @@ struct lbtf_private *lbtf_add_card(void *card, struct device *dmdev)
>  	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);
> diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> index 49661e087811..6db202fa7157 100644
> --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> @@ -474,7 +474,7 @@ int mwifiex_send_domain_info_cmd_fw(struct wiphy *wiphy)
>  	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);
> @@ -1410,7 +1410,7 @@ mwifiex_cfg80211_dump_survey(struct wiphy *wiphy, struct net_device *dev,
>  {
>  	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);
>  
> @@ -1586,7 +1586,7 @@ static int mwifiex_cfg80211_set_bitrate_mask(struct wiphy *wiphy,
>  {
>  	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) {
> @@ -1600,11 +1600,11 @@ static int mwifiex_cfg80211_set_bitrate_mask(struct wiphy *wiphy,
>  	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;
> @@ -1771,7 +1771,7 @@ mwifiex_cfg80211_set_antenna(struct wiphy *wiphy, u32 tx_ant, u32 rx_ant)
>  	} 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;
> @@ -1785,7 +1785,7 @@ mwifiex_cfg80211_set_antenna(struct wiphy *wiphy, u32 tx_ant, u32 rx_ant)
>  						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;
>  
> @@ -1997,7 +1997,7 @@ static int mwifiex_cfg80211_inform_ibss_bss(struct mwifiex_private *priv)
>  	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;
> @@ -2271,7 +2271,7 @@ static int mwifiex_set_ibss_params(struct mwifiex_private *priv,
>  	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 {
> @@ -2859,18 +2859,18 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct wiphy *wiphy,
>  	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;
> @@ -3821,7 +3821,7 @@ static int mwifiex_cfg80211_get_channel(struct wiphy *wiphy,
>  	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;
>  
> @@ -4053,11 +4053,11 @@ int mwifiex_register_cfg80211(struct mwifiex_adapter *adapter)
>  				 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;
> diff --git a/drivers/net/wireless/marvell/mwifiex/cfp.c b/drivers/net/wireless/marvell/mwifiex/cfp.c
> index 09fae27140f7..1ff22055e54f 100644
> --- a/drivers/net/wireless/marvell/mwifiex/cfp.c
> +++ b/drivers/net/wireless/marvell/mwifiex/cfp.c
> @@ -322,9 +322,9 @@ mwifiex_get_cfp(struct mwifiex_private *priv, u8 band, u16 channel, u32 freq)
>  		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,
> @@ -399,15 +399,15 @@ u32 mwifiex_get_rates_from_cfg80211(struct mwifiex_private *priv,
>  	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;
> diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c
> index 489f7a911a83..624b0a95c64e 100644
> --- a/drivers/net/wireless/marvell/mwifiex/scan.c
> +++ b/drivers/net/wireless/marvell/mwifiex/scan.c
> @@ -494,13 +494,13 @@ mwifiex_scan_create_channel_list(struct mwifiex_private *priv,
>  							*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;
> @@ -557,13 +557,13 @@ mwifiex_bgscan_create_channel_list(struct mwifiex_private *priv,
>  				   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;
>  
> diff --git a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c
> index 92ce32f5bb13..f79d00d1e294 100644
> --- a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c
> +++ b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c
> @@ -816,7 +816,7 @@ void mwifiex_uap_set_channel(struct mwifiex_private *priv,
>  						     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;
>  
> diff --git a/drivers/net/wireless/marvell/mwl8k.c b/drivers/net/wireless/marvell/mwl8k.c
> index 088429d0a634..b1b400b59d86 100644
> --- a/drivers/net/wireless/marvell/mwl8k.c
> +++ b/drivers/net/wireless/marvell/mwl8k.c
> @@ -346,20 +346,20 @@ struct mwl8k_sta {
>  #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[] = {
> @@ -379,10 +379,10 @@ 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[] = {
> @@ -1010,11 +1010,11 @@ mwl8k_rxd_ap_process(void *_rxd, struct ieee80211_rx_status *status,
>  	}
>  
>  	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);
> @@ -1118,11 +1118,11 @@ mwl8k_rxd_sta_process(void *_rxd, struct ieee80211_rx_status *status,
>  		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);
> @@ -2300,13 +2300,13 @@ static void mwl8k_setup_2ghz_band(struct ieee80211_hw *hw)
>  	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)
> @@ -2319,13 +2319,13 @@ 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;
>  }
>  
>  /*
> @@ -2876,9 +2876,9 @@ static int mwl8k_cmd_tx_power(struct ieee80211_hw *hw,
>  	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);
> @@ -3067,7 +3067,7 @@ static int freq_to_idx(struct mwl8k_priv *priv, int freq)
>  	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;
> @@ -3149,9 +3149,9 @@ static int mwl8k_cmd_set_rf_channel(struct ieee80211_hw *hw,
>  	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) {
> @@ -4094,10 +4094,10 @@ static int mwl8k_cmd_set_new_stn_add(struct ieee80211_hw *hw,
>  	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];
> @@ -4529,10 +4529,10 @@ static int mwl8k_cmd_update_stadb_add(struct ieee80211_hw *hw,
>  	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;
> @@ -5010,11 +5010,11 @@ mwl8k_bss_info_changed_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
>  			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);
>  
> @@ -5042,7 +5042,7 @@ mwl8k_bss_info_changed_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
>  					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;
> @@ -5116,7 +5116,7 @@ mwl8k_bss_info_changed_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
>  		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;
> @@ -5388,7 +5388,7 @@ static int mwl8k_get_survey(struct ieee80211_hw *hw, int idx,
>  	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;
> @@ -5396,7 +5396,7 @@ static int mwl8k_get_survey(struct ieee80211_hw *hw, int idx,
>  		}
>  
>  		if (!sband)
> -			sband = hw->wiphy->bands[IEEE80211_BAND_5GHZ];
> +			sband = hw->wiphy->bands[NL80211_BAND_5GHZ];
>  
>  		if (!sband || idx >= sband->n_channels)
>  			return -ENOENT;
> diff --git a/drivers/net/wireless/mediatek/mt7601u/init.c b/drivers/net/wireless/mediatek/mt7601u/init.c
> index 26190fd33407..8fa78d7156be 100644
> --- a/drivers/net/wireless/mediatek/mt7601u/init.c
> +++ b/drivers/net/wireless/mediatek/mt7601u/init.c
> @@ -469,7 +469,7 @@ struct mt7601u_dev *mt7601u_alloc_device(struct device *pdev)
>  }
>  
>  #define CHAN2G(_idx, _freq) {			\
> -	.band = IEEE80211_BAND_2GHZ,		\
> +	.band = NL80211_BAND_2GHZ,		\
>  	.center_freq = (_freq),			\
>  	.hw_value = (_idx),			\
>  	.max_power = 30,			\
> @@ -563,7 +563,7 @@ mt76_init_sband_2g(struct mt7601u_dev *dev)
>  {
>  	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));
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> index 7fa0128de7e3..c36fa4e03fb6 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> @@ -777,7 +777,7 @@ static int rt2800_agc_to_rssi(struct rt2x00_dev *rt2x00dev, u32 rxwi_w2)
>  	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);
> @@ -1174,7 +1174,7 @@ static void rt2800_brightness_set(struct led_classdev *led_cdev,
>  	    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);
> @@ -1741,7 +1741,7 @@ static void rt2800_config_3572bt_ant(struct rt2x00_dev *rt2x00dev)
>  	u8 led_ctrl, led_g_mode, led_r_mode;
>  
>  	rt2800_register_read(rt2x00dev, GPIO_SWITCH, &reg);
> -	if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
> +	if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
>  		rt2x00_set_field32(&reg, GPIO_SWITCH_0, 1);
>  		rt2x00_set_field32(&reg, GPIO_SWITCH_1, 1);
>  	} else {
> @@ -1844,7 +1844,7 @@ void rt2800_config_ant(struct rt2x00_dev *rt2x00dev, struct antenna_setup *ant)
>  		    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);
> @@ -3451,7 +3451,7 @@ static int rt2800_get_gain_calibration_delta(struct rt2x00_dev *rt2x00dev)
>  	 * 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);
> @@ -3546,7 +3546,7 @@ static int rt2800_get_gain_calibration_delta(struct rt2x00_dev *rt2x00dev)
>  }
>  
>  static int rt2800_get_txpower_bw_comp(struct rt2x00_dev *rt2x00dev,
> -				      enum ieee80211_band band)
> +				      enum nl80211_band band)
>  {
>  	u16 eeprom;
>  	u8 comp_en;
> @@ -3562,7 +3562,7 @@ static int rt2800_get_txpower_bw_comp(struct rt2x00_dev *rt2x00dev,
>  	    !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) {
> @@ -3611,7 +3611,7 @@ static int rt2800_get_txpower_reg_delta(struct rt2x00_dev *rt2x00dev,
>  }
>  
>  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;
> @@ -3639,7 +3639,7 @@ static u8 rt2800_compensate_txpower(struct rt2x00_dev *rt2x00dev, int is_rate_b,
>  		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
> @@ -3686,7 +3686,7 @@ static void rt2800_config_txpower_rt3593(struct rt2x00_dev *rt2x00dev,
>  	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;
>  
> @@ -3697,7 +3697,7 @@ static void rt2800_config_txpower_rt3593(struct rt2x00_dev *rt2x00dev,
>  	/* 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;
> @@ -4055,7 +4055,7 @@ static void rt2800_config_txpower_rt3593(struct rt2x00_dev *rt2x00dev,
>  	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) ?
> @@ -4081,7 +4081,7 @@ static void rt2800_config_txpower_rt28xx(struct rt2x00_dev *rt2x00dev,
>  	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
> @@ -4436,7 +4436,7 @@ static u8 rt2800_get_default_vgc(struct rt2x00_dev *rt2x00dev)
>  {
>  	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) ||
> @@ -4511,7 +4511,7 @@ void rt2800_link_tuner(struct rt2x00_dev *rt2x00dev, struct link_qual *qual,
>  	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;
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00.h b/drivers/net/wireless/ralink/rt2x00/rt2x00.h
> index 3dacede7da5e..f68d492129c6 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h
> +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h
> @@ -753,8 +753,8 @@ struct rt2x00_dev {
>  	 * 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;
>  
>  	/*
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
> index b2f7c586045d..4e0c5653054b 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
> @@ -911,7 +911,7 @@ static void rt2x00lib_channel(struct ieee80211_channel *entry,
>  			      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;
> @@ -975,13 +975,13 @@ static int rt2x00lib_probe_hw_modes(struct rt2x00_dev *rt2x00dev,
>  	 * 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));
>  	}
>  
> @@ -991,15 +991,15 @@ static int rt2x00lib_probe_hw_modes(struct rt2x00_dev *rt2x00dev,
>  	 * 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));
>  	}
>  
> @@ -1016,11 +1016,11 @@ static void rt2x00lib_remove_hw(struct rt2x00_dev *rt2x00dev)
>  	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);
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt61pci.c b/drivers/net/wireless/ralink/rt2x00/rt61pci.c
> index 24a3436ef952..03013eb2f642 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt61pci.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt61pci.c
> @@ -252,9 +252,9 @@ static void rt61pci_brightness_set(struct led_classdev *led_cdev,
>  	    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,
> @@ -643,12 +643,12 @@ static void rt61pci_config_antenna_5x(struct rt2x00_dev *rt2x00dev,
>  	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);
> @@ -657,7 +657,7 @@ static void rt61pci_config_antenna_5x(struct rt2x00_dev *rt2x00dev,
>  	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);
> @@ -808,7 +808,7 @@ static void rt61pci_config_ant(struct rt2x00_dev *rt2x00dev,
>  	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 {
> @@ -822,9 +822,9 @@ static void rt61pci_config_ant(struct rt2x00_dev *rt2x00dev,
>  	rt2x00mmio_register_read(rt2x00dev, PHY_CSR0, &reg);
>  
>  	rt2x00_set_field32(&reg, PHY_CSR0_PA_PE_BG,
> -			   rt2x00dev->curr_band == IEEE80211_BAND_2GHZ);
> +			   rt2x00dev->curr_band == NL80211_BAND_2GHZ);
>  	rt2x00_set_field32(&reg, PHY_CSR0_PA_PE_A,
> -			   rt2x00dev->curr_band == IEEE80211_BAND_5GHZ);
> +			   rt2x00dev->curr_band == NL80211_BAND_5GHZ);
>  
>  	rt2x00mmio_register_write(rt2x00dev, PHY_CSR0, reg);
>  
> @@ -846,7 +846,7 @@ static void rt61pci_config_lna_gain(struct rt2x00_dev *rt2x00dev,
>  	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;
>  
> @@ -1048,7 +1048,7 @@ static void rt61pci_link_tuner(struct rt2x00_dev *rt2x00dev,
>  	/*
>  	 * 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)) {
> @@ -2077,7 +2077,7 @@ static int rt61pci_agc_to_rssi(struct rt2x00_dev *rt2x00dev, int rxd_w1)
>  		return 0;
>  	}
>  
> -	if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
> +	if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
>  		if (lna == 3 || lna == 2)
>  			offset += 10;
>  	}
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt73usb.c b/drivers/net/wireless/ralink/rt2x00/rt73usb.c
> index 7bbc86931168..c1397a6d3cee 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt73usb.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt73usb.c
> @@ -197,9 +197,9 @@ static void rt73usb_brightness_set(struct led_classdev *led_cdev,
>  	   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,
> @@ -593,13 +593,13 @@ static void rt73usb_config_antenna_5x(struct rt2x00_dev *rt2x00dev,
>  	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);
> @@ -608,7 +608,7 @@ static void rt73usb_config_antenna_5x(struct rt2x00_dev *rt2x00dev,
>  	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);
> @@ -704,7 +704,7 @@ static void rt73usb_config_ant(struct rt2x00_dev *rt2x00dev,
>  	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 {
> @@ -718,9 +718,9 @@ static void rt73usb_config_ant(struct rt2x00_dev *rt2x00dev,
>  	rt2x00usb_register_read(rt2x00dev, PHY_CSR0, &reg);
>  
>  	rt2x00_set_field32(&reg, PHY_CSR0_PA_PE_BG,
> -			   (rt2x00dev->curr_band == IEEE80211_BAND_2GHZ));
> +			   (rt2x00dev->curr_band == NL80211_BAND_2GHZ));
>  	rt2x00_set_field32(&reg, PHY_CSR0_PA_PE_A,
> -			   (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ));
> +			   (rt2x00dev->curr_band == NL80211_BAND_5GHZ));
>  
>  	rt2x00usb_register_write(rt2x00dev, PHY_CSR0, reg);
>  
> @@ -736,7 +736,7 @@ static void rt73usb_config_lna_gain(struct rt2x00_dev *rt2x00dev,
>  	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;
>  
> @@ -923,7 +923,7 @@ static void rt73usb_link_tuner(struct rt2x00_dev *rt2x00dev,
>  	/*
>  	 * Determine r17 bounds.
>  	 */
> -	if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) {
> +	if (rt2x00dev->curr_band == NL80211_BAND_5GHZ) {
>  		low_bound = 0x28;
>  		up_bound = 0x48;
>  
> @@ -1657,7 +1657,7 @@ static int rt73usb_agc_to_rssi(struct rt2x00_dev *rt2x00dev, int rxd_w1)
>  		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;
> diff --git a/drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c b/drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
> index c76af5d8b8e0..ba242d0160ec 100644
> --- a/drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
> +++ b/drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
> @@ -526,7 +526,7 @@ static void rtl8180_tx(struct ieee80211_hw *dev,
>  		 * 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);
> @@ -1529,7 +1529,7 @@ static void rtl8180_bss_info_changed(struct ieee80211_hw *dev,
>  		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);
> @@ -1795,12 +1795,12 @@ static int rtl8180_probe(struct pci_dev *pdev,
>  	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);
> diff --git a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
> index b7f72f9c7988..231f84db9ab0 100644
> --- a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
> +++ b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
> @@ -1470,12 +1470,12 @@ static int rtl8187_probe(struct usb_interface *intf,
>  	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);
> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
> index 333addd3d46a..db8433a9efe2 100644
> --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
> +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
> @@ -91,33 +91,33 @@ static struct ieee80211_rate rtl8xxxu_rates[] = {
>  };
>  
>  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 }
>  };
>  
> @@ -8378,7 +8378,7 @@ static int rtl8xxxu_probe(struct usb_interface *interface,
>  		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;
>  
> diff --git a/drivers/net/wireless/realtek/rtlwifi/base.c b/drivers/net/wireless/realtek/rtlwifi/base.c
> index 0517a4f2d3f2..c74eb139bfa1 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/base.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/base.c
> @@ -131,7 +131,7 @@ static struct ieee80211_rate rtl_ratetable_5g[] = {
>  };
>  
>  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),
> @@ -143,7 +143,7 @@ static const struct ieee80211_supported_band rtl_band_2ghz = {
>  };
>  
>  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),
> @@ -197,7 +197,7 @@ static void _rtl_init_hw_ht_capab(struct ieee80211_hw *hw,
>  
>  	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
> @@ -328,26 +328,26 @@ static void _rtl_init_mac80211(struct ieee80211_hw *hw)
>  	    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 */
> @@ -355,15 +355,15 @@ static void _rtl_init_mac80211(struct ieee80211_hw *hw)
>  
>  		_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));
>  
> @@ -371,14 +371,14 @@ static void _rtl_init_mac80211(struct ieee80211_hw *hw)
>  			_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));
>  
> @@ -387,7 +387,7 @@ static void _rtl_init_mac80211(struct ieee80211_hw *hw)
>  
>  			_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);
> @@ -861,7 +861,7 @@ static u8 _rtl_get_highest_n_rate(struct ieee80211_hw *hw,
>  
>  /* 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,
> @@ -871,7 +871,7 @@ static u8 _rtl_get_highest_n_rate(struct ieee80211_hw *hw,
>   * (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,
> @@ -958,7 +958,7 @@ int rtlwifi_rate_mapping(struct ieee80211_hw *hw, bool isht, bool isvht,
>  		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;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/regd.c b/drivers/net/wireless/realtek/rtlwifi/regd.c
> index 5be34118e0af..3524441fd516 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/regd.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/regd.c
> @@ -154,13 +154,13 @@ static bool _rtl_is_radar_freq(u16 center_freq)
>  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;
> @@ -210,9 +210,9 @@ static void _rtl_reg_apply_active_scan_flags(struct wiphy *wiphy,
>  	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
> @@ -262,10 +262,10 @@ static void _rtl_reg_apply_radar_flags(struct wiphy *wiphy)
>  	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];
> @@ -301,12 +301,12 @@ static void _rtl_reg_apply_world_flags(struct wiphy *wiphy,
>  
>  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];
> diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h b/drivers/net/wireless/realtek/rtlwifi/wifi.h
> index 389dc47776c0..11d9c2307e2f 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/wifi.h
> +++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h
> @@ -1359,7 +1359,7 @@ struct rtl_mac {
>  	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;
> diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c
> index a13d1f2b5912..569918c485b4 100644
> --- a/drivers/net/wireless/rndis_wlan.c
> +++ b/drivers/net/wireless/rndis_wlan.c
> @@ -1291,7 +1291,7 @@ static int set_channel(struct usbnet *usbdev, int channel)
>  		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,
> @@ -3476,7 +3476,7 @@ static int rndis_wlan_bind(struct usbnet *usbdev, struct usb_interface *intf)
>  	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,
> diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
> index 4df992de7d07..dbb23899ddcb 100644
> --- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
> +++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
> @@ -20,84 +20,84 @@
>  #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 */
>  };
>  
> @@ -150,12 +150,12 @@ static void rsi_register_rates_channels(struct rsi_hw *adapter, int band)
>  	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);
> @@ -164,7 +164,7 @@ static void rsi_register_rates_channels(struct rsi_hw *adapter, int band)
>  		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;
> @@ -775,7 +775,7 @@ static int rsi_mac80211_set_rate_mask(struct ieee80211_hw *hw,
>  {
>  	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;
> @@ -999,8 +999,8 @@ static int rsi_mac80211_sta_remove(struct ieee80211_hw *hw,
>  
>  	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;
> @@ -1070,8 +1070,8 @@ int rsi_mac80211_attach(struct rsi_common *common)
>  	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);
> @@ -1087,10 +1087,10 @@ int rsi_mac80211_attach(struct rsi_common *common)
>  
>  	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)
> diff --git a/drivers/net/wireless/rsi/rsi_91x_mgmt.c b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
> index e43b59d5b53b..40658b62d077 100644
> --- a/drivers/net/wireless/rsi/rsi_91x_mgmt.c
> +++ b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
> @@ -210,7 +210,7 @@ static u16 mcs[] = {13, 26, 39, 52, 78, 104, 117, 130};
>   */
>  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;
> @@ -655,7 +655,7 @@ int rsi_set_vap_capabilities(struct rsi_common *common, enum opmode mode)
>  	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 |=
> @@ -872,7 +872,7 @@ int rsi_band_check(struct rsi_common *common)
>  	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
> @@ -1046,7 +1046,7 @@ static int rsi_send_auto_rate_request(struct rsi_common *common)
>  	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 {
> diff --git a/drivers/net/wireless/rsi/rsi_91x_pkt.c b/drivers/net/wireless/rsi/rsi_91x_pkt.c
> index a0b31c0cf25b..02920c93e82d 100644
> --- a/drivers/net/wireless/rsi/rsi_91x_pkt.c
> +++ b/drivers/net/wireless/rsi/rsi_91x_pkt.c
> @@ -184,7 +184,7 @@ int rsi_send_mgmt_pkt(struct rsi_common *common,
>  	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);
> diff --git a/drivers/net/wireless/rsi/rsi_main.h b/drivers/net/wireless/rsi/rsi_main.h
> index 5baed945f60e..dcd095787166 100644
> --- a/drivers/net/wireless/rsi/rsi_main.h
> +++ b/drivers/net/wireless/rsi/rsi_main.h
> @@ -211,7 +211,7 @@ struct rsi_hw {
>  	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;
> diff --git a/drivers/net/wireless/st/cw1200/main.c b/drivers/net/wireless/st/cw1200/main.c
> index 0e51e27d2e3f..dc478cedbde0 100644
> --- a/drivers/net/wireless/st/cw1200/main.c
> +++ b/drivers/net/wireless/st/cw1200/main.c
> @@ -102,7 +102,7 @@ static struct ieee80211_rate cw1200_mcs_rates[] = {
>  
>  
>  #define CHAN2G(_channel, _freq, _flags) {			\
> -	.band			= IEEE80211_BAND_2GHZ,		\
> +	.band			= NL80211_BAND_2GHZ,		\
>  	.center_freq		= (_freq),			\
>  	.hw_value		= (_channel),			\
>  	.flags			= (_flags),			\
> @@ -111,7 +111,7 @@ static struct ieee80211_rate cw1200_mcs_rates[] = {
>  }
>  
>  #define CHAN5G(_channel, _flags) {				\
> -	.band			= IEEE80211_BAND_5GHZ,		\
> +	.band			= NL80211_BAND_5GHZ,		\
>  	.center_freq	= 5000 + (5 * (_channel)),		\
>  	.hw_value		= (_channel),			\
>  	.flags			= (_flags),			\
> @@ -311,12 +311,12 @@ static struct ieee80211_hw *cw1200_init_common(const u8 *macaddr,
>  
>  	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;
> diff --git a/drivers/net/wireless/st/cw1200/scan.c b/drivers/net/wireless/st/cw1200/scan.c
> index bff81b8d4164..983788156bb0 100644
> --- a/drivers/net/wireless/st/cw1200/scan.c
> +++ b/drivers/net/wireless/st/cw1200/scan.c
> @@ -402,7 +402,7 @@ void cw1200_probe_work(struct work_struct *work)
>  	}
>  	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) {
> diff --git a/drivers/net/wireless/st/cw1200/sta.c b/drivers/net/wireless/st/cw1200/sta.c
> index d0ddcde6c695..daf06a4f842e 100644
> --- a/drivers/net/wireless/st/cw1200/sta.c
> +++ b/drivers/net/wireless/st/cw1200/sta.c
> @@ -1278,7 +1278,7 @@ static void cw1200_do_join(struct cw1200_common *priv)
>  	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));
> @@ -1462,7 +1462,7 @@ int cw1200_enable_listening(struct cw1200_common *priv)
>  	};
>  
>  	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 {
> @@ -2315,7 +2315,7 @@ static int cw1200_start_ap(struct cw1200_common *priv)
>  	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,
> diff --git a/drivers/net/wireless/st/cw1200/txrx.c b/drivers/net/wireless/st/cw1200/txrx.c
> index d28bd49cb5fd..3d170287cd0b 100644
> --- a/drivers/net/wireless/st/cw1200/txrx.c
> +++ b/drivers/net/wireless/st/cw1200/txrx.c
> @@ -1079,7 +1079,7 @@ void cw1200_rx_cb(struct cw1200_common *priv,
>  
>  	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);
> diff --git a/drivers/net/wireless/st/cw1200/wsm.c b/drivers/net/wireless/st/cw1200/wsm.c
> index 9e0ca3048657..680d60eabc75 100644
> --- a/drivers/net/wireless/st/cw1200/wsm.c
> +++ b/drivers/net/wireless/st/cw1200/wsm.c
> @@ -849,9 +849,9 @@ static int wsm_startup_indication(struct cw1200_common *priv,
>  
>  	/* 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);
> diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c
> index cd4777954f87..56384a4e2a35 100644
> --- a/drivers/net/wireless/ti/wl1251/main.c
> +++ b/drivers/net/wireless/ti/wl1251/main.c
> @@ -1482,7 +1482,7 @@ int wl1251_init_ieee80211(struct wl1251 *wl)
>  	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;
>  
> diff --git a/drivers/net/wireless/ti/wl1251/rx.c b/drivers/net/wireless/ti/wl1251/rx.c
> index cde0eaf99714..a27d4c22b6e8 100644
> --- a/drivers/net/wireless/ti/wl1251/rx.c
> +++ b/drivers/net/wireless/ti/wl1251/rx.c
> @@ -53,7 +53,7 @@ static void wl1251_rx_status(struct wl1251 *wl,
>  
>  	memset(status, 0, sizeof(struct ieee80211_rx_status));
>  
> -	status->band = IEEE80211_BAND_2GHZ;
> +	status->band = NL80211_BAND_2GHZ;
>  	status->mactime = desc->timestamp;
>  
>  	/*
> diff --git a/drivers/net/wireless/ti/wl12xx/main.c b/drivers/net/wireless/ti/wl12xx/main.c
> index a0d6cccc56f3..58b9d3c3a833 100644
> --- a/drivers/net/wireless/ti/wl12xx/main.c
> +++ b/drivers/net/wireless/ti/wl12xx/main.c
> @@ -469,8 +469,8 @@ static const u8 wl12xx_rate_to_idx_5ghz[] = {
>  };
>  
>  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 {
> @@ -1827,8 +1827,8 @@ static int wl12xx_setup(struct wl1271 *wl)
>  	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) {
> diff --git a/drivers/net/wireless/ti/wl12xx/scan.c b/drivers/net/wireless/ti/wl12xx/scan.c
> index a0dfc59e9644..8d475393f9e3 100644
> --- a/drivers/net/wireless/ti/wl12xx/scan.c
> +++ b/drivers/net/wireless/ti/wl12xx/scan.c
> @@ -27,7 +27,7 @@
>  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;
> @@ -92,7 +92,7 @@ static int wl1271_get_scan_channels(struct wl1271 *wl,
>  #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);
> @@ -144,7 +144,7 @@ static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_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;
> @@ -218,7 +218,7 @@ out:
>  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) {
> @@ -226,7 +226,7 @@ void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif)
>  		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;
> @@ -243,7 +243,7 @@ void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif)
>  		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;
> @@ -263,7 +263,7 @@ void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif)
>  		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) {
> @@ -274,7 +274,7 @@ void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif)
>  		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) {
> @@ -378,7 +378,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
>  	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,
> @@ -395,7 +395,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
>  	}
>  
>  	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,
> diff --git a/drivers/net/wireless/ti/wl18xx/cmd.c b/drivers/net/wireless/ti/wl18xx/cmd.c
> index a8d176ddc73c..63e95ba744fd 100644
> --- a/drivers/net/wireless/ti/wl18xx/cmd.c
> +++ b/drivers/net/wireless/ti/wl18xx/cmd.c
> @@ -48,10 +48,10 @@ int wl18xx_cmd_channel_switch(struct wl1271 *wl,
>  	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:
> @@ -187,7 +187,7 @@ int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start)
>  
>  	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);
>  
> diff --git a/drivers/net/wireless/ti/wl18xx/event.c b/drivers/net/wireless/ti/wl18xx/event.c
> index ff6e46dd61f8..ef811848d141 100644
> --- a/drivers/net/wireless/ti/wl18xx/event.c
> +++ b/drivers/net/wireless/ti/wl18xx/event.c
> @@ -64,13 +64,13 @@ static int wlcore_smart_config_sync_event(struct wl1271 *wl, u8 sync_channel,
>  					  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);
>  
> diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
> index 1bf26cc7374e..ae47c79cb9b6 100644
> --- a/drivers/net/wireless/ti/wl18xx/main.c
> +++ b/drivers/net/wireless/ti/wl18xx/main.c
> @@ -137,8 +137,8 @@ static const u8 wl18xx_rate_to_idx_5ghz[] = {
>  };
>  
>  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 {
> @@ -1302,12 +1302,12 @@ static u32 wl18xx_ap_get_mimo_wide_rate_mask(struct wl1271 *wl,
>  		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
> @@ -1996,24 +1996,24 @@ static int wl18xx_setup(struct wl1271 *wl)
>  		 * 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);
>  	}
>  
> diff --git a/drivers/net/wireless/ti/wl18xx/scan.c b/drivers/net/wireless/ti/wl18xx/scan.c
> index bc15aa2c3efa..4e5221544354 100644
> --- a/drivers/net/wireless/ti/wl18xx/scan.c
> +++ b/drivers/net/wireless/ti/wl18xx/scan.c
> @@ -110,7 +110,7 @@ static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  
>  	/* 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,
> @@ -127,7 +127,7 @@ static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  	}
>  
>  	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,
> @@ -253,7 +253,7 @@ int wl18xx_scan_sched_scan_config(struct wl1271 *wl,
>  	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,
> @@ -270,7 +270,7 @@ int wl18xx_scan_sched_scan_config(struct wl1271 *wl,
>  	}
>  
>  	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,
> diff --git a/drivers/net/wireless/ti/wl18xx/tx.c b/drivers/net/wireless/ti/wl18xx/tx.c
> index 3406ffb53325..ebaf66ef3f84 100644
> --- a/drivers/net/wireless/ti/wl18xx/tx.c
> +++ b/drivers/net/wireless/ti/wl18xx/tx.c
> @@ -43,7 +43,7 @@ void wl18xx_get_last_tx_rate(struct wl1271 *wl, struct ieee80211_vif *vif,
>  
>  	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 {
> diff --git a/drivers/net/wireless/ti/wlcore/cmd.c b/drivers/net/wireless/ti/wlcore/cmd.c
> index f01d24baff7c..33153565ad62 100644
> --- a/drivers/net/wireless/ti/wlcore/cmd.c
> +++ b/drivers/net/wireless/ti/wlcore/cmd.c
> @@ -423,7 +423,7 @@ EXPORT_SYMBOL_GPL(wlcore_get_native_channel_type);
>  
>  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;
> @@ -438,7 +438,7 @@ static int wl12xx_cmd_role_start_dev(struct wl1271 *wl,
>  	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;
>  
> @@ -524,7 +524,7 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
>  	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);
> @@ -693,10 +693,10 @@ int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif)
>  	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:
> @@ -773,7 +773,7 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
>  	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);
> @@ -1164,7 +1164,7 @@ int wl12xx_cmd_build_probe_req(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  	}
>  
>  	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);
> @@ -1195,7 +1195,7 @@ struct sk_buff *wl1271_cmd_build_ap_probe_req(struct wl1271 *wl,
>  	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);
> @@ -1628,19 +1628,19 @@ out:
>  	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 */
> @@ -1670,7 +1670,7 @@ static int wlcore_get_reg_conf_ch_idx(enum ieee80211_band band, u16 ch)
>  }
>  
>  void wlcore_set_pending_regdomain_ch(struct wl1271 *wl, u16 channel,
> -				     enum ieee80211_band band)
> +				     enum nl80211_band band)
>  {
>  	int ch_bit_idx = 0;
>  
> @@ -1699,7 +1699,7 @@ int wlcore_cmd_regdomain_config_locked(struct wl1271 *wl)
>  
>  	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];
> @@ -1851,7 +1851,7 @@ out:
>  }
>  
>  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;
> @@ -1870,10 +1870,10 @@ static int wl12xx_cmd_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  	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:
> @@ -1925,7 +1925,7 @@ out:
>  }
>  
>  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;
>  
> @@ -1995,7 +1995,7 @@ out:
>  
>  /* 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;
>  
> diff --git a/drivers/net/wireless/ti/wlcore/cmd.h b/drivers/net/wireless/ti/wlcore/cmd.h
> index e28e2f2303ce..52c3b4860461 100644
> --- a/drivers/net/wireless/ti/wlcore/cmd.h
> +++ b/drivers/net/wireless/ti/wlcore/cmd.h
> @@ -40,7 +40,7 @@ int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif);
>  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,
> @@ -83,14 +83,14 @@ int wl1271_cmd_set_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  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);
> diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
> index a872a07a484c..10fd24c28ece 100644
> --- a/drivers/net/wireless/ti/wlcore/main.c
> +++ b/drivers/net/wireless/ti/wlcore/main.c
> @@ -1930,7 +1930,7 @@ static void wlcore_op_stop_locked(struct wl1271 *wl)
>  	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;
> @@ -2240,8 +2240,8 @@ static int wl12xx_init_vif_data(struct wl1271 *wl, struct ieee80211_vif *vif)
>  		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;
>  
>  	/*
> @@ -2330,7 +2330,7 @@ power_off:
>  	 * 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 ");
> @@ -5871,7 +5871,7 @@ static const struct ieee80211_ops wl1271_ops = {
>  };
>  
>  
> -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;
>  
> @@ -6096,21 +6096,21 @@ static int wl1271_init_ieee80211(struct wl1271 *wl)
>  	 * 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 +
> @@ -6205,7 +6205,7 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size,
>  	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;
> diff --git a/drivers/net/wireless/ti/wlcore/ps.c b/drivers/net/wireless/ti/wlcore/ps.c
> index d4420da637d8..b36133b739cb 100644
> --- a/drivers/net/wireless/ti/wlcore/ps.c
> +++ b/drivers/net/wireless/ti/wlcore/ps.c
> @@ -202,7 +202,7 @@ int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  		 * 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)
> @@ -213,7 +213,7 @@ int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  		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)
> diff --git a/drivers/net/wireless/ti/wlcore/rx.c b/drivers/net/wireless/ti/wlcore/rx.c
> index 34e7e938ede4..c9bd294a0aa6 100644
> --- a/drivers/net/wireless/ti/wlcore/rx.c
> +++ b/drivers/net/wireless/ti/wlcore/rx.c
> @@ -64,9 +64,9 @@ static void wl1271_rx_status(struct wl1271 *wl,
>  	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);
>  
> diff --git a/drivers/net/wireless/ti/wlcore/rx.h b/drivers/net/wireless/ti/wlcore/rx.h
> index f5a7087cfb97..57c0565637d6 100644
> --- a/drivers/net/wireless/ti/wlcore/rx.h
> +++ b/drivers/net/wireless/ti/wlcore/rx.h
> @@ -146,7 +146,7 @@ struct wl1271_rx_descriptor {
>  } __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);
> diff --git a/drivers/net/wireless/ti/wlcore/scan.c b/drivers/net/wireless/ti/wlcore/scan.c
> index a384f3f83099..23343643207a 100644
> --- a/drivers/net/wireless/ti/wlcore/scan.c
> +++ b/drivers/net/wireless/ti/wlcore/scan.c
> @@ -164,7 +164,7 @@ wlcore_scan_get_channels(struct wl1271 *wl,
>  		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;
> @@ -215,7 +215,7 @@ wlcore_scan_get_channels(struct wl1271 *wl,
>  			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) &&
> @@ -266,7 +266,7 @@ wlcore_set_scan_chan_params(struct wl1271 *wl,
>  					 n_channels,
>  					 n_ssids,
>  					 cfg->channels_2,
> -					 IEEE80211_BAND_2GHZ,
> +					 NL80211_BAND_2GHZ,
>  					 false, true, 0,
>  					 MAX_CHANNELS_2GHZ,
>  					 &n_pactive_ch,
> @@ -277,7 +277,7 @@ wlcore_set_scan_chan_params(struct wl1271 *wl,
>  					 n_channels,
>  					 n_ssids,
>  					 cfg->channels_2,
> -					 IEEE80211_BAND_2GHZ,
> +					 NL80211_BAND_2GHZ,
>  					 false, false,
>  					 cfg->passive[0],
>  					 MAX_CHANNELS_2GHZ,
> @@ -289,7 +289,7 @@ wlcore_set_scan_chan_params(struct wl1271 *wl,
>  					 n_channels,
>  					 n_ssids,
>  					 cfg->channels_5,
> -					 IEEE80211_BAND_5GHZ,
> +					 NL80211_BAND_5GHZ,
>  					 false, true, 0,
>  					 wl->max_channels_5,
>  					 &n_pactive_ch,
> @@ -300,7 +300,7 @@ wlcore_set_scan_chan_params(struct wl1271 *wl,
>  					 n_channels,
>  					 n_ssids,
>  					 cfg->channels_5,
> -					 IEEE80211_BAND_5GHZ,
> +					 NL80211_BAND_5GHZ,
>  					 true, true,
>  					 cfg->passive[1],
>  					 wl->max_channels_5,
> @@ -312,7 +312,7 @@ wlcore_set_scan_chan_params(struct wl1271 *wl,
>  					 n_channels,
>  					 n_ssids,
>  					 cfg->channels_5,
> -					 IEEE80211_BAND_5GHZ,
> +					 NL80211_BAND_5GHZ,
>  					 false, false,
>  					 cfg->passive[1] + cfg->dfs,
>  					 wl->max_channels_5,
> diff --git a/drivers/net/wireless/ti/wlcore/tx.c b/drivers/net/wireless/ti/wlcore/tx.c
> index f0ac36139bcc..c1b8e4e9d70b 100644
> --- a/drivers/net/wireless/ti/wlcore/tx.c
> +++ b/drivers/net/wireless/ti/wlcore/tx.c
> @@ -453,7 +453,7 @@ static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  }
>  
>  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;
> diff --git a/drivers/net/wireless/ti/wlcore/tx.h b/drivers/net/wireless/ti/wlcore/tx.h
> index 79cb3ff8b71f..e2ba62d92d7a 100644
> --- a/drivers/net/wireless/ti/wlcore/tx.h
> +++ b/drivers/net/wireless/ti/wlcore/tx.h
> @@ -246,9 +246,9 @@ int wlcore_tx_complete(struct wl1271 *wl);
>  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);
> diff --git a/drivers/net/wireless/ti/wlcore/wlcore.h b/drivers/net/wireless/ti/wlcore/wlcore.h
> index 72c31a8edcfb..8f28aa02230c 100644
> --- a/drivers/net/wireless/ti/wlcore/wlcore.h
> +++ b/drivers/net/wireless/ti/wlcore/wlcore.h
> @@ -342,7 +342,7 @@ struct wl1271 {
>  	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;
> @@ -517,7 +517,7 @@ void wlcore_update_inconn_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif,
>  			      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));
> diff --git a/drivers/net/wireless/ti/wlcore/wlcore_i.h b/drivers/net/wireless/ti/wlcore/wlcore_i.h
> index 27c56876b2c1..5c4199f3a19a 100644
> --- a/drivers/net/wireless/ti/wlcore/wlcore_i.h
> +++ b/drivers/net/wireless/ti/wlcore/wlcore_i.h
> @@ -392,7 +392,7 @@ struct wl12xx_vif {
>  	u8 ssid_len;
>  
>  	/* The current band */
> -	enum ieee80211_band band;
> +	enum nl80211_band band;
>  	int channel;
>  	enum nl80211_channel_type channel_type;
>  
> diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c
> index d5c371d77ddf..99de07d14939 100644
> --- a/drivers/net/wireless/wl3501_cs.c
> +++ b/drivers/net/wireless/wl3501_cs.c
> @@ -1454,7 +1454,7 @@ static int wl3501_get_freq(struct net_device *dev, struct iw_request_info *info,
>  	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;
>  }
> diff --git a/drivers/net/wireless/zydas/zd1211rw/zd_mac.c b/drivers/net/wireless/zydas/zd1211rw/zd_mac.c
> index e539d9b1b562..3e37a045f702 100644
> --- a/drivers/net/wireless/zydas/zd1211rw/zd_mac.c
> +++ b/drivers/net/wireless/zydas/zd1211rw/zd_mac.c
> @@ -1068,7 +1068,7 @@ int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length)
>  	}
>  
>  	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);
> @@ -1395,7 +1395,7 @@ struct ieee80211_hw *zd_mac_alloc_hw(struct usb_interface *intf)
>  	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);
> diff --git a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
> index f4fff385aeb2..7dd1540ebedd 100644
> --- a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
> +++ b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
> @@ -2113,10 +2113,10 @@ static int on_action_public23a(struct rtw_adapter *padapter,
>  
>  	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))
> diff --git a/drivers/staging/rtl8723au/include/ieee80211.h b/drivers/staging/rtl8723au/include/ieee80211.h
> index 3aa40a32555e..634102e1bda6 100644
> --- a/drivers/staging/rtl8723au/include/ieee80211.h
> +++ b/drivers/staging/rtl8723au/include/ieee80211.h
> @@ -266,7 +266,7 @@ join_res:
>  
>  /* 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;
> diff --git a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
> index 12d18440e824..0da559d929bc 100644
> --- a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
> +++ b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
> @@ -39,7 +39,7 @@ static const u32 rtw_cipher_suites[] = {
>  }
>  
>  #define CHAN2G(_channel, _freq, _flags) {			\
> -	.band			= IEEE80211_BAND_2GHZ,		\
> +	.band			= NL80211_BAND_2GHZ,		\
>  	.center_freq		= (_freq),			\
>  	.hw_value		= (_channel),			\
>  	.flags			= (_flags),			\
> @@ -48,7 +48,7 @@ static const u32 rtw_cipher_suites[] = {
>  }
>  
>  #define CHAN5G(_channel, _flags) {				\
> -	.band			= IEEE80211_BAND_5GHZ,		\
> +	.band			= NL80211_BAND_5GHZ,		\
>  	.center_freq		= 5000 + (5 * (_channel)),	\
>  	.hw_value		= (_channel),			\
>  	.flags			= (_flags),			\
> @@ -143,15 +143,15 @@ static void rtw_5g_rates_init(struct ieee80211_rate *rates)
>  }
>  
>  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 {
> @@ -176,10 +176,10 @@ rtw_spt_band_alloc(enum ieee80211_band band)
>  	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);
>  	}
> @@ -257,10 +257,10 @@ static int rtw_cfg80211_inform_bss(struct rtw_adapter *padapter,
>  	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);
>  
> @@ -322,11 +322,11 @@ void rtw_cfg80211_indicate_connect(struct rtw_adapter *padapter)
>  		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);
>  
> @@ -2360,10 +2360,10 @@ void rtw_cfg80211_indicate_sta_assoc(struct rtw_adapter *padapter,
>  	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);
> @@ -2392,10 +2392,10 @@ void rtw_cfg80211_indicate_sta_disassoc(struct rtw_adapter *padapter,
>  	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);
> @@ -3109,7 +3109,7 @@ static struct cfg80211_ops rtw_cfg80211_ops = {
>  };
>  
>  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 */
> @@ -3133,7 +3133,7 @@ static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap,
>  	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
> @@ -3173,19 +3173,19 @@ void rtw_cfg80211_init_wiphy(struct rtw_adapter *padapter)
>  
>  	/* 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);
>  	}
>  }
> @@ -3224,11 +3224,11 @@ static void rtw_cfg80211_preinit_wiphy(struct rtw_adapter *padapter,
>  	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;
> @@ -3313,8 +3313,8 @@ void rtw_wdev_free(struct wireless_dev *wdev)
>  	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);
>  
> diff --git a/drivers/staging/vt6655/channel.c b/drivers/staging/vt6655/channel.c
> index 9ac1ef9d0d51..b7d43a5622ba 100644
> --- a/drivers/staging/vt6655/channel.c
> +++ b/drivers/staging/vt6655/channel.c
> @@ -144,7 +144,7 @@ void vnt_init_bands(struct vnt_private *priv)
>  			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:
> @@ -159,7 +159,7 @@ void vnt_init_bands(struct vnt_private *priv)
>  			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;
>  	}
> diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c
> index c3eea07ca97e..494164045a0f 100644
> --- a/drivers/staging/vt6655/device_main.c
> +++ b/drivers/staging/vt6655/device_main.c
> @@ -812,7 +812,7 @@ static int vnt_int_report_rate(struct vnt_private *priv,
>  		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;
> @@ -1290,7 +1290,7 @@ static int vnt_config(struct ieee80211_hw *hw, u32 changed)
>  	    (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;
> diff --git a/drivers/staging/vt6655/rxtx.c b/drivers/staging/vt6655/rxtx.c
> index 1a2dda09b69d..e4c3165ae027 100644
> --- a/drivers/staging/vt6655/rxtx.c
> +++ b/drivers/staging/vt6655/rxtx.c
> @@ -1307,7 +1307,7 @@ int vnt_generate_fifo_header(struct vnt_private *priv, u32 dma_idx,
>  	}
>  
>  	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)
> diff --git a/drivers/staging/vt6656/channel.c b/drivers/staging/vt6656/channel.c
> index a0fe288c1322..a4299f405d7f 100644
> --- a/drivers/staging/vt6656/channel.c
> +++ b/drivers/staging/vt6656/channel.c
> @@ -153,7 +153,7 @@ void vnt_init_bands(struct vnt_private *priv)
>  			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:
> @@ -167,7 +167,7 @@ void vnt_init_bands(struct vnt_private *priv)
>  			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;
>  	}
> diff --git a/drivers/staging/vt6656/int.c b/drivers/staging/vt6656/int.c
> index 8d05acbc0e23..73538fb4e4e2 100644
> --- a/drivers/staging/vt6656/int.c
> +++ b/drivers/staging/vt6656/int.c
> @@ -97,7 +97,7 @@ static int vnt_int_report_rate(struct vnt_private *priv, u8 pkt_no, u8 tsr)
>  		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;
> diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
> index f9afab77b79f..fc5fe4ec6d05 100644
> --- a/drivers/staging/vt6656/main_usb.c
> +++ b/drivers/staging/vt6656/main_usb.c
> @@ -662,7 +662,7 @@ static int vnt_config(struct ieee80211_hw *hw, u32 changed)
>  			(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;
> diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c
> index b74e32001318..aa59e7f14ab3 100644
> --- a/drivers/staging/vt6656/rxtx.c
> +++ b/drivers/staging/vt6656/rxtx.c
> @@ -813,7 +813,7 @@ int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb)
>  	}
>  
>  	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)
> diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
> index 448a5c8c4514..544917d8b2df 100644
> --- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
> +++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
> @@ -102,7 +102,7 @@ static u8 op_ifcs;
>  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),		 \
> @@ -241,7 +241,7 @@ static void refresh_scan(void *user_void, u8 all, bool direct_scan)
>  			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);
> @@ -409,7 +409,7 @@ static void CfgScanResult(enum scan_event scan_event,
>  				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)
> @@ -1451,7 +1451,7 @@ void WILC_WFI_p2p_rx(struct net_device *dev, u8 *buff, u32 size)
>  			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)) {
> @@ -2246,7 +2246,7 @@ static struct wireless_dev *WILC_WFI_CfgAlloc(void)
>  	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;
>  
> diff --git a/drivers/staging/wlan-ng/cfg80211.c b/drivers/staging/wlan-ng/cfg80211.c
> index 8bad018eda47..2438cf7cc695 100644
> --- a/drivers/staging/wlan-ng/cfg80211.c
> +++ b/drivers/staging/wlan-ng/cfg80211.c
> @@ -415,7 +415,7 @@ static int prism2_scan(struct wiphy *wiphy,
>  		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,
> @@ -758,9 +758,9 @@ static struct wiphy *wlan_create_wiphy(struct device *dev, wlandevice_t *wlandev
>  	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;
> diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
> index 5ec20369ceb8..183916e168f1 100644
> --- a/include/net/cfg80211.h
> +++ b/include/net/cfg80211.h
> @@ -68,26 +68,6 @@ struct wiphy;
>   */
>  
>  /**
> - * 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
>   *
>   * Channel flags set by the regulatory control code.
> @@ -167,7 +147,7 @@ enum ieee80211_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;
> @@ -324,7 +304,7 @@ struct ieee80211_sta_vht_cap {
>  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;
> @@ -1370,7 +1350,7 @@ struct mesh_setup {
>  	bool user_mpm;
>  	u8 dtim_period;
>  	u16 beacon_interval;
> -	int mcast_rate[IEEE80211_NUM_BANDS];
> +	int mcast_rate[NUM_NL80211_BANDS];
>  	u32 basic_rates;
>  };
>  
> @@ -1468,7 +1448,7 @@ struct cfg80211_scan_request {
>  	size_t ie_len;
>  	u32 flags;
>  
> -	u32 rates[IEEE80211_NUM_BANDS];
> +	u32 rates[NUM_NL80211_BANDS];
>  
>  	struct wireless_dev *wdev;
>  
> @@ -1860,7 +1840,7 @@ struct cfg80211_ibss_params {
>  	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;
>  };
> @@ -1872,7 +1852,7 @@ struct cfg80211_ibss_params {
>   * @delta: value of RSSI level adjustment.
>   */
>  struct cfg80211_bss_select_adjust {
> -	enum ieee80211_band band;
> +	enum nl80211_band band;
>  	s8 delta;
>  };
>  
> @@ -1887,7 +1867,7 @@ struct cfg80211_bss_select_adjust {
>  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;
>  };
> @@ -1990,7 +1970,7 @@ struct cfg80211_bitrate_mask {
>  		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
> @@ -2677,7 +2657,7 @@ struct cfg80211_ops {
>  	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);
>  
> @@ -3323,7 +3303,7 @@ struct wiphy {
>  	 * 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,
> @@ -3658,7 +3638,7 @@ static inline void *wdev_priv(struct wireless_dev *wdev)
>   * @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
> @@ -5089,7 +5069,7 @@ void cfg80211_ch_switch_started_notify(struct net_device *dev,
>   * 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
> diff --git a/include/net/mac80211.h b/include/net/mac80211.h
> index ebc5a408acc2..07ef9378df2b 100644
> --- a/include/net/mac80211.h
> +++ b/include/net/mac80211.h
> @@ -549,7 +549,7 @@ struct ieee80211_bss_conf {
>  	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;
> @@ -938,8 +938,8 @@ struct ieee80211_tx_info {
>   * @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;
>  };
> @@ -1754,7 +1754,7 @@ struct ieee80211_sta_rates {
>   * @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;
> @@ -4404,7 +4404,7 @@ __le16 ieee80211_ctstoself_duration(struct ieee80211_hw *hw,
>   */
>  __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);
>  
> @@ -5357,7 +5357,7 @@ struct rate_control_ops {
>  };
>  
>  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));
> diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
> index b4606288ef7a..1df655d8aa52 100644
> --- a/include/uapi/linux/nl80211.h
> +++ b/include/uapi/linux/nl80211.h
> @@ -3653,11 +3653,15 @@ enum nl80211_txrate_gi {
>   * @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,
>  };
>  
>  /**
> diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
> index fc4730b938d0..0c12e4001f19 100644
> --- a/net/mac80211/cfg.c
> +++ b/net/mac80211/cfg.c
> @@ -1049,7 +1049,7 @@ static int sta_apply_parameters(struct ieee80211_local *local,
>  	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];
> @@ -1848,7 +1848,7 @@ static int ieee80211_change_bss(struct wiphy *wiphy,
>  				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))
> @@ -1867,7 +1867,7 @@ static int ieee80211_change_bss(struct wiphy *wiphy,
>  	}
>  
>  	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;
>  	}
> @@ -2097,12 +2097,12 @@ static int ieee80211_leave_ocb(struct wiphy *wiphy, struct net_device *dev)
>  }
>  
>  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;
>  }
> @@ -2507,7 +2507,7 @@ static int ieee80211_set_bitrate_mask(struct wiphy *wiphy,
>  			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;
>  
> @@ -3135,7 +3135,7 @@ static int ieee80211_probe_client(struct wiphy *wiphy, struct net_device *dev,
>  	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 */
> diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c
> index 37ea30e0754c..a5ba739cd2a7 100644
> --- a/net/mac80211/debugfs_netdev.c
> +++ b/net/mac80211/debugfs_netdev.c
> @@ -169,21 +169,21 @@ static ssize_t ieee80211_if_write_##name(struct file *file,		\
>  	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]);
> @@ -199,7 +199,7 @@ static ssize_t ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_5ghz(
>  				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]);
> diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
> index c6d4b75eb60b..a31d30713d08 100644
> --- a/net/mac80211/ibss.c
> +++ b/net/mac80211/ibss.c
> @@ -126,7 +126,7 @@ ieee80211_ibss_build_presp(struct ieee80211_sub_if_data *sdata,
>  		}
>  	}
>  
> -	if (sband->band == IEEE80211_BAND_2GHZ) {
> +	if (sband->band == NL80211_BAND_2GHZ) {
>  		*pos++ = WLAN_EID_DS_PARAMS;
>  		*pos++ = 1;
>  		*pos++ = ieee80211_frequency_to_channel(
> @@ -348,11 +348,11 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
>  	 *
>  	 * 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;
> @@ -989,7 +989,7 @@ static void ieee80211_update_sta_info(struct ieee80211_sub_if_data *sdata,
>  				      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];
> @@ -1109,7 +1109,7 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
>  	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)
> diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
> index 8857b01b82d0..9438c9406687 100644
> --- a/net/mac80211/ieee80211_i.h
> +++ b/net/mac80211/ieee80211_i.h
> @@ -896,13 +896,13 @@ struct ieee80211_sub_if_data {
>  	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;
> @@ -957,10 +957,10 @@ sdata_assert_lock(struct ieee80211_sub_if_data *sdata)
>  	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();
> @@ -1231,7 +1231,7 @@ struct ieee80211_local {
>  	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;
> @@ -1738,10 +1738,10 @@ void ieee80211_process_mu_groups(struct ieee80211_sub_if_data *sdata,
>  				 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,
> @@ -1769,7 +1769,7 @@ void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata,
>   */
>  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);
>  
> @@ -1794,7 +1794,7 @@ static inline int __ieee80211_resume(struct ieee80211_hw *hw)
>  
>  /* 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,
> @@ -1804,12 +1804,12 @@ void ieee80211_xmit(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);
> @@ -1964,7 +1964,7 @@ void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata,
>  
>  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,
> @@ -1987,10 +1987,10 @@ int ieee80211_parse_bitrates(struct cfg80211_chan_def *chandef,
>  			     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 */
> diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
> index 097ece8b5c02..6a33f0b4d839 100644
> --- a/net/mac80211/iface.c
> +++ b/net/mac80211/iface.c
> @@ -1800,7 +1800,7 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name,
>  	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] =
> diff --git a/net/mac80211/main.c b/net/mac80211/main.c
> index 33c80de61eca..7ee91d6151d1 100644
> --- a/net/mac80211/main.c
> +++ b/net/mac80211/main.c
> @@ -801,7 +801,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
>  {
>  	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;
> @@ -874,7 +874,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
>  	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];
> @@ -936,7 +936,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
>  	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;
> diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
> index dcc1facc807c..4c6404e1ad6e 100644
> --- a/net/mac80211/mesh.c
> +++ b/net/mac80211/mesh.c
> @@ -415,7 +415,7 @@ int mesh_add_ht_cap_ie(struct ieee80211_sub_if_data *sdata,
>  		       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;
>  
> @@ -478,7 +478,7 @@ int mesh_add_vht_cap_ie(struct ieee80211_sub_if_data *sdata,
>  			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;
>  
> @@ -680,7 +680,7 @@ ieee80211_mesh_build_beacon(struct ieee80211_if_mesh *ifmsh)
>  	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) +
> @@ -930,7 +930,7 @@ ieee80211_mesh_process_chnswitch(struct ieee80211_sub_if_data *sdata,
>  	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;
>  
> @@ -1084,7 +1084,7 @@ static void ieee80211_mesh_rx_bcn_presp(struct ieee80211_sub_if_data *sdata,
>  	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 &&
> diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
> index 563bea050383..79f2a0a13db8 100644
> --- a/net/mac80211/mesh_plink.c
> +++ b/net/mac80211/mesh_plink.c
> @@ -93,18 +93,18 @@ static inline void mesh_plink_fsm_restart(struct sta_info *sta)
>  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++)
> @@ -247,7 +247,7 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
>  	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);
> @@ -385,7 +385,7 @@ static void mesh_sta_info_init(struct ieee80211_sub_if_data *sdata,
>  			       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;
> diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
> index d3c75ac8a029..885f4ca0888d 100644
> --- a/net/mac80211/mlme.c
> +++ b/net/mac80211/mlme.c
> @@ -661,7 +661,7 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
>  
>  	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;
>  	}
> @@ -1100,7 +1100,7 @@ ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
>  	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;
> @@ -1257,11 +1257,11 @@ ieee80211_find_80211h_pwr_constr(struct ieee80211_sub_if_data *sdata,
>  	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;
>  	}
> @@ -1861,7 +1861,7 @@ static u32 ieee80211_handle_bss_capability(struct ieee80211_sub_if_data *sdata,
>  	}
>  
>  	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) {
> @@ -4375,7 +4375,7 @@ static int ieee80211_prep_connection(struct ieee80211_sub_if_data *sdata,
>  		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
> diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
> index a4e2f4e67f94..206698bc93f4 100644
> --- a/net/mac80211/rate.c
> +++ b/net/mac80211/rate.c
> @@ -287,7 +287,7 @@ static void __rate_control_send_low(struct ieee80211_hw *hw,
>  	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;
>  
> diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c
> index b54f398cda5d..14c5ba3a1b1c 100644
> --- a/net/mac80211/rc80211_minstrel.c
> +++ b/net/mac80211/rc80211_minstrel.c
> @@ -436,7 +436,7 @@ minstrel_get_rate(void *priv, struct ieee80211_sta *sta,
>  
>  
>  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)
> @@ -579,7 +579,7 @@ minstrel_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp)
>  	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;
> @@ -621,7 +621,7 @@ minstrel_init_cck_rates(struct minstrel_priv *mp)
>  	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;
>  
> diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
> index d77a9a842338..30fbabf4bcbc 100644
> --- a/net/mac80211/rc80211_minstrel_ht.c
> +++ b/net/mac80211/rc80211_minstrel_ht.c
> @@ -1137,7 +1137,7 @@ minstrel_ht_update_cck(struct minstrel_priv *mp, struct minstrel_ht_sta *mi,
>  {
>  	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))
> @@ -1335,7 +1335,7 @@ minstrel_ht_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp)
>  	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;
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index c2b659e9a9f9..c5678703921e 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -322,7 +322,7 @@ ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
>  	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;
> @@ -2823,7 +2823,7 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
>  
>  		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 +
> @@ -4043,7 +4043,7 @@ void ieee80211_rx_napi(struct ieee80211_hw *hw, struct ieee80211_sta *pubsta,
>  
>  	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];
> diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
> index 41aa728e5468..f9648ef9e31f 100644
> --- a/net/mac80211/scan.c
> +++ b/net/mac80211/scan.c
> @@ -272,7 +272,7 @@ static bool ieee80211_prep_hw_scan(struct ieee80211_local *local)
>  		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;
> @@ -485,7 +485,7 @@ static void ieee80211_scan_state_send_probe(struct ieee80211_local *local,
>  	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,
> @@ -953,7 +953,7 @@ int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata,
>  {
>  	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);
>  
> @@ -965,7 +965,7 @@ int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata,
>  	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;
>  
> @@ -1085,7 +1085,7 @@ int __ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
>  	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;
> @@ -1097,7 +1097,7 @@ int __ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
>  	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;
> diff --git a/net/mac80211/spectmgmt.c b/net/mac80211/spectmgmt.c
> index 06e6ac8cc693..2ddc661f0988 100644
> --- a/net/mac80211/spectmgmt.c
> +++ b/net/mac80211/spectmgmt.c
> @@ -23,11 +23,11 @@
>  
>  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;
> diff --git a/net/mac80211/tdls.c b/net/mac80211/tdls.c
> index a29ea813b7d5..1c7d45a6d93e 100644
> --- a/net/mac80211/tdls.c
> +++ b/net/mac80211/tdls.c
> @@ -47,7 +47,7 @@ static void ieee80211_tdls_add_ext_capab(struct ieee80211_sub_if_data *sdata,
>  			   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);
> @@ -184,7 +184,7 @@ static u16 ieee80211_get_tdls_sta_capab(struct ieee80211_sub_if_data *sdata,
>  	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;
>  	}
> @@ -357,7 +357,7 @@ ieee80211_tdls_add_setup_start_ies(struct ieee80211_sub_if_data *sdata,
>  				   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;
> @@ -544,7 +544,7 @@ ieee80211_tdls_add_setup_cfm_ies(struct ieee80211_sub_if_data *sdata,
>  	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);
> @@ -611,7 +611,7 @@ ieee80211_tdls_add_setup_cfm_ies(struct ieee80211_sub_if_data *sdata,
>  	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
> @@ -1773,7 +1773,7 @@ ieee80211_process_tdls_channel_switch_req(struct ieee80211_sub_if_data *sdata,
>  	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);
> @@ -1805,10 +1805,10 @@ ieee80211_process_tdls_channel_switch_req(struct ieee80211_sub_if_data *sdata,
>  	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) {
> diff --git a/net/mac80211/trace.h b/net/mac80211/trace.h
> index 8c3b7ae103bc..77e4c53baefb 100644
> --- a/net/mac80211/trace.h
> +++ b/net/mac80211/trace.h
> @@ -401,7 +401,7 @@ TRACE_EVENT(drv_bss_info_changed,
>  		__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);
> @@ -1265,8 +1265,8 @@ TRACE_EVENT(drv_set_bitrate_mask,
>  	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(
> diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
> index e04d850726c5..203044379ce0 100644
> --- a/net/mac80211/tx.c
> +++ b/net/mac80211/tx.c
> @@ -150,7 +150,7 @@ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx,
>  			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;
> @@ -160,13 +160,13 @@ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx,
>  				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;
>  		}
> @@ -2138,7 +2138,7 @@ static struct sk_buff *ieee80211_build_hdr(struct ieee80211_sub_if_data *sdata,
>  	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))
> @@ -3597,7 +3597,7 @@ __ieee80211_beacon_get(struct ieee80211_hw *hw,
>  	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;
> @@ -4165,7 +4165,7 @@ EXPORT_SYMBOL(ieee80211_unreserve_tid);
>  
>  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];
>  
> diff --git a/net/mac80211/util.c b/net/mac80211/util.c
> index 0319d6d4f863..905003f75c4d 100644
> --- a/net/mac80211/util.c
> +++ b/net/mac80211/util.c
> @@ -59,7 +59,7 @@ void ieee80211_tx_set_protected(struct ieee80211_tx_data *tx)
>  	}
>  }
>  
> -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)
>  {
> @@ -77,7 +77,7 @@ int ieee80211_frame_duration(enum ieee80211_band band, size_t len,
>  	 * is assumed to be 0 otherwise.
>  	 */
>  
> -	if (band == IEEE80211_BAND_5GHZ || erp) {
> +	if (band == NL80211_BAND_5GHZ || erp) {
>  		/*
>  		 * OFDM:
>  		 *
> @@ -129,7 +129,7 @@ int ieee80211_frame_duration(enum ieee80211_band band, size_t len,
>  /* 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)
>  {
> @@ -1129,7 +1129,7 @@ void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata,
>  	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();
>  
> @@ -1301,7 +1301,7 @@ void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata,
>  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)
> @@ -1375,7 +1375,7 @@ static int ieee80211_build_preq_ies_band(struct ieee80211_local *local,
>  		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;
> @@ -1479,7 +1479,7 @@ int ieee80211_build_preq_ies(struct ieee80211_local *local, u8 *buffer,
>  
>  	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,
> @@ -1522,7 +1522,7 @@ struct sk_buff *ieee80211_build_probe_req(struct ieee80211_sub_if_data *sdata,
>  	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;
>  
>  	/*
> @@ -1582,7 +1582,7 @@ void ieee80211_send_probe_req(struct ieee80211_sub_if_data *sdata,
>  
>  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;
> @@ -2520,7 +2520,7 @@ int ieee80211_parse_bitrates(struct cfg80211_chan_def *chandef,
>  
>  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;
> @@ -2565,7 +2565,7 @@ int ieee80211_add_srates_ie(struct ieee80211_sub_if_data *sdata,
>  
>  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;
> @@ -2711,7 +2711,7 @@ u64 ieee80211_calculate_rx_timestamp(struct ieee80211_local *local,
>  
>  		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) {
> diff --git a/net/mac80211/vht.c b/net/mac80211/vht.c
> index e590e2ef9eaf..ee715764a828 100644
> --- a/net/mac80211/vht.c
> +++ b/net/mac80211/vht.c
> @@ -418,7 +418,7 @@ void ieee80211_sta_set_rx_nss(struct sta_info *sta)
>  
>  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;
> @@ -504,7 +504,7 @@ EXPORT_SYMBOL_GPL(ieee80211_update_mu_groups);
>  
>  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];
> diff --git a/net/wireless/chan.c b/net/wireless/chan.c
> index 59cabc9bce69..a6631fb319c1 100644
> --- a/net/wireless/chan.c
> +++ b/net/wireless/chan.c
> @@ -768,7 +768,7 @@ static bool cfg80211_ir_permissive_chan(struct wiphy *wiphy,
>  		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);
> diff --git a/net/wireless/core.c b/net/wireless/core.c
> index 5327e4b974fa..7f7b9409bf4c 100644
> --- a/net/wireless/core.c
> +++ b/net/wireless/core.c
> @@ -557,7 +557,7 @@ int wiphy_register(struct wiphy *wiphy)
>  {
>  	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;
> @@ -647,7 +647,7 @@ int wiphy_register(struct wiphy *wiphy)
>  		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;
> @@ -659,7 +659,7 @@ int wiphy_register(struct wiphy *wiphy)
>  		 * 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;
>  
> @@ -669,7 +669,7 @@ int wiphy_register(struct wiphy *wiphy)
>  		 * 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;
> diff --git a/net/wireless/debugfs.c b/net/wireless/debugfs.c
> index 454157717efa..5d453916a417 100644
> --- a/net/wireless/debugfs.c
> +++ b/net/wireless/debugfs.c
> @@ -69,7 +69,7 @@ static ssize_t ht40allow_map_read(struct file *file,
>  	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);
> @@ -78,7 +78,7 @@ static ssize_t ht40allow_map_read(struct file *file,
>  
>  	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;
> diff --git a/net/wireless/ibss.c b/net/wireless/ibss.c
> index 4c55fab9b4e4..4a4dda53bdf1 100644
> --- a/net/wireless/ibss.c
> +++ b/net/wireless/ibss.c
> @@ -104,7 +104,7 @@ static int __cfg80211_join_ibss(struct cfg80211_registered_device *rdev,
>  		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;
>  
> @@ -236,7 +236,7 @@ int cfg80211_ibss_wext_join(struct cfg80211_registered_device *rdev,
>  			    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);
> @@ -248,7 +248,7 @@ int cfg80211_ibss_wext_join(struct cfg80211_registered_device *rdev,
>  	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;
>  
> diff --git a/net/wireless/mesh.c b/net/wireless/mesh.c
> index 092300b30c37..fa2066b56f36 100644
> --- a/net/wireless/mesh.c
> +++ b/net/wireless/mesh.c
> @@ -128,9 +128,9 @@ int __cfg80211_join_mesh(struct cfg80211_registered_device *rdev,
>  
>  	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;
> diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
> index ff328250bc44..c284d883c349 100644
> --- a/net/wireless/mlme.c
> +++ b/net/wireless/mlme.c
> @@ -726,7 +726,7 @@ void cfg80211_dfs_channels_update_work(struct work_struct *work)
>  	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;
> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
> index 4f45a2913104..13ef553b99d4 100644
> --- a/net/wireless/nl80211.c
> +++ b/net/wireless/nl80211.c
> @@ -1277,7 +1277,7 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
>  	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 =
> @@ -1410,7 +1410,7 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
>  			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];
> @@ -1472,7 +1472,7 @@ static int nl80211_send_wiphy(struct cfg80211_registered_device *rdev,
>  		}
>  		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;
> @@ -3493,7 +3493,7 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
>  	}
>  
>  	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);
> @@ -5821,9 +5821,9 @@ static int validate_scan_freqs(struct nlattr *freqs)
>  	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,
> @@ -6018,10 +6018,10 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
>  			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;
> @@ -6066,7 +6066,7 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
>  		       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;
> @@ -6075,9 +6075,9 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
>  		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;
>  			}
> @@ -6265,7 +6265,7 @@ nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev,
>  	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;
> @@ -6430,7 +6430,7 @@ nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev,
>  		}
>  	} 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;
> @@ -7538,14 +7538,14 @@ static int nl80211_disassociate(struct sk_buff *skb, struct genl_info *info)
>  
>  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];
> @@ -7725,7 +7725,7 @@ static int nl80211_set_mcast_rate(struct sk_buff *skb, struct genl_info *info)
>  {
>  	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;
>  
> @@ -8130,7 +8130,7 @@ static int nl80211_connect(struct sk_buff *skb, struct genl_info *info)
>  	}
>  
>  	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;
>  	}
> @@ -8550,7 +8550,7 @@ static int nl80211_set_tx_bitrate_mask(struct sk_buff *skb,
>  
>  	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)
> @@ -8574,14 +8574,14 @@ static int nl80211_set_tx_bitrate_mask(struct sk_buff *skb,
>  
>  	/*
>  	 * 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)
> @@ -10746,7 +10746,7 @@ static int nl80211_tdls_channel_switch(struct sk_buff *skb,
>  	 * 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;
> diff --git a/net/wireless/rdev-ops.h b/net/wireless/rdev-ops.h
> index 8ae0c04f9fc7..85ff30bee2b9 100644
> --- a/net/wireless/rdev-ops.h
> +++ b/net/wireless/rdev-ops.h
> @@ -1048,7 +1048,7 @@ rdev_start_radar_detection(struct cfg80211_registered_device *rdev,
>  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;
>  
> diff --git a/net/wireless/reg.c b/net/wireless/reg.c
> index c5fb317eee68..e271dea6bc02 100644
> --- a/net/wireless/reg.c
> +++ b/net/wireless/reg.c
> @@ -1546,12 +1546,12 @@ static void reg_process_ht_flags_band(struct wiphy *wiphy,
>  
>  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]);
>  }
>  
> @@ -1673,7 +1673,7 @@ static void reg_check_channels(void)
>  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)) {
> @@ -1690,7 +1690,7 @@ static void wiphy_update_regulatory(struct wiphy *wiphy,
>  
>  	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);
> @@ -1786,14 +1786,14 @@ static void handle_band_custom(struct wiphy *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);
> @@ -2228,7 +2228,7 @@ static void reg_process_self_managed_hints(void)
>  	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) {
> @@ -2246,7 +2246,7 @@ static void reg_process_self_managed_hints(void)
>  		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);
> @@ -2404,7 +2404,7 @@ int regulatory_hint(struct wiphy *wiphy, const char *alpha2)
>  }
>  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];
> @@ -2504,11 +2504,11 @@ static void restore_alpha2(char *alpha2, bool reset_user)
>  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;
> @@ -2623,9 +2623,9 @@ void regulatory_hint_disconnect(void)
>  
>  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;
>  }
> @@ -2650,7 +2650,7 @@ int regulatory_hint_found_beacon(struct wiphy *wiphy,
>  
>  	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;
>  
> diff --git a/net/wireless/reg.h b/net/wireless/reg.h
> index 9f495d76eca0..f6ced316b5a4 100644
> --- a/net/wireless/reg.h
> +++ b/net/wireless/reg.h
> @@ -104,7 +104,7 @@ int regulatory_hint_found_beacon(struct wiphy *wiphy,
>   * 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);
>  
> diff --git a/net/wireless/scan.c b/net/wireless/scan.c
> index 50ea8e3fcbeb..abdf651a70d9 100644
> --- a/net/wireless/scan.c
> +++ b/net/wireless/scan.c
> @@ -531,7 +531,7 @@ static int cmp_bss(struct cfg80211_bss *a,
>  }
>  
>  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;
> @@ -540,7 +540,7 @@ static bool cfg80211_bss_type_match(u16 capability,
>  	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:
> @@ -1006,7 +1006,7 @@ cfg80211_inform_bss_data(struct wiphy *wiphy,
>  	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)
> @@ -1089,7 +1089,7 @@ cfg80211_inform_bss_frame_data(struct wiphy *wiphy,
>  	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)
> @@ -1185,7 +1185,7 @@ int cfg80211_wext_siwscan(struct net_device *dev,
>  	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;
> @@ -1229,7 +1229,7 @@ int cfg80211_wext_siwscan(struct net_device *dev,
>  
>  	/* 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])
> @@ -1289,7 +1289,7 @@ int cfg80211_wext_siwscan(struct net_device *dev,
>  			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;
>  
> diff --git a/net/wireless/sme.c b/net/wireless/sme.c
> index 1fba41676428..e22e5b83cfa9 100644
> --- a/net/wireless/sme.c
> +++ b/net/wireless/sme.c
> @@ -81,7 +81,7 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev)
>  		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];
>  
> @@ -93,11 +93,11 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev)
>  		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;
> diff --git a/net/wireless/trace.h b/net/wireless/trace.h
> index 8da1fae23cfb..3c1091ae6c36 100644
> --- a/net/wireless/trace.h
> +++ b/net/wireless/trace.h
> @@ -110,7 +110,7 @@
>  				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 {							  \
> @@ -125,7 +125,7 @@
>  #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)			\
> @@ -2647,7 +2647,7 @@ TRACE_EVENT(cfg80211_scan_done,
>  	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)
> @@ -2658,7 +2658,7 @@ TRACE_EVENT(cfg80211_scan_done,
>  			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)
> @@ -2883,25 +2883,25 @@ TRACE_EVENT(rdev_start_radar_detection,
>  
>  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,
> diff --git a/net/wireless/util.c b/net/wireless/util.c
> index 9f440a9de63b..f36039888eb5 100644
> --- a/net/wireless/util.c
> +++ b/net/wireless/util.c
> @@ -47,7 +47,7 @@ u32 ieee80211_mandatory_rates(struct ieee80211_supported_band *sband,
>  	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;
> @@ -65,26 +65,26 @@ u32 ieee80211_mandatory_rates(struct ieee80211_supported_band *sband,
>  }
>  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;
> @@ -116,11 +116,11 @@ EXPORT_SYMBOL(ieee80211_frequency_to_channel);
>  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)
> @@ -137,12 +137,12 @@ struct ieee80211_channel *__ieee80211_get_channel(struct wiphy *wiphy,
>  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 ||
> @@ -155,7 +155,7 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband,
>  		}
>  		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) {
> @@ -185,12 +185,12 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband,
>  		}
>  		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;
>  	}
> @@ -198,9 +198,9 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband,
>  
>  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);
>  }
> @@ -1399,22 +1399,22 @@ size_t ieee80211_ie_split_ric(const u8 *ies, size_t ielen,
>  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;
>  	}
>  
> @@ -1726,10 +1726,10 @@ int ieee80211_get_ratemask(struct ieee80211_supported_band *sband,
>  
>  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;
>  
> diff --git a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c
> index fd682832a0e3..4c89f0ca61ba 100644
> --- a/net/wireless/wext-compat.c
> +++ b/net/wireless/wext-compat.c
> @@ -32,13 +32,13 @@ int cfg80211_wext_giwname(struct net_device *dev,
>  	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 */
> @@ -143,7 +143,7 @@ int cfg80211_wext_giwrange(struct net_device *dev,
>  {
>  	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)
> @@ -215,7 +215,7 @@ int cfg80211_wext_giwrange(struct net_device *dev,
>  		}
>  	}
>  
> -	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];
> @@ -265,11 +265,11 @@ int cfg80211_wext_freq(struct iw_freq *freq)
>  	 * -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;
> @@ -1245,7 +1245,7 @@ static int cfg80211_wext_siwrate(struct net_device *dev,
>  		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;
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux