mac80211: remove HW_SIGNAL_DB
authorJohannes Berg <johannes@sipsolutions.net>
Fri, 30 Jan 2009 10:13:06 +0000 (11:13 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 9 Feb 2009 20:03:44 +0000 (15:03 -0500)
Giving the signal in dB isn't much more useful to userspace
than giving the signal in unspecified units. This removes
some radiotap information for zd1211 (the only driver using
this flag), but it helps a lot for getting cfg80211-based
scanning which won't support dB, and zd1211 being dB is a
little fishy anyway.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Bruno Randolf <bruno@thinktube.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/zd1211rw/zd_mac.c
include/net/mac80211.h
net/mac80211/main.c
net/mac80211/rx.c
net/mac80211/wext.c

index a611ad8579832ad3451faec3dac6b96a4355fa6c..651807dfb5081b708d4efd09993ab6d90036b6f7 100644 (file)
@@ -967,7 +967,7 @@ struct ieee80211_hw *zd_mac_alloc_hw(struct usb_interface *intf)
        hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &mac->band;
 
        hw->flags = IEEE80211_HW_RX_INCLUDES_FCS |
-                   IEEE80211_HW_SIGNAL_DB;
+                   IEEE80211_HW_SIGNAL_UNSPEC;
 
        hw->wiphy->interface_modes =
                BIT(NL80211_IFTYPE_MESH_POINT) |
index e2144f0e8728f8b872ed2c87c1f866671eb4d1b2..409e2c69269d30cd06658e2a1ff3e3fe29b60977 100644 (file)
@@ -860,11 +860,6 @@ enum ieee80211_tkip_key_type {
  *     expect values between 0 and @max_signal.
  *     If possible please provide dB or dBm instead.
  *
- * @IEEE80211_HW_SIGNAL_DB:
- *     Hardware gives signal values in dB, decibel difference from an
- *     arbitrary, fixed reference. We expect values between 0 and @max_signal.
- *     If possible please provide dBm instead.
- *
  * @IEEE80211_HW_SIGNAL_DBM:
  *     Hardware gives signal values in dBm, decibel difference from
  *     one milliwatt. This is the preferred method since it is standardized
@@ -900,15 +895,14 @@ enum ieee80211_hw_flags {
        IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE          = 1<<3,
        IEEE80211_HW_2GHZ_SHORT_PREAMBLE_INCAPABLE      = 1<<4,
        IEEE80211_HW_SIGNAL_UNSPEC                      = 1<<5,
-       IEEE80211_HW_SIGNAL_DB                          = 1<<6,
-       IEEE80211_HW_SIGNAL_DBM                         = 1<<7,
-       IEEE80211_HW_NOISE_DBM                          = 1<<8,
-       IEEE80211_HW_SPECTRUM_MGMT                      = 1<<9,
-       IEEE80211_HW_AMPDU_AGGREGATION                  = 1<<10,
-       IEEE80211_HW_SUPPORTS_PS                        = 1<<11,
-       IEEE80211_HW_PS_NULLFUNC_STACK                  = 1<<12,
-       IEEE80211_HW_SUPPORTS_DYNAMIC_PS                = 1<<13,
-       IEEE80211_HW_MFP_CAPABLE                        = 1<<14,
+       IEEE80211_HW_SIGNAL_DBM                         = 1<<6,
+       IEEE80211_HW_NOISE_DBM                          = 1<<7,
+       IEEE80211_HW_SPECTRUM_MGMT                      = 1<<8,
+       IEEE80211_HW_AMPDU_AGGREGATION                  = 1<<9,
+       IEEE80211_HW_SUPPORTS_PS                        = 1<<10,
+       IEEE80211_HW_PS_NULLFUNC_STACK                  = 1<<11,
+       IEEE80211_HW_SUPPORTS_DYNAMIC_PS                = 1<<12,
+       IEEE80211_HW_MFP_CAPABLE                        = 1<<13,
 };
 
 /**
index a109c06e8e4ec46f1951a2f011aa9fd3ecb20554..7247b303e96614ae3548abeeba4ea8840c311aca 100644 (file)
@@ -884,7 +884,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
        local->hw.conf.listen_interval = local->hw.max_listen_interval;
 
        local->wstats_flags |= local->hw.flags & (IEEE80211_HW_SIGNAL_UNSPEC |
-                                                 IEEE80211_HW_SIGNAL_DB |
                                                  IEEE80211_HW_SIGNAL_DBM) ?
                               IW_QUAL_QUAL_UPDATED : IW_QUAL_QUAL_INVALID;
        local->wstats_flags |= local->hw.flags & IEEE80211_HW_NOISE_DBM ?
index 1a59382976e6c5d4b1d0ebb8cf2ce589c4cefd60..8e8ddbfcd236e5591517d4ca9a7d1b84b252e647 100644 (file)
@@ -86,8 +86,7 @@ ieee80211_rx_radiotap_len(struct ieee80211_local *local,
 
        if (status->flag & RX_FLAG_TSFT)
                len += 8;
-       if (local->hw.flags & IEEE80211_HW_SIGNAL_DB ||
-           local->hw.flags & IEEE80211_HW_SIGNAL_DBM)
+       if (local->hw.flags & IEEE80211_HW_SIGNAL_DBM)
                len += 1;
        if (local->hw.flags & IEEE80211_HW_NOISE_DBM)
                len += 1;
@@ -199,14 +198,6 @@ ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
        *pos = status->antenna;
        pos++;
 
-       /* IEEE80211_RADIOTAP_DB_ANTSIGNAL */
-       if (local->hw.flags & IEEE80211_HW_SIGNAL_DB) {
-               *pos = status->signal;
-               rthdr->it_present |=
-                       cpu_to_le32(1 << IEEE80211_RADIOTAP_DB_ANTSIGNAL);
-               pos++;
-       }
-
        /* IEEE80211_RADIOTAP_DB_ANTNOISE is not used */
 
        /* IEEE80211_RADIOTAP_RX_FLAGS */
index 5c88b8246bbb0e0902052bb78baa80fed8cf9709..bad1cfbfdf1859211ab114e815b86a991db7fda5 100644 (file)
@@ -173,8 +173,7 @@ static int ieee80211_ioctl_giwrange(struct net_device *dev,
        range->num_encoding_sizes = 2;
        range->max_encoding_tokens = NUM_DEFAULT_KEYS;
 
-       if (local->hw.flags & IEEE80211_HW_SIGNAL_UNSPEC ||
-           local->hw.flags & IEEE80211_HW_SIGNAL_DB)
+       if (local->hw.flags & IEEE80211_HW_SIGNAL_UNSPEC)
                range->max_qual.level = local->hw.max_signal;
        else if  (local->hw.flags & IEEE80211_HW_SIGNAL_DBM)
                range->max_qual.level = -110;