Make the clocks visible options that can be selected by anyone.  This
avoids the problems of:
 1) Select is a reverse dependency and is hard for people to understand
    and can sometimes be a pain to track down
 2) Build coverage goes down because configs are hidden
 3) Code bloat

Patch suggested by Stephen Boyd

Signed-off-by: Jon Mason <jonma...@broadcom.com>
---
 arch/arm/mach-bcm/Kconfig |  1 -
 drivers/clk/bcm/Kconfig   | 35 ++++++++++++++++++++++++++++++++++-
 drivers/clk/bcm/Makefile  |  7 +++----
 3 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index 679798b..cacaaec 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -14,7 +14,6 @@ config ARCH_BCM_IPROC
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
        select ARM_GLOBAL_TIMER
-       select COMMON_CLK_IPROC
        select CLKSRC_MMIO
        select ARCH_REQUIRE_GPIOLIB
        select ARM_AMBA
diff --git a/drivers/clk/bcm/Kconfig b/drivers/clk/bcm/Kconfig
index 46ee475..0352ccf 100644
--- a/drivers/clk/bcm/Kconfig
+++ b/drivers/clk/bcm/Kconfig
@@ -9,8 +9,41 @@ config CLK_BCM_KONA
          in the BCM281xx and BCM21664 families.
 
 config COMMON_CLK_IPROC
-       bool
+       bool "Broadcom iProc clock support"
+       depends on ARCH_BCM_IPROC
        depends on COMMON_CLK
+       default ARCH_BCM_IPROC
        help
          Enable common clock framework support for Broadcom SoCs
          based on the iProc architecture
+
+if COMMON_CLK_IPROC
+
+comment "Broadcom iProc clocks"
+
+config CLK_BCM_CYGNUS
+       bool "Broadcom Cygnus clock support"
+       depends on COMMON_CLK_IPROC
+       depends on ARCH_BCM_CYGNUS
+       default ARCH_BCM_CYGNUS
+       help
+         Enable common clock framework support for the Broadcom Cygnus SoC
+
+config CLK_BCM_NSP
+       bool "Broadcom Northstar/Northstar Plus clock support"
+       depends on COMMON_CLK_IPROC
+       depends on ARCH_BCM_5301X || ARCH_BCM_NSP
+       default ARCH_BCM_5301X || ARCH_BCM_NSP
+       help
+         Enable common clock framework support for the Broadcom Northstar and
+         Northstar Plus SoCs
+
+config CLK_BCM_NS2
+       bool "Broadcom Northstar 2 clock support"
+       depends on ARM64
+       depends on COMMON_CLK_IPROC
+       default ARCH_BCM_IPROC
+       help
+         Enable common clock framework support for the Broadcom Northstar 2 SoC
+
+endif
diff --git a/drivers/clk/bcm/Makefile b/drivers/clk/bcm/Makefile
index 2d1cbc5..05d5830 100644
--- a/drivers/clk/bcm/Makefile
+++ b/drivers/clk/bcm/Makefile
@@ -3,7 +3,6 @@ obj-$(CONFIG_CLK_BCM_KONA)      += clk-kona-setup.o
 obj-$(CONFIG_CLK_BCM_KONA)     += clk-bcm281xx.o
 obj-$(CONFIG_CLK_BCM_KONA)     += clk-bcm21664.o
 obj-$(CONFIG_COMMON_CLK_IPROC) += clk-iproc-armpll.o clk-iproc-pll.o 
clk-iproc-asiu.o
-obj-$(CONFIG_COMMON_CLK_IPROC) += clk-ns2.o
-obj-$(CONFIG_ARCH_BCM_CYGNUS)  += clk-cygnus.o
-obj-$(CONFIG_ARCH_BCM_NSP)     += clk-nsp.o
-obj-$(CONFIG_ARCH_BCM_5301X)   += clk-nsp.o
+obj-$(CONFIG_CLK_BCM_CYGNUS)   += clk-cygnus.o
+obj-$(CONFIG_CLK_BCM_NSP)      += clk-nsp.o
+obj-$(CONFIG_CLK_BCM_NS2)      += clk-ns2.o
-- 
1.9.1

--
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/

Reply via email to