diff mbox series

[v2,net-next,14/14] dsa: Allow tag drivers to be built as modules

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

Commit Message

Andrew Lunn April 23, 2019, 12:22 a.m. UTC
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(-)

Comments

Randy Dunlap April 23, 2019, 1:03 a.m. UTC | #1
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 mbox series

Patch

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