Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Wed, 30 Dec 2009 21:51:29 +0000 (13:51 -0800)]
1  2 
Documentation/feature-removal-schedule.txt
drivers/net/wireless/b43/main.c
drivers/net/wireless/b43legacy/main.c
drivers/net/wireless/iwlwifi/iwl-core.h
drivers/net/wireless/zd1211rw/zd_mac.c

@@@ -88,27 -88,6 +88,6 @@@ Who: Luis R. Rodriguez <lrodriguez@athe
  
  ---------------------------
  
- What: CONFIG_WIRELESS_OLD_REGULATORY - old static regulatory information
- When: March 2010 / desktop catchup
- Why:  The old regulatory infrastructure has been replaced with a new one
-       which does not require statically defined regulatory domains. We do
-       not want to keep static regulatory domains in the kernel due to the
-       the dynamic nature of regulatory law and localization. We kept around
-       the old static definitions for the regulatory domains of:
-               * US
-               * JP
-               * EU
-       and used by default the US when CONFIG_WIRELESS_OLD_REGULATORY was
-       set. We will remove this option once the standard Linux desktop catches
-       up with the new userspace APIs we have implemented.
- Who:  Luis R. Rodriguez <lrodriguez@atheros.com>
- ---------------------------
  What: dev->power.power_state
  When: July 2007
  Why:  Broken design for runtime control over driver power states, confusing
@@@ -291,6 -270,22 +270,6 @@@ Who:      Michael Buesch <mb@bu3sch.de
  
  ---------------------------
  
 -What: usedac i386 kernel parameter
 -When: 2.6.27
 -Why:  replaced by allowdac and no dac combination
 -Who:  Glauber Costa <gcosta@redhat.com>
 -
 ----------------------------
 -
 -What: print_fn_descriptor_symbol()
 -When: October 2009
 -Why:  The %pF vsprintf format provides the same functionality in a
 -      simpler way.  print_fn_descriptor_symbol() is deprecated but
 -      still present to give out-of-tree modules time to change.
 -Who:  Bjorn Helgaas <bjorn.helgaas@hp.com>
 -
 ----------------------------
 -
  What: /sys/o2cb symlink
  When: January 2010
  Why:  /sys/fs/o2cb is the proper location for this information - /sys/o2cb
@@@ -467,29 -462,3 +446,29 @@@ Why:     With the recent innovations in CP
  Who:  Alok N Kataria <akataria@vmware.com>
  
  ----------------------------
 +
 +What: adt7473 hardware monitoring driver
 +When: February 2010
 +Why:  Obsoleted by the adt7475 driver.
 +Who:  Jean Delvare <khali@linux-fr.org>
 +
 +---------------------------
 +What: Support for lcd_switch and display_get in asus-laptop driver
 +When: March 2010
 +Why:  These two features use non-standard interfaces. There are the
 +      only features that really need multiple path to guess what's
 +      the right method name on a specific laptop.
 +
 +      Removing them will allow to remove a lot of code an significantly
 +      clean the drivers.
 +
 +      This will affect the backlight code which won't be able to know
 +      if the backlight is on or off. The platform display file will also be
 +      write only (like the one in eeepc-laptop).
 +
 +      This should'nt affect a lot of user because they usually know
 +      when their display is on or off.
 +
 +Who:  Corentin Chary <corentin.chary@gmail.com>
 +
 +----------------------------
@@@ -102,6 -102,9 +102,9 @@@ int b43_modparam_verbose = B43_VERBOSIT
  module_param_named(verbose, b43_modparam_verbose, int, 0644);
  MODULE_PARM_DESC(verbose, "Log message verbosity: 0=error, 1=warn, 2=info(default), 3=debug");
  
+ static int modparam_pio;
+ module_param_named(pio, modparam_pio, int, 0444);
+ MODULE_PARM_DESC(pio, "enable(1) / disable(0) PIO mode");
  
  static const struct ssb_device_id b43_ssb_tbl[] = {
        SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_80211, 5),
@@@ -1786,8 -1789,8 +1789,8 @@@ static void b43_do_interrupt_thread(str
                               dma_reason[4], dma_reason[5]);
                        b43err(dev->wl, "This device does not support DMA "
                               "on your system. Please use PIO instead.\n");
