In order to push switchdev objects down to DSA drivers, I need to include switchdev.h in dsa.h. But compilation fails because of a circular dependency issue, since dsa.h is also included in linux/netdevice.h.
dsa.h is included for two purposes: to have the definition of struct dsa_switch_tree; and to have access to dsa_uses_tagged_protocol(), used by netdev_uses_dsa(). This patchset forward declares struct dsa_switch_tree; adds a new uses_hw_tag boolean to struct net_device, which is more explicit than the DSA helper, and finally get rid of the dsa.h include. With this patchset, switchdev.h can safely be included in dsa.h. Vivien Didelot (3): net: dsa: add uses_hw_tag net: dsa: include dsa.h in dsa_priv.h net: remove dsa.h include from linux/netdevice.h include/linux/netdevice.h | 9 ++++++--- include/net/dsa.h | 5 ----- net/dsa/dsa.c | 1 + net/dsa/dsa_priv.h | 1 + 4 files changed, 8 insertions(+), 8 deletions(-) -- 2.6.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/