From b3422a314c27d2189c05b69cc1654b71315d3d21 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 26 Nov 2012 09:16:10 +0000 Subject: [PATCH] dsa: Hide core config options; make drivers select what they need Commit 82167cb8c6b2f8166d5c7532e5ef4b5e0cc46a72 ('net: dsa/slave: Fix compilation warnings') fixed one possible invalid configuration (NET_DSA enabled with no trailer formats) but added others: drivers can select NET_DSA without its dependencies being met. It's not very useful to make either the DSA core or the tagging formats manually selectable without a driver to use them, so: 1. Define a hidden HAVE_NET_DSA option and move the dependencies of NET_DSA to that. While we're at it, drop the deprecated EXPERIMENTAL dependency. 2. Make NET_DSA and the drivers dependent on HAVE_NET_DSA. 3. Hide the tagging format options again. 4. Make drivers select both NET_DSA and the appropriate tagging format option. Signed-off-by: Ben Hutchings Acked-by: Randy Dunlap Signed-off-by: David S. Miller --- drivers/net/dsa/Kconfig | 4 ++++ net/dsa/Kconfig | 30 +++++++++++++----------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/net/dsa/Kconfig b/drivers/net/dsa/Kconfig index 96eae22f612..b8fe808b795 100644 --- a/drivers/net/dsa/Kconfig +++ b/drivers/net/dsa/Kconfig @@ -1,4 +1,5 @@ menu "Distributed Switch Architecture drivers" + depends on HAVE_NET_DSA config NET_DSA_MV88E6XXX tristate @@ -6,6 +7,7 @@ config NET_DSA_MV88E6XXX config NET_DSA_MV88E6060 tristate "Marvell 88E6060 ethernet switch chip support" + select NET_DSA select NET_DSA_TAG_TRAILER ---help--- This enables support for the Marvell 88E6060 ethernet switch @@ -17,6 +19,7 @@ config NET_DSA_MV88E6XXX_NEED_PPU config NET_DSA_MV88E6131 tristate "Marvell 88E6085/6095/6095F/6131 ethernet switch chip support" + select NET_DSA select NET_DSA_MV88E6XXX select NET_DSA_MV88E6XXX_NEED_PPU select NET_DSA_TAG_DSA @@ -26,6 +29,7 @@ config NET_DSA_MV88E6131 config NET_DSA_MV88E6123_61_65 tristate "Marvell 88E6123/6161/6165 ethernet switch chip support" + select NET_DSA select NET_DSA_MV88E6XXX select NET_DSA_TAG_EDSA ---help--- diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig index 0f5dc344ed9..f5eede1d6cb 100644 --- a/net/dsa/Kconfig +++ b/net/dsa/Kconfig @@ -1,28 +1,24 @@ +config HAVE_NET_DSA + def_bool y + depends on NETDEVICES && !S390 + +# Drivers must select NET_DSA and the appropriate tagging format + config NET_DSA tristate - default n - depends on EXPERIMENTAL && NETDEVICES && !S390 + depends on HAVE_NET_DSA select PHYLIB - ---help--- - This allows you to use hardware switch chips that use - the Distributed Switch Architecture. - -menu "Distributed Switch Architecture support" +if NET_DSA # tagging formats config NET_DSA_TAG_DSA - bool "Original DSA packet tagging format" - select NET_DSA - default n + bool config NET_DSA_TAG_EDSA - bool "Ethertype DSA packet tagging format" - select NET_DSA - default n + bool config NET_DSA_TAG_TRAILER - bool "Trailer DSA packet tagging format" - select NET_DSA - default n -endmenu + bool + +endif