diff mbox series

[05/17] clk: versatile: Kill CONFIG_COMMON_CLK_VERSATILE

Message ID 20200419170810.5738-6-robh@kernel.org (mailing list archive)
State Changes Requested, archived
Headers show
Series Modularizing Versatile Express | expand

Commit Message

Rob Herring (Arm) April 19, 2020, 5:07 p.m. UTC
CONFIG_COMMON_CLK_VERSATILE doesn't really do anything other than hiding
Arm Ltd reference platform clock drivers. It is both selected by the
platforms that need it and has a 'depends on' for those platforms. It
selects REGMAP_MMIO, but really CONFIG_ICST should do that. Also,
CONFIG_ICST can't be enabled for COMPILE_TEST unless something else
selected it.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/mach-integrator/Kconfig |  1 -
 arch/arm/mach-realview/Kconfig   |  1 -
 arch/arm/mach-versatile/Kconfig  |  1 -
 arch/arm/mach-vexpress/Kconfig   |  1 -
 arch/arm64/Kconfig.platforms     |  1 -
 drivers/clk/Makefile             |  2 +-
 drivers/clk/versatile/Kconfig    | 13 ++-----------
 7 files changed, 3 insertions(+), 17 deletions(-)

Comments

Linus Walleij April 20, 2020, 6:44 a.m. UTC | #1
On Sun, Apr 19, 2020 at 7:08 PM Rob Herring <robh@kernel.org> wrote:

> CONFIG_COMMON_CLK_VERSATILE doesn't really do anything other than hiding
> Arm Ltd reference platform clock drivers. It is both selected by the
> platforms that need it and has a 'depends on' for those platforms. It
> selects REGMAP_MMIO, but really CONFIG_ICST should do that. Also,
> CONFIG_ICST can't be enabled for COMPILE_TEST unless something else
> selected it.
>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: Liviu Dudau <liviu.dudau@arm.com>
> Cc: Sudeep Holla <sudeep.holla@arm.com>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Stephen Boyd <sboyd@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Rob Herring <robh@kernel.org>

Good catch!

Since this conflicts a bit with other Kconfig patches I have pending for
mach:s in arch/arm it'd be great if I can get an ACK from the clk
maintainers and merge it with the rest in a pull request to the
SoC tree.

Yours,
Linus Walleij
Stephen Boyd April 22, 2020, 9:47 a.m. UTC | #2
Quoting Rob Herring (2020-04-19 10:07:58)
> diff --git a/drivers/clk/versatile/Kconfig b/drivers/clk/versatile/Kconfig
> index c2618f1477a2..3465fb291998 100644
> --- a/drivers/clk/versatile/Kconfig
> +++ b/drivers/clk/versatile/Kconfig
> @@ -1,22 +1,14 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config ICST
> -       bool
> -
> -config COMMON_CLK_VERSATILE
> -       bool "Clock driver for ARM Reference designs"
> -       depends on ARCH_INTEGRATOR || ARCH_REALVIEW || \
> -               ARCH_VERSATILE || ARCH_VEXPRESS || ARM64 || \
> -               COMPILE_TEST
> +       bool "Clock driver for ARM Reference designs ICST" if COMPILE_TEST
>         select REGMAP_MMIO
>         ---help---
>           Supports clocking on ARM Reference designs:
>           - Integrator/AP and Integrator/CP
>           - RealView PB1176, EB, PB11MP and PBX
> -         - Versatile Express
>  
>  config CLK_SP810
>         bool "Clock driver for ARM SP810 System Controller"
> -       depends on COMMON_CLK_VERSATILE

Shouldn't this get the depends from COMMON_CLK_VERSATILE so that this
option isn't exposed unless someone is compile testing or using that
platform?

