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)
commitc6e970a04bdceb7ef1fdbac6be3bd4cd0a0a02bd
treef7e2edac17a1e10cf21407c7cc99790d8a43e725
parent0e42c72195cc1a6f7461bfc48b32dce29e1677f7
net: break include loop netdevice.h, dsa.h, devlink.h

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