-                       b43err(dev->wl, "CONFIG_B43_FORCE_PIO must be set in "
-                              "your kernel configuration.\n");
+                       b43err(dev->wl, "Unload the b43 module and reload "
+                              "with 'pio=1'\n");
                        return;
                }
                if (merged_dma_reason & B43_DMAIRQ_NONFATALMASK) {
@@@ -2958,7 -2961,7 +2961,7 @@@ static void do_periodic_work(struct b43
  /* Periodic work locking policy:
   *    The whole periodic work handler is protected by
   *    wl->mutex. If another lock is needed somewhere in the
 - *    pwork callchain, it's aquired in-place, where it's needed.
 + *    pwork callchain, it's acquired in-place, where it's needed.
   */
  static void b43_periodic_work_handler(struct work_struct *work)
  {
@@@ -4353,7 -4356,7 +4356,7 @@@ static int b43_wireless_core_init(struc
  
        if ((dev->dev->bus->bustype == SSB_BUSTYPE_PCMCIA) ||
            (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) ||
-           B43_FORCE_PIO) {
+           modparam_pio) {
                dev->__using_pio_transfers = 1;
                err = b43_pio_init(dev);
        } else {
@@@ -4388,7 -4391,7 +4391,7 @@@ err_busdown
  }
  
  static int b43_op_add_interface(struct ieee80211_hw *hw,
-                               struct ieee80211_if_init_conf *conf)
+                               struct ieee80211_vif *vif)
  {
        struct b43_wl *wl = hw_to_b43_wl(hw);
        struct b43_wldev *dev;
  
        /* TODO: allow WDS/AP devices to coexist */
  
-       if (conf->type != NL80211_IFTYPE_AP &&
-           conf->type != NL80211_IFTYPE_MESH_POINT &&
-           conf->type != NL80211_IFTYPE_STATION &&
-           conf->type != NL80211_IFTYPE_WDS &&
-           conf->type != NL80211_IFTYPE_ADHOC)
+       if (vif->type != NL80211_IFTYPE_AP &&
+           vif->type != NL80211_IFTYPE_MESH_POINT &&
+           vif->type != NL80211_IFTYPE_STATION &&
+           vif->type != NL80211_IFTYPE_WDS &&
+           vif->type != NL80211_IFTYPE_ADHOC)
                return -EOPNOTSUPP;
  
        mutex_lock(&wl->mutex);
        if (wl->operating)
                goto out_mutex_unlock;
  
-       b43dbg(wl, "Adding Interface type %d\n", conf->type);
+       b43dbg(wl, "Adding Interface type %d\n", vif->type);
  
        dev = wl->current_dev;
        wl->operating = 1;
-       wl->vif = conf->vif;
-       wl->if_type = conf->type;
-       memcpy(wl->mac_addr, conf->mac_addr, ETH_ALEN);
+       wl->vif = vif;
+       wl->if_type = vif->type;
+       memcpy(wl->mac_addr, vif->addr, ETH_ALEN);
  
        b43_adjust_opmode(dev);
        b43_set_pretbtt(dev);
  }
  
  static void b43_op_remove_interface(struct ieee80211_hw *hw,
-                                   struct ieee80211_if_init_conf *conf)
+                                   struct ieee80211_vif *vif)
  {
        struct b43_wl *wl = hw_to_b43_wl(hw);
        struct b43_wldev *dev = wl->current_dev;
  
-       b43dbg(wl, "Removing Interface type %d\n", conf->type);
+       b43dbg(wl, "Removing Interface type %d\n", vif->type);
  
        mutex_lock(&wl->mutex);
  
        B43_WARN_ON(!wl->operating);
-       B43_WARN_ON(wl->vif != conf->vif);
+       B43_WARN_ON(wl->vif != vif);
        wl->vif = NULL;
  
        wl->operating = 0;
@@@ -2277,7 -2277,7 +2277,7 @@@ static void do_periodic_work(struct b43
  /* Periodic work locking policy:
   *    The whole periodic work handler is protected by
   *    wl->mutex. If another lock is needed somewhere in the
 - *    pwork callchain, it's aquired in-place, where it's needed.
 + *    pwork callchain, it's acquired in-place, where it's needed.
   */
  static void b43legacy_periodic_work_handler(struct work_struct *work)
  {
@@@ -3361,7 -3361,7 +3361,7 @@@ err_kfree_lo_control
  }
  
  static int b43legacy_op_add_interface(struct ieee80211_hw *hw,
-                                     struct ieee80211_if_init_conf *conf)
+                                     struct ieee80211_vif *vif)
  {
        struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
        struct b43legacy_wldev *dev;
  
        /* TODO: allow WDS/AP devices to coexist */
  
-       if (conf->type != NL80211_IFTYPE_AP &&
-           conf->type != NL80211_IFTYPE_STATION &&
-           conf->type != NL80211_IFTYPE_WDS &&
-           conf->type != NL80211_IFTYPE_ADHOC)
+       if (vif->type != NL80211_IFTYPE_AP &&
+           vif->type != NL80211_IFTYPE_STATION &&
+           vif->type != NL80211_IFTYPE_WDS &&
+           vif->type != NL80211_IFTYPE_ADHOC)
                return -EOPNOTSUPP;
  
        mutex_lock(&wl->mutex);
        if (wl->operating)
                goto out_mutex_unlock;
  
-       b43legacydbg(wl, "Adding Interface type %d\n", conf->type);
+       b43legacydbg(wl, "Adding Interface type %d\n", vif->type);
  
        dev = wl->current_dev;
        wl->operating = 1;
-       wl->vif = conf->vif;
-       wl->if_type = conf->type;
-       memcpy(wl->mac_addr, conf->mac_addr, ETH_ALEN);
+       wl->vif = vif;
+       wl->if_type = vif->type;
+       memcpy(wl->mac_addr, vif->addr, ETH_ALEN);
  
        spin_lock_irqsave(&wl->irq_lock, flags);
        b43legacy_adjust_opmode(dev);
  }
  
  static void b43legacy_op_remove_interface(struct ieee80211_hw *hw,
-                                         struct ieee80211_if_init_conf *conf)
+                                         struct ieee80211_vif *vif)
  {
        struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
        struct b43legacy_wldev *dev = wl->current_dev;
        unsigned long flags;
  
-       b43legacydbg(wl, "Removing Interface type %d\n", conf->type);
+       b43legacydbg(wl, "Removing Interface type %d\n", vif->type);
  
        mutex_lock(&wl->mutex);
  
        B43legacy_WARN_ON(!wl->operating);
-       B43legacy_WARN_ON(wl->vif != conf->vif);
+       B43legacy_WARN_ON(wl->vif != vif);
        wl->vif = NULL;
  
        wl->operating = 0;
@@@ -63,7 -63,7 +63,7 @@@
  #ifndef __iwl_core_h__
  #define __iwl_core_h__
  
 -#include <linux/utsrelease.h>
 +#include <generated/utsrelease.h>
  
  /************************
   * forward declarations *
@@@ -332,9 -332,9 +332,9 @@@ int iwl_mac_beacon_update(struct ieee80
  int iwl_commit_rxon(struct iwl_priv *priv);
  int iwl_set_mode(struct iwl_priv *priv, int mode);
  int iwl_mac_add_interface(struct ieee80211_hw *hw,
-                                struct ieee80211_if_init_conf *conf);
+                         struct ieee80211_vif *vif);
  void iwl_mac_remove_interface(struct ieee80211_hw *hw,
-                                struct ieee80211_if_init_conf *conf);
+                             struct ieee80211_vif *vif);
  int iwl_mac_config(struct ieee80211_hw *hw, u32 changed);
  void iwl_config_ap(struct iwl_priv *priv);
  int iwl_mac_get_tx_stats(struct ieee80211_hw *hw,
@@@ -374,7 -374,7 +374,7 @@@ static void zd_mac_tx_status(struct iee
   * zd_mac_tx_failed - callback for failed frames
   * @dev: the mac80211 wireless device
   *
 - * This function is called if a frame couldn't be succesfully be
 + * This function is called if a frame couldn't be successfully be
   * transferred. The first frame from the tx queue, will be selected and
   * reported as error to the upper layers.
   */
@@@ -828,9 -828,6 +828,6 @@@ int zd_mac_rx(struct ieee80211_hw *hw, 
        stats.freq = zd_channels[_zd_chip_get_channel(&mac->chip) - 1].center_freq;
        stats.band = IEEE80211_BAND_2GHZ;
        stats.signal = status->signal_strength;
-       stats.qual = zd_rx_qual_percent(buffer,
-                                         length - sizeof(struct rx_status),
-                                         status);
  
        rate = zd_rx_rate(buffer, status);
  
  }
  
  static int zd_op_add_interface(struct ieee80211_hw *hw,
-                               struct ieee80211_if_init_conf *conf)
+                               struct ieee80211_vif *vif)
  {
        struct zd_mac *mac = zd_hw_mac(hw);
  
        if (mac->type != NL80211_IFTYPE_UNSPECIFIED)
                return -EOPNOTSUPP;
  
-       switch (conf->type) {
+       switch (vif->type) {
        case NL80211_IFTYPE_MONITOR:
        case NL80211_IFTYPE_MESH_POINT:
        case NL80211_IFTYPE_STATION:
        case NL80211_IFTYPE_ADHOC:
-               mac->type = conf->type;
+               mac->type = vif->type;
                break;
        default:
                return -EOPNOTSUPP;
        }
  
-       return zd_write_mac_addr(&mac->chip, conf->mac_addr);
+       return zd_write_mac_addr(&mac->chip, vif->addr);
  }
  
  static void zd_op_remove_interface(struct ieee80211_hw *hw,
-                                   struct ieee80211_if_init_conf *conf)
+                                   struct ieee80211_vif *vif)
  {
        struct zd_mac *mac = zd_hw_mac(hw);
        mac->type = NL80211_IFTYPE_UNSPECIFIED;