>         default y if ARCH_VEXPRESS
>         ---help---
>           Supports clock muxing (REFCLK/TIMCLK to TIMERCLKEN0-3) capabilities
> @@ -24,8 +16,7 @@ config CLK_SP810
>  
>  config CLK_VEXPRESS_OSC
>         bool "Clock driver for Versatile Express OSC clock generators"
> -       depends on COMMON_CLK_VERSATILE
> -       depends on VEXPRESS_CONFIG
> +       depends on VEXPRESS_CONFIG || COMPILE_TEST
>         default y if ARCH_VEXPRESS
>         ---help---
>           Simple regmap-based driver driving clock generators on Versatile
Sudeep Holla April 22, 2020, 7:17 p.m. UTC | #3
On Sun, Apr 19, 2020 at 12:07:58PM -0500, Rob Herring wrote:
> CONFIG_COMMON_CLK_VERSATILE doesn't really do anything other than hiding
> Arm Ltd reference platform clock drivers. It is both selected by the
> platforms that need it and has a 'depends on' for those platforms. It
> selects REGMAP_MMIO, but really CONFIG_ICST should do that. Also,
> CONFIG_ICST can't be enabled for COMPILE_TEST unless something else
> selected it.
> 
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: Liviu Dudau <liviu.dudau@arm.com>
> Cc: Sudeep Holla <sudeep.holla@arm.com>

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Rob Herring (Arm) April 22, 2020, 10:34 p.m. UTC | #4
On Wed, Apr 22, 2020 at 4:47 AM Stephen Boyd <sboyd@kernel.org> wrote:
>
> Quoting Rob Herring (2020-04-19 10:07:58)
> > diff --git a/drivers/clk/versatile/Kconfig b/drivers/clk/versatile/Kconfig
> > index c2618f1477a2..3465fb291998 100644
> > --- a/drivers/clk/versatile/Kconfig
> > +++ b/drivers/clk/versatile/Kconfig
> > @@ -1,22 +1,14 @@
> >  # SPDX-License-Identifier: GPL-2.0-only
> >  config ICST
> > -       bool
> > -
> > -config COMMON_CLK_VERSATILE
> > -       bool "Clock driver for ARM Reference designs"
> > -       depends on ARCH_INTEGRATOR || ARCH_REALVIEW || \
> > -               ARCH_VERSATILE || ARCH_VEXPRESS || ARM64 || \
> > -               COMPILE_TEST
> > +       bool "Clock driver for ARM Reference designs ICST" if COMPILE_TEST
> >         select REGMAP_MMIO
> >         ---help---
> >           Supports clocking on ARM Reference designs:
> >           - Integrator/AP and Integrator/CP
> >           - RealView PB1176, EB, PB11MP and PBX
> > -         - Versatile Express
> >
> >  config CLK_SP810
> >         bool "Clock driver for ARM SP810 System Controller"
> > -       depends on COMMON_CLK_VERSATILE
>
> Shouldn't this get the depends from COMMON_CLK_VERSATILE so that this
> option isn't exposed unless someone is compile testing or using that
> platform?

IMO, once the dependencies get complicated enough, it's better to just
expose the option. But I could drop just the select and keep the
depends. It's primarily having both that we didn't need.

Rob
diff mbox series

Patch

diff --git a/arch/arm/mach-integrator/Kconfig b/arch/arm/mach-integrator/Kconfig
index 982eabc36163..d59ba15a6b69 100644
--- a/arch/arm/mach-integrator/Kconfig
+++ b/arch/arm/mach-integrator/Kconfig
@@ -3,7 +3,6 @@  menuconfig ARCH_INTEGRATOR
 	bool "ARM Ltd. Integrator family"
 	depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6
 	select ARM_AMBA
-	select COMMON_CLK_VERSATILE
 	select HAVE_TCM
 	select ICST
 	select MFD_SYSCON
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig
index e7633c0aaae7..83ec9eeb3e5f 100644
--- a/arch/arm/mach-realview/Kconfig
+++ b/arch/arm/mach-realview/Kconfig
@@ -6,7 +6,6 @@  menuconfig ARCH_REALVIEW
 	select ARM_GIC
 	select ARM_TIMER_SP804
 	select CLK_SP810
