netdev: Kill NETIF_F_MULTI_QUEUE.
authorDavid S. Miller <davem@davemloft.net>
Thu, 17 Jul 2008 08:52:12 +0000 (01:52 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Jul 2008 02:21:03 +0000 (19:21 -0700)
There is no need for a feature bit for something that
can be tested by simply checking the TX queue count.

Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/multiqueue.txt
drivers/net/cpmac.c
drivers/net/igb/igb_main.c
drivers/net/ixgbe/ixgbe_main.c
drivers/net/s2io.c
include/linux/netdevice.h
net/mac80211/main.c

index e6dc1ee9e8f19fef20a2553252cc4fb87b334f71..d391ea63114132a85c4b922e1eca1e6960cfc7af 100644 (file)
@@ -24,15 +24,4 @@ netif_{start|stop|wake}_subqueue() functions to manage each queue while the
 device is still operational.  netdev->queue_lock is still used when the device
 comes online or when it's completely shut down (unregister_netdev(), etc.).
 
-Finally, the base driver should indicate that it is a multiqueue device.  The
-feature flag NETIF_F_MULTI_QUEUE should be added to the netdev->features
-bitmap on device initialization.  Below is an example from e1000:
-
-#ifdef CONFIG_E1000_MQ
-       if ( (adapter->hw.mac.type == e1000_82571) ||
-            (adapter->hw.mac.type == e1000_82572) ||
-            (adapter->hw.mac.type == e1000_80003es2lan))
-               netdev->features |= NETIF_F_MULTI_QUEUE;
-#endif
-
 Author: Peter P. Waskiewicz Jr. <peter.p.waskiewicz.jr@intel.com>
index d630e2a72f42d98e4d35be976cc7e6b3d7e552a7..7c7b54e4828eae30372f5842180b62d4787d8e30 100644 (file)
@@ -1165,7 +1165,6 @@ static int __devinit cpmac_probe(struct platform_device *pdev)
        dev->set_multicast_list = cpmac_set_multicast_list;
        dev->tx_timeout         = cpmac_tx_timeout;
        dev->ethtool_ops        = &cpmac_ethtool_ops;
-       dev->features |= NETIF_F_MULTI_QUEUE;
 
        netif_napi_add(dev, &priv->napi, cpmac_poll, 64);
 
index 64a150a16f39f8c9873989ce11204f08d927d692..471c194cd54e9e0d948c3f6498ed05fd5640425a 100644 (file)
@@ -1155,8 +1155,6 @@ static int __devinit igb_probe(struct pci_dev *pdev,
        if (pci_using_dac)
                netdev->features |= NETIF_F_HIGHDMA;
 
-       netdev->features |= NETIF_F_MULTI_QUEUE;
-
        netdev->features |= NETIF_F_LLTX;
        adapter->en_mng_pt = igb_enable_mng_pass_thru(&adapter->hw);
 
index 7d8bf94d3783d0a43d455f7fdae4c36c1205bda6..e6df9233f5ef51d177de28c06ddc1b6ad00fe706 100644 (file)
@@ -3566,8 +3566,6 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
        if (pci_using_dac)
                netdev->features |= NETIF_F_HIGHDMA;
 
-       netdev->features |= NETIF_F_MULTI_QUEUE;
-
        /* make sure the EEPROM is good */
        if (ixgbe_validate_eeprom_checksum(hw, NULL) < 0) {
                dev_err(&pdev->dev, "The EEPROM Checksum Is Not Valid\n");
index 517425dcb77cced654d3de2ed550e2016758ea1e..5f0fcb04afff1e3999033f8fe003a4f74e3639f6 100644 (file)
@@ -7966,8 +7966,6 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre)
                dev->features |= NETIF_F_UFO;
                dev->features |= NETIF_F_HW_CSUM;
        }
-       if (config->multiq)
-               dev->features |= NETIF_F_MULTI_QUEUE;
        dev->tx_timeout = &s2io_tx_watchdog;
        dev->watchdog_timeo = WATCH_DOG_TIMEOUT;
        INIT_WORK(&sp->rst_timer_task, s2io_restart_nic);
index f25d4f5a31b0317fae304ef99f201ed335b84134..c02227b9dd7b1126f4fe3cc91e41eddedc249334 100644 (file)
@@ -533,7 +533,6 @@ struct net_device
 #define NETIF_F_LLTX           4096    /* LockLess TX - deprecated. Please */
                                        /* do not use LLTX in new drivers */
 #define NETIF_F_NETNS_LOCAL    8192    /* Does not change network namespaces */
-#define NETIF_F_MULTI_QUEUE    16384   /* Has multiple TX/RX queues */
 #define NETIF_F_LRO            32768   /* large receive offload */
 
        /* Segmentation offload features */
@@ -1163,11 +1162,10 @@ static inline void netif_wake_subqueue(struct net_device *dev, u16 queue_index)
  *     @dev: network device
  *
  * Check if device has multiple transmit queues
- * Always falls if NETDEVICE_MULTIQUEUE is not configured
  */
 static inline int netif_is_multiqueue(const struct net_device *dev)
 {
-       return (!!(NETIF_F_MULTI_QUEUE & dev->features));
+       return (dev->num_tx_queues > 1);
 }
 
 /* Use this variant when it is known for sure that it
index b486e634f4fe8f0d0924f26f2d2b87761ab54cd0..c74607eda1eec7e5f2e528cab87983fb4ab64a2f 100644 (file)
@@ -1678,9 +1678,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
        if (!mdev)
                goto fail_mdev_alloc;
 
-       if (ieee80211_num_queues(hw) > 1)
-               mdev->features |= NETIF_F_MULTI_QUEUE;
-
        mwdev = netdev_priv(mdev);
        mdev->ieee80211_ptr = mwdev;
        mwdev->wiphy = local->hw.wiphy;