net: break include loop netdevice.h, dsa.h, devlink.h
authorAndrew Lunn <andrew@lunn.ch>
Tue, 28 Mar 2017 21:45:06 +0000 (23:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 29 Mar 2017 05:46:04 +0000 (22:46 -0700)
There is an include loop between netdevice.h, dsa.h, devlink.h because
of NETDEV_ALIGN, making it impossible to use devlink structures in
dsa.h.

Break this loop by taking dsa.h out of netdevice.h, add a forward
declaration of dsa_switch_tree and netdev_set_default_ethtool_ops()
function, which is what netdevice.h requires.

No longer having dsa.h in netdevice.h means the includes in dsa.h no
longer get included. This breaks a few other files which depend on
these includes. Add these directly in the affected file.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
24 files changed:
drivers/net/dsa/bcm_sf2_cfp.c
drivers/net/dsa/mv88e6xxx/mv88e6xxx.h
drivers/net/ethernet/broadcom/bcmsysport.c
drivers/net/ethernet/freescale/fman/fman_memac.h
drivers/net/ethernet/hisilicon/hns/hnae.c
drivers/net/ieee802154/mrf24j40.c
drivers/net/phy/smsc.c
drivers/net/usb/lan78xx.c
fs/cifs/cifsfs.c
fs/cifs/connect.c
fs/cifs/smb2pdu.c
include/linux/netdevice.h
include/net/dsa.h
net/bridge/br_if.c
net/core/netprio_cgroup.c
net/dsa/dsa.c
net/dsa/dsa2.c
net/dsa/slave.c
net/dsa/tag_brcm.c
net/dsa/tag_dsa.c
net/dsa/tag_edsa.c
net/dsa/tag_qca.c
net/dsa/tag_trailer.c
net/ipv4/ipconfig.c

index 346dd9a1232dff12e24fef05b6e6352f106ed2be..2fb32d67065f8aa164b3ea03d5cb914120c4e0c6 100644 (file)
  */
 
 #include <linux/list.h>
-#include <net/dsa.h>
 #include <linux/ethtool.h>
 #include <linux/if_ether.h>
 #include <linux/in.h>
+#include <linux/netdevice.h>
+#include <net/dsa.h>
 #include <linux/bitmap.h>
 
 #include "bcm_sf2.h"
index 75be2c339a4985b99dd8350b53690abb4b25b475..55367d05374edef8b619e45979b5c92849fa6269 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/irq.h>
 #include <linux/gpio/consumer.h>
 #include <linux/phy.h>
+#include <net/dsa.h>
 
 #ifndef UINT64_MAX
 #define UINT64_MAX             (u64)(~((u64)0))
index 61e26c6b26abccb0b3d62e0e01b27c348cbb685f..099b374c1b17bbd8e9cabe68cdc7cd991a258737 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/of_mdio.h>
 #include <linux/phy.h>
 #include <linux/phy_fixed.h>
+#include <net/dsa.h>
 #include <net/ip.h>
 #include <net/ipv6.h>
 
index 173d8e0fd71668afe4292a506ef120d853f249f5..c4a66469a9074daab469f304751acc06df8f9839 100644 (file)
@@ -36,6 +36,7 @@
 #include "fman_mac.h"
 
 #include <linux/netdevice.h>
+#include <linux/phy_fixed.h>
 
 struct fman_mac *memac_config(struct fman_mac_params *params);
 int memac_set_promiscuous(struct fman_mac *memac, bool new_val);
index b6ed818f78fffe21ee2b4c385c7c6222bc5df9f3..120427a40883b253d022080095dbe586d722100d 100644 (file)
@@ -9,9 +9,9 @@
 
 #include <linux/dma-mapping.h>
 #include <linux/interrupt.h>
+#include <linux/of.h>
 #include <linux/skbuff.h>
 #include <linux/slab.h>
-
 #include "hnae.h"
 
 #define cls_to_ae_dev(dev) container_of(dev, struct hnae_ae_dev, cls_dev)
index 7b131f8e40937000a273cfabbbf04a03a4af2f17..bd63289c55e8fcb68e9e371712ad1fdfc3521a43 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/spi/spi.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/regmap.h>
 #include <linux/ieee802154.h>
 #include <linux/irq.h>
index fb32eaf2255d84a7de2842f60f91b52cf17c1717..cef6967b039617fdd909e783ca479a8241eebd88 100644 (file)
@@ -20,6 +20,7 @@
 #include <linux/module.h>
 #include <linux/mii.h>
 #include <linux/ethtool.h>
+#include <linux/of.h>
 #include <linux/phy.h>
 #include <linux/netdevice.h>
 #include <linux/smscphy.h>
index d885e032542216971cd31857271ca6d20498ec5c..a17e32bf5f924c11d18db475ae144aaafa3566ab 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/ip.h>
 #include <linux/ipv6.h>
 #include <linux/mdio.h>
+#include <linux/phy.h>
 #include <net/ip6_checksum.h>
 #include <linux/interrupt.h>
 #include <linux/irqdomain.h>
index 15e1db8738aecad0c8a86888c0fa1ada5f9b7623..8c91f37ac0ebd784e3eb9b964f57f9c73ea37a5d 100644 (file)
@@ -37,6 +37,7 @@
 #include <linux/freezer.h>
 #include <linux/namei.h>
 #include <linux/random.h>
+#include <linux/uuid.h>
 #include <linux/xattr.h>
 #include <net/ipv6.h>
 #include "cifsfs.h"
index 9ae695ae3ed7be3788db2a889e34cde8a3224c9c..858698dcde3cd0a44209164fa9226e1762c504a8 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/pagevec.h>
 #include <linux/freezer.h>
 #include <linux/namei.h>
+#include <linux/uuid.h>
 #include <linux/uaccess.h>
 #include <asm/processor.h>
 #include <linux/inet.h>
index 7446496850a3bd5f21fb36e12b65ba5c78532612..fb75fe908225d77572eaa0a962ab5cd2afa227dd 100644 (file)
@@ -33,6 +33,7 @@
 #include <linux/vfs.h>
 #include <linux/task_io_accounting_ops.h>
 #include <linux/uaccess.h>
+#include <linux/uuid.h>
 #include <linux/pagemap.h>
 #include <linux/xattr.h>
 #include "smb2pdu.h"
index b7365b5878183bbfbfcd743a74f81d943feb7d88..cc07c3be2705f1a3432117b1c687fb679813bb5a 100644 (file)
@@ -41,7 +41,6 @@
 
 #include <linux/ethtool.h>
 #include <net/net_namespace.h>
-#include <net/dsa.h>
 #ifdef CONFIG_DCB
 #include <net/dcbnl.h>
 #endif
@@ -57,6 +56,8 @@
 struct netpoll_info;
 struct device;
 struct phy_device;
+struct dsa_switch_tree;
+
 /* 802.11 specific */
 struct wireless_dev;
 /* 802.15.4 specific */
@@ -2004,15 +2005,6 @@ void dev_net_set(struct net_device *dev, struct net *net)
        write_pnet(&dev->nd_net, net);
 }
 