-	select COMMON_CLK_VERSATILE
 	select GPIO_PL061 if GPIOLIB
 	select HAVE_ARM_SCU if SMP
 	select HAVE_ARM_TWD if SMP
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
index f5c275434d6c..d88e7725bf99 100644
--- a/arch/arm/mach-versatile/Kconfig
+++ b/arch/arm/mach-versatile/Kconfig
@@ -6,7 +6,6 @@  config ARCH_VERSATILE
 	select ARM_TIMER_SP804
 	select ARM_VIC
 	select CLKSRC_VERSATILE
-	select COMMON_CLK_VERSATILE
 	select CPU_ARM926T
 	select ICST
 	select MFD_SYSCON
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
index 18951cd20d9d..2d1fdec4c230 100644
--- a/arch/arm/mach-vexpress/Kconfig
+++ b/arch/arm/mach-vexpress/Kconfig
@@ -7,7 +7,6 @@  menuconfig ARCH_VEXPRESS
 	select ARM_GIC
 	select ARM_GLOBAL_TIMER
 	select ARM_TIMER_SP804
-	select COMMON_CLK_VERSATILE
 	select GPIOLIB
 	select HAVE_ARM_SCU if SMP
 	select HAVE_ARM_TWD if SMP
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 5c38dc56b808..25cbb556d863 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -274,7 +274,6 @@  config ARCH_UNIPHIER
 
 config ARCH_VEXPRESS
 	bool "ARMv8 software model (Versatile Express)"
-	select COMMON_CLK_VERSATILE
 	select GPIOLIB
 	select PM
 	select PM_GENERIC_DOMAINS
diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
index f4169cc2fd31..fb30c16e1596 100644
--- a/drivers/clk/Makefile
+++ b/drivers/clk/Makefile
@@ -114,7 +114,7 @@  obj-$(CONFIG_ARCH_TEGRA)		+= tegra/
 obj-y					+= ti/
 obj-$(CONFIG_CLK_UNIPHIER)		+= uniphier/
 obj-$(CONFIG_ARCH_U8500)		+= ux500/
-obj-$(CONFIG_COMMON_CLK_VERSATILE)	+= versatile/
+obj-y					+= versatile/
 ifeq ($(CONFIG_COMMON_CLK), y)
 obj-$(CONFIG_X86)			+= x86/
 endif
diff --git a/drivers/clk/versatile/Kconfig b/drivers/clk/versatile/Kconfig
index c2618f1477a2..3465fb291998 100644
--- a/drivers/clk/versatile/Kconfig
+++ b/drivers/clk/versatile/Kconfig
@@ -1,22 +1,14 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config ICST
-	bool
-
-config COMMON_CLK_VERSATILE
-	bool "Clock driver for ARM Reference designs"
-	depends on ARCH_INTEGRATOR || ARCH_REALVIEW || \
-		ARCH_VERSATILE || ARCH_VEXPRESS || ARM64 || \
-		COMPILE_TEST
+	bool "Clock driver for ARM Reference designs ICST" if COMPILE_TEST
 	select REGMAP_MMIO
 	---help---
 	  Supports clocking on ARM Reference designs:
 	  - Integrator/AP and Integrator/CP
 	  - RealView PB1176, EB, PB11MP and PBX
-	  - Versatile Express
 
 config CLK_SP810
 	bool "Clock driver for ARM SP810 System Controller"
-	depends on COMMON_CLK_VERSATILE
 	default y if ARCH_VEXPRESS
 	---help---
 	  Supports clock muxing (REFCLK/TIMCLK to TIMERCLKEN0-3) capabilities
@@ -24,8 +16,7 @@  config CLK_SP810
 
 config CLK_VEXPRESS_OSC
 	bool "Clock driver for Versatile Express OSC clock generators"
-	depends on COMMON_CLK_VERSATILE
-	depends on VEXPRESS_CONFIG
+	depends on VEXPRESS_CONFIG || COMPILE_TEST
 	default y if ARCH_VEXPRESS
 	---help---
 	  Simple regmap-based driver driving clock generators on Versatile