Used in a later patch to pass in flags at create time

Signed-off-by: David Ahern <dsah...@gmail.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/ipoib.c | 2 +-
 drivers/net/ethernet/tile/tilegx.c              | 2 +-
 drivers/net/tun.c                               | 2 +-
 drivers/net/wireless/marvell/mwifiex/cfg80211.c | 2 +-
 include/linux/netdevice.h                       | 7 ++++---
 net/core/dev.c                                  | 5 ++++-
 net/core/rtnetlink.c                            | 2 +-
 net/ethernet/eth.c                              | 2 +-
 net/mac80211/iface.c                            | 2 +-
 9 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib.c 
b/drivers/net/ethernet/mellanox/mlx5/core/ipoib.c
index 3c84e36af018..f5aaa92726a2 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/ipoib.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib.c
@@ -446,7 +446,7 @@ static struct net_device *mlx5_rdma_netdev_alloc(struct 
mlx5_core_dev *mdev,
                                  name, NET_NAME_UNKNOWN,
                                  setup,
                                  nch * MLX5E_MAX_NUM_TC,
-                                 nch);
+                                 nch, 0);
        if (!netdev) {
                mlx5_core_warn(mdev, "alloc_netdev_mqs failed\n");
                goto free_mdev_resources;
diff --git a/drivers/net/ethernet/tile/tilegx.c 
b/drivers/net/ethernet/tile/tilegx.c
index 7c634bc75615..f38067e260bd 100644
--- a/drivers/net/ethernet/tile/tilegx.c
+++ b/drivers/net/ethernet/tile/tilegx.c
@@ -2198,7 +2198,7 @@ static void tile_net_dev_init(const char *name, const 
uint8_t *mac)
         * template, instantiated by register_netdev(), but not for us.
         */
        dev = alloc_netdev_mqs(sizeof(*priv), name, NET_NAME_UNKNOWN,
-                              tile_net_setup, NR_CPUS, 1);
+                              tile_net_setup, NR_CPUS, 1, 0);
        if (!dev) {
                pr_err("alloc_netdev_mqs(%s) failed\n", name);
                return;
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index bbd707b9ef7a..030621621ea8 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1804,7 +1804,7 @@ static int tun_set_iff(struct net *net, struct file 
*file, struct ifreq *ifr)
 
                dev = alloc_netdev_mqs(sizeof(struct tun_struct), name,
                                       NET_NAME_UNKNOWN, tun_setup, queues,
-                                      queues);
+                                      queues, 0);
 
                if (!dev)
                        return -ENOMEM;
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c 
b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 7ec06bf13413..38b6570ff1cd 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -2960,7 +2960,7 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct 
wiphy *wiphy,
 
        dev = alloc_netdev_mqs(sizeof(struct mwifiex_private *), name,
                               name_assign_type, ether_setup,
-                              IEEE80211_NUM_ACS, 1);
+                              IEEE80211_NUM_ACS, 1, 0);
        if (!dev) {
                mwifiex_dbg(adapter, ERROR,
                            "no memory available for netdevice\n");
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 305d2d42b349..f47c8712398a 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -3699,13 +3699,14 @@ void ether_setup(struct net_device *dev);
 struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name,
                                    unsigned char name_assign_type,
                                    void (*setup)(struct net_device *),
-                                   unsigned int txqs, unsigned int rxqs);
+                                   unsigned int txqs, unsigned int rxqs,
+                                   unsigned int flags);
 #define alloc_netdev(sizeof_priv, name, name_assign_type, setup) \
-       alloc_netdev_mqs(sizeof_priv, name, name_assign_type, setup, 1, 1)
+       alloc_netdev_mqs(sizeof_priv, name, name_assign_type, setup, 1, 1, 0)
 
 #define alloc_netdev_mq(sizeof_priv, name, name_assign_type, setup, count) \
        alloc_netdev_mqs(sizeof_priv, name, name_assign_type, setup, count, \
-                        count)
+                        count, 0)
 
 int register_netdev(struct net_device *dev);
 void unregister_netdev(struct net_device *dev);
diff --git a/net/core/dev.c b/net/core/dev.c
index f166b3bf1895..48a0252037d5 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7829,6 +7829,7 @@ void netdev_freemem(struct net_device *dev)
  * @setup: callback to initialize device
  * @txqs: the number of TX subqueues to allocate
  * @rxqs: the number of RX subqueues to allocate
+ * @flags: flags to 'or' with priv_flags
  *
  * Allocates a struct net_device with private data area for driver use
  * and performs basic initialization.  Also allocates subqueue structs
@@ -7837,7 +7838,8 @@ void netdev_freemem(struct net_device *dev)
 struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name,
                unsigned char name_assign_type,
                void (*setup)(struct net_device *),
-               unsigned int txqs, unsigned int rxqs)
+               unsigned int txqs, unsigned int rxqs,
+               unsigned int flags)
 {
        struct net_device *dev;
        size_t alloc_size;
@@ -7920,6 +7922,7 @@ struct net_device *alloc_netdev_mqs(int sizeof_priv, 
const char *name,
        if (netif_alloc_rx_queues(dev))
                goto free_all;
 #endif
+       dev->priv_flags |= flags;
 
        strcpy(dev->name, name);
        dev->name_assign_type = name_assign_type;
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index bcb0f610ee42..a4db1cd91c4a 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -2390,7 +2390,7 @@ struct net_device *rtnl_create_link(struct net *net,
                num_rx_queues = ops->get_num_rx_queues();
 
        dev = alloc_netdev_mqs(ops->priv_size, ifname, name_assign_type,
-                              ops->setup, num_tx_queues, num_rx_queues);
+                              ops->setup, num_tx_queues, num_rx_queues, 0);
        if (!dev)
                return ERR_PTR(-ENOMEM);
 
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
index 1446810047f5..d8f489e134f0 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
@@ -389,7 +389,7 @@ struct net_device *alloc_etherdev_mqs(int sizeof_priv, 
unsigned int txqs,
                                      unsigned int rxqs)
 {
        return alloc_netdev_mqs(sizeof_priv, "eth%d", NET_NAME_UNKNOWN,
-                               ether_setup, txqs, rxqs);
+                               ether_setup, txqs, rxqs, 0);
 }
 EXPORT_SYMBOL(alloc_etherdev_mqs);
 
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 3bd5b81f5d81..54891601e3d1 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -1802,7 +1802,7 @@ int ieee80211_if_add(struct ieee80211_local *local, const 
char *name,
 
                ndev = alloc_netdev_mqs(size + txq_size,
                                        name, name_assign_type,
-                                       if_setup, txqs, 1);
+                                       if_setup, txqs, 1, 0);
                if (!ndev)
                        return -ENOMEM;
                dev_net_set(ndev, wiphy_net(local->hw.wiphy));
-- 
2.11.0 (Apple Git-81)

Reply via email to