Message ID | 20190423002257.3220-15-andrew@lunn.ch |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | Make DSA tag drivers kernel modules | expand |
On 4/22/19 5:22 PM, Andrew Lunn wrote: > Make the CONFIG symbols tristate and add help text. > > The broadcom and Microchip KSZ tag drivers support two different > tagging protocols in one driver. Add a configuration option for the > drivers, and then options to select the protocol. > > Create a submenu for the tagging drivers. > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> Hi, I have a few more cleanups for the Kconfig file (please see below). > v2: > tab/space cleanup > Help text wording > NET_DSA_TAG_BRCM_COMMON and NET_DSA_TAG_KZS_COMMON hidden > --- > net/dsa/Kconfig | 83 +++++++++++++++++++++++++++++++++++++----------- > net/dsa/Makefile | 19 ++++++----- > 2 files changed, 73 insertions(+), 29 deletions(-) > > diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig > index b695170795c2..8e9a381cf58e 100644 > --- a/net/dsa/Kconfig > +++ b/net/dsa/Kconfig > @@ -4,7 +4,7 @@ config HAVE_NET_DSA > > # Drivers must select NET_DSA and the appropriate tagging format > > -config NET_DSA > +menuconfig NET_DSA > tristate "Distributed Switch Architecture" > depends on HAVE_NET_DSA > depends on BRIDGE || BRIDGE=n > @@ -26,39 +26,84 @@ config NET_DSA_LEGACY > > This feature is scheduled for removal in 4.17. > > -# tagging formats > +config NET_DSA_TAG_BRCM_COMMON > + tristate > + default n > + > config NET_DSA_TAG_BRCM > - bool > + tristate "Tag driver for Broadcom switches using in frame headers" preferably: using in-frame headers" otherwise it is difficult to parse. > + select NET_DSA_TAG_BRCM_COMMON > + help > + Say Y if you want to enable support for tagging frames for the > + Broadcom switches which place the tag after the MAC source address. > + > > config NET_DSA_TAG_BRCM_PREPEND > - bool > + tristate "Tag driver for Broadcom switches using prepended headers" > + select NET_DSA_TAG_BRCM_COMMON > + help > + Say Y if you want to enable support for tagging frames for the > + Broadcom switches which places the tag before the Ethernet header > + (preprended). (prepended). > + > +config NET_DSA_TAG_GSWIP > + tristate "Tag driver for Lantiq / Intel GSWIP switches" > + help > + Say Y or M if you want to enable support for tagging frames for the > + Lantiq / Intel GSWIP switches please end with '.' > > config NET_DSA_TAG_DSA > - bool > + tristate "Tag driver for Marvell switches using DSA headers" > + help > + Say Y or M if you want to enable support for tagging frames for the > + Marvell switches which use DSA headers ditto. > > config NET_DSA_TAG_EDSA > - bool > + tristate "Tag driver for Marvell switches using EtherType DSA headers" > + help > + Say Y or M if you want to enable support for tagging frames for the > + Marvell switches which use EtherType DSA headers ditto. > > -config NET_DSA_TAG_GSWIP > - bool > +config NET_DSA_TAG_MTK > + tristate "Tag driver for Mediatek switches" > + help > + Say Y or M if you want to enable support for tagging frames for > + Mediatek switches ditto. > + > +config NET_DSA_TAG_KSZ_COMMON > + tristate > + default n > > config NET_DSA_TAG_KSZ > - bool > + tristate "Tag driver for Microchip 9893 family of switches" > + select NET_DSA_TAG_KSZ_COMMON > + help > + Say Y if you want to enable support for tagging frames for the > + Microchip 9893 family of switches ditto. > > config NET_DSA_TAG_KSZ9477 > - bool > - select NET_DSA_TAG_KSZ > + tristate "Tag driver for Microchip 9477 family of switches" > + select NET_DSA_TAG_KSZ_COMMON > + help > + Say Y if you want to enable support for tagging frames for the > + Microchip 9477 family of switches ditto. > > -config NET_DSA_TAG_LAN9303 > - bool > +config NET_DSA_TAG_QCA > + tristate "Tag driver for Qualcomm Atheros QCA8K switches" use tab to indent above instead of using spaces. > + help > + Say Y or M if you want to enable support for tagging frames for > + the Qualcomm Atheros QCA8K switches end with '.' > > -config NET_DSA_TAG_MTK > - bool > +config NET_DSA_TAG_LAN9303 > + tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" > + help > + Say Y or M if you want to enable support for tagging frames for the > + SMSC/Microchip LAN9303 family of switches ditto. > > config NET_DSA_TAG_TRAILER > - bool > - > -config NET_DSA_TAG_QCA > - bool > + tristate "Tag driver for switches using a trailler tag" trailer and indent above line with tab instead of spaces. > + help > + Say Y or M if you want to enable support for tagging frames at > + with a trailed. e.g. Marvell 88E6060 end with '.' > > endif Thanks.
diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig index b695170795c2..8e9a381cf58e 100644 --- a/net/dsa/Kconfig +++ b/net/dsa/Kconfig @@ -4,7 +4,7 @@ config HAVE_NET_DSA # Drivers must select NET_DSA and the appropriate tagging format -config NET_DSA +menuconfig NET_DSA tristate "Distributed Switch Architecture" depends on HAVE_NET_DSA depends on BRIDGE || BRIDGE=n @@ -26,39 +26,84 @@ config NET_DSA_LEGACY This feature is scheduled for removal in 4.17. -# tagging formats +config NET_DSA_TAG_BRCM_COMMON + tristate + default n + config NET_DSA_TAG_BRCM - bool + tristate "Tag driver for Broadcom switches using in frame headers" + select NET_DSA_TAG_BRCM_COMMON + help + Say Y if you want to enable support for tagging frames for the + Broadcom switches which place the tag after the MAC source address. + config NET_DSA_TAG_BRCM_PREPEND - bool + tristate "Tag driver for Broadcom switches using prepended headers" + select NET_DSA_TAG_BRCM_COMMON + help + Say Y if you want to enable support for tagging frames for the + Broadcom switches which places the tag before the Ethernet header + (preprended). + +config NET_DSA_TAG_GSWIP + tristate "Tag driver for Lantiq / Intel GSWIP switches" + help + Say Y or M if you want to enable support for tagging frames for the + Lantiq / Intel GSWIP switches config NET_DSA_TAG_DSA - bool + tristate "Tag driver for Marvell switches using DSA headers" + help + Say Y or M if you want to enable support for tagging frames for the + Marvell switches which use DSA headers config NET_DSA_TAG_EDSA - bool + tristate "Tag driver for Marvell switches using EtherType DSA headers" + help + Say Y or M if you want to enable support for tagging frames for the + Marvell switches which use EtherType DSA headers -config NET_DSA_TAG_GSWIP - bool +config NET_DSA_TAG_MTK + tristate "Tag driver for Mediatek switches" + help + Say Y or M if you want to enable support for tagging frames for + Mediatek switches + +config NET_DSA_TAG_KSZ_COMMON + tristate + default n config NET_DSA_TAG_KSZ - bool + tristate "Tag driver for Microchip 9893 family of switches" + select NET_DSA_TAG_KSZ_COMMON + help + Say Y if you want to enable support for tagging frames for the + Microchip 9893 family of switches config NET_DSA_TAG_KSZ9477 - bool - select NET_DSA_TAG_KSZ + tristate "Tag driver for Microchip 9477 family of switches" + select NET_DSA_TAG_KSZ_COMMON + help + Say Y if you want to enable support for tagging frames for the + Microchip 9477 family of switches -config NET_DSA_TAG_LAN9303 - bool +config NET_DSA_TAG_QCA + tristate "Tag driver for Qualcomm Atheros QCA8K switches" + help + Say Y or M if you want to enable support for tagging frames for + the Qualcomm Atheros QCA8K switches -config NET_DSA_TAG_MTK - bool +config NET_DSA_TAG_LAN9303 + tristate "Tag driver for SMSC/Microchip LAN9303 family of switches" + help + Say Y or M if you want to enable support for tagging frames for the + SMSC/Microchip LAN9303 family of switches config NET_DSA_TAG_TRAILER - bool - -config NET_DSA_TAG_QCA - bool + tristate "Tag driver for switches using a trailler tag" + help + Say Y or M if you want to enable support for tagging frames at + with a trailed. e.g. Marvell 88E6060 endif diff --git a/net/dsa/Makefile b/net/dsa/Makefile index 6e721f7a2947..717ac1618100 100644 --- a/net/dsa/Makefile +++ b/net/dsa/Makefile @@ -5,13 +5,12 @@ dsa_core-y += dsa.o dsa2.o master.o port.o slave.o switch.o dsa_core-$(CONFIG_NET_DSA_LEGACY) += legacy.o # tagging formats -dsa_core-$(CONFIG_NET_DSA_TAG_BRCM) += tag_brcm.o -dsa_core-$(CONFIG_NET_DSA_TAG_BRCM_PREPEND) += tag_brcm.o -dsa_core-$(CONFIG_NET_DSA_TAG_DSA) += tag_dsa.o -dsa_core-$(CONFIG_NET_DSA_TAG_EDSA) += tag_edsa.o -dsa_core-$(CONFIG_NET_DSA_TAG_GSWIP) += tag_gswip.o -dsa_core-$(CONFIG_NET_DSA_TAG_KSZ) += tag_ksz.o -dsa_core-$(CONFIG_NET_DSA_TAG_LAN9303) += tag_lan9303.o -dsa_core-$(CONFIG_NET_DSA_TAG_MTK) += tag_mtk.o -dsa_core-$(CONFIG_NET_DSA_TAG_QCA) += tag_qca.o -dsa_core-$(CONFIG_NET_DSA_TAG_TRAILER) += tag_trailer.o +obj-$(CONFIG_NET_DSA_TAG_BRCM_COMMON) += tag_brcm.o +obj-$(CONFIG_NET_DSA_TAG_DSA) += tag_dsa.o +obj-$(CONFIG_NET_DSA_TAG_EDSA) += tag_edsa.o +obj-$(CONFIG_NET_DSA_TAG_GSWIP) += tag_gswip.o +obj-$(CONFIG_NET_DSA_TAG_KSZ_COMMON) += tag_ksz.o +obj-$(CONFIG_NET_DSA_TAG_LAN9303) += tag_lan9303.o +obj-$(CONFIG_NET_DSA_TAG_MTK) += tag_mtk.o +obj-$(CONFIG_NET_DSA_TAG_QCA) += tag_qca.o +obj-$(CONFIG_NET_DSA_TAG_TRAILER) += tag_trailer.o
Make the CONFIG symbols tristate and add help text. The broadcom and Microchip KSZ tag drivers support two different tagging protocols in one driver. Add a configuration option for the drivers, and then options to select the protocol. Create a submenu for the tagging drivers. Signed-off-by: Andrew Lunn <andrew@lunn.ch> v2: tab/space cleanup Help text wording NET_DSA_TAG_BRCM_COMMON and NET_DSA_TAG_KZS_COMMON hidden --- net/dsa/Kconfig | 83 +++++++++++++++++++++++++++++++++++++----------- net/dsa/Makefile | 19 ++++++----- 2 files changed, 73 insertions(+), 29 deletions(-)