-static inline bool netdev_uses_dsa(struct net_device *dev)
-{
-#if IS_ENABLED(CONFIG_NET_DSA)
-       if (dev->dsa_ptr != NULL)
-               return dsa_uses_tagged_protocol(dev->dsa_ptr);
-#endif
-       return false;
-}
-
 /**
  *     netdev_priv - access network device private data
  *     @dev: network device
index e42897fd7a9658c81485aecbba34f4ee16bedd56..f80e81912b83aa5360702f3de275e607f108104c 100644 (file)
@@ -468,6 +468,15 @@ static inline bool dsa_uses_tagged_protocol(struct dsa_switch_tree *dst)
        return dst->rcv != NULL;
 }
 
+static inline bool netdev_uses_dsa(struct net_device *dev)
+{
+#if IS_ENABLED(CONFIG_NET_DSA)
+       if (dev->dsa_ptr != NULL)
+               return dsa_uses_tagged_protocol(dev->dsa_ptr);
+#endif
+       return false;
+}
+
 struct dsa_switch *dsa_switch_alloc(struct device *dev, size_t n);
 void dsa_unregister_switch(struct dsa_switch *ds);
 int dsa_register_switch(struct dsa_switch *ds, struct device *dev);
index 8ac1770aa222f21f89027d303a218c49be9dc650..6eb52d422dd9c871dc4a54304fbc707ef68b90ba 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/rtnetlink.h>
 #include <linux/if_ether.h>
 #include <linux/slab.h>
+#include <net/dsa.h>
 #include <net/sock.h>
 #include <linux/if_vlan.h>
 #include <net/switchdev.h>
index 0f9275ee55958156a6cbac3f0d2b1ff54c3c89a5..1c4810919a0a35900d45a659de0cd780b7e500d3 100644 (file)
@@ -11,6 +11,7 @@
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
+#include <linux/module.h>
 #include <linux/slab.h>
 #include <linux/types.h>
 #include <linux/module.h>
index b6d4f6a23f06c9d794a5eedc4c9f79810d5b06e5..95d1a756202c45b6b1332163fd83d2c3e0c123c4 100644 (file)
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 #include <linux/module.h>
-#include <net/dsa.h>
 #include <linux/of.h>
 #include <linux/of_mdio.h>
 #include <linux/of_platform.h>
 #include <linux/of_net.h>
 #include <linux/of_gpio.h>
+#include <linux/netdevice.h>
 #include <linux/sysfs.h>
 #include <linux/phy_fixed.h>
 #include <linux/gpio/consumer.h>
+#include <net/dsa.h>
 #include "dsa_priv.h"
 
 static struct sk_buff *dsa_slave_notag_xmit(struct sk_buff *skb,
index 737be6470c7f27ba032d01667e039f3c03c17ae8..d039c8d7adfd821825c7957aa60eb47d1b949f1c 100644 (file)
 #include <linux/device.h>
 #include <linux/err.h>
 #include <linux/list.h>
+#include <linux/netdevice.h>
 #include <linux/slab.h>
 #include <linux/rtnetlink.h>
-#include <net/dsa.h>
 #include <linux/of.h>
 #include <linux/of_net.h>
+#include <net/dsa.h>
 #include "dsa_priv.h"
 
 static LIST_HEAD(dsa_switch_trees);
index 78128acfbf633b255d4c4ce87b66564ba416a85d..7693182df81e61d14540cd43be3ae7e134eef576 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/of_mdio.h>
 #include <linux/mdio.h>
 #include <linux/list.h>
+#include <net/dsa.h>
 #include <net/rtnetlink.h>
 #include <net/switchdev.h>
 #include <net/pkt_cls.h>
index 5d925b6b2bb14f78f84a06b84b4fa19bd6846e82..e2ed6cf68261f8b655bde8cc8fff4ea240194952 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/etherdevice.h>
 #include <linux/list.h>
 #include <linux/slab.h>
+#include <net/dsa.h>
 #include "dsa_priv.h"
 
 /* This tag length is 4 bytes, older ones were 6 bytes, we do not
index 72579ceea381b7e2bce99a28208810b707434f09..e42ba906100cbc14beec08fb98f283785c3183e0 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/etherdevice.h>
 #include <linux/list.h>
 #include <linux/slab.h>
+#include <net/dsa.h>
 #include "dsa_priv.h"
 
 #define DSA_HLEN       4
index 648c051817a1b4a4e64cda67bab8c81288027a4e..6a9b7a9e4e15b9d75571f4f4cc18b776e420610b 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/etherdevice.h>
 #include <linux/list.h>
 #include <linux/slab.h>
+#include <net/dsa.h>
 #include "dsa_priv.h"
 
 #define DSA_HLEN       4
index 30240f343aea8450b13936159b4b9a76126a8977..4e0dad759d047a3122ab0ed5005a37f1f3fa69da 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <linux/etherdevice.h>
+#include <net/dsa.h>
 #include "dsa_priv.h"
 
 #define QCA_HDR_LEN    2
index 26f977176978085af9c034319c754a1ac7501d4c..74c948512550f71649d62446b0c2e60bd88004f9 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/etherdevice.h>
 #include <linux/list.h>
 #include <linux/slab.h>
+#include <net/dsa.h>
 #include "dsa_priv.h"
 
 static struct sk_buff *trailer_xmit(struct sk_buff *skb, struct net_device *dev)
index fd9f34bbd7408a0e9b0342ec6512c69cc30edc39..9def8ed31c760fa1e3b593484a286bbb9ceb3918 100644 (file)
@@ -57,6 +57,7 @@
 #include <linux/export.h>
 #include <net/net_namespace.h>
 #include <net/arp.h>
+#include <net/dsa.h>
 #include <net/ip.h>
 #include <net/ipconfig.h>
 #include <net/route.h>