2017-07-02 16:09:41

by Vincent Legoll

[permalink] [raw]
Subject: [PATCH] Make Common clock framework a menuconfig to ease disabling it all

No need to get into the submenu to disable all common clock framework
-related config entries

Signed-off-by: Vincent Legoll <[email protected]>
---
drivers/clk/Kconfig | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 36cfea3..a1b174c 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -19,9 +19,12 @@ config COMMON_CLK
Architectures utilizing the common struct clk should select
this option.

-menu "Common Clock Framework"
+menuconfig COMMON_CLK_FRAMEWORK
+ tristate "Common Clock Framework"
depends on COMMON_CLK

+if COMMON_CLK_FRAMEWORK
+
config COMMON_CLK_WM831X
tristate "Clock driver for WM831x/2x PMICs"
depends on MFD_WM831X
@@ -230,4 +233,4 @@ source "drivers/clk/tegra/Kconfig"
source "drivers/clk/ti/Kconfig"
source "drivers/clk/uniphier/Kconfig"

-endmenu
+endif # COMMON_CLK_FRAMEWORK
--
2.7.4


2017-07-04 23:44:24

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] Make Common clock framework a menuconfig to ease disabling it all

Hi Vincent,

[auto build test ERROR on clk/clk-next]
[also build test ERROR on v4.12 next-20170704]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Vincent-Legoll/Make-Common-clock-framework-a-menuconfig-to-ease-disabling-it-all/20170705-024830
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: arm-multi_v7_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm

All error/warnings (new ones prefixed by >>):

warning: (ARCH_INTEGRATOR && ARCH_REALVIEW && ARCH_VERSATILE && ARCH_VEXPRESS && ARCH_ZYNQ) selects ICST which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (ARCH_INTEGRATOR && ARCH_REALVIEW && ARCH_VERSATILE && ARCH_VEXPRESS) selects COMMON_CLK_VERSATILE which has unmet direct dependencies (COMMON_CLK_FRAMEWORK && (ARCH_INTEGRATOR || ARCH_REALVIEW || ARCH_VERSATILE || ARCH_VEXPRESS || ARM64 || COMPILE_TEST))
warning: (ARCH_KEYSTONE) selects COMMON_CLK_KEYSTONE which has unmet direct dependencies (COMMON_CLK_FRAMEWORK && (ARCH_KEYSTONE || COMPILE_TEST) && OF)
warning: (MACH_ARMADA_370) selects ARMADA_370_CLK which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (MACH_ARMADA_375) selects ARMADA_375_CLK which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (MACH_ARMADA_38X) selects ARMADA_38X_CLK which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (MACH_ARMADA_39X) selects ARMADA_39X_CLK which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (MACH_ARMADA_XP) selects ARMADA_XP_CLK which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (MACH_DOVE) selects DOVE_CLK which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (MACH_MESON8B) selects COMMON_CLK_MESON8B which has unmet direct dependencies (COMMON_CLK_FRAMEWORK && COMMON_CLK_AMLOGIC)
warning: (MACH_MVEBU_V7) selects MVEBU_CLK_COREDIV which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (QORIQ_CPUFREQ) selects CLK_QORIQ which has unmet direct dependencies (COMMON_CLK_FRAMEWORK && (PPC_E500MC || ARM || ARM64 || COMPILE_TEST) && OF)
drivers/built-in.o: In function `a370_clk_init':
>> sunxi_sid.c:(.init.text+0x2a638): undefined reference to `mvebu_coreclk_setup'
>> sunxi_sid.c:(.init.text+0x2a650): undefined reference to `mvebu_clk_gating_setup'
drivers/built-in.o: In function `armada_375_coreclk_init':
sunxi_sid.c:(.init.text+0x2a718): undefined reference to `mvebu_coreclk_setup'
drivers/built-in.o: In function `armada_375_clk_gating_init':
sunxi_sid.c:(.init.text+0x2a720): undefined reference to `mvebu_clk_gating_setup'
drivers/built-in.o: In function `armada_38x_coreclk_init':
sunxi_sid.c:(.init.text+0x2a7e8): undefined reference to `mvebu_coreclk_setup'
drivers/built-in.o: In function `armada_38x_clk_gating_init':
sunxi_sid.c:(.init.text+0x2a7f0): undefined reference to `mvebu_clk_gating_setup'
drivers/built-in.o: In function `armada_39x_coreclk_init':
sunxi_sid.c:(.init.text+0x2a8c8): undefined reference to `mvebu_coreclk_setup'
drivers/built-in.o: In function `armada_39x_clk_gating_init':
sunxi_sid.c:(.init.text+0x2a8d0): undefined reference to `mvebu_clk_gating_setup'
drivers/built-in.o: In function `axp_clk_init':
sunxi_sid.c:(.init.text+0x2a9e8): undefined reference to `mvebu_coreclk_setup'
sunxi_sid.c:(.init.text+0x2aa00): undefined reference to `mvebu_clk_gating_setup'
drivers/built-in.o: In function `mv98dx3236_clk_init':
sunxi_sid.c:(.init.text+0x2aa94): undefined reference to `mvebu_coreclk_setup'
sunxi_sid.c:(.init.text+0x2aab0): undefined reference to `mvebu_clk_gating_setup'
drivers/built-in.o: In function `dove_clk_init':
sunxi_sid.c:(.init.text+0x2acb0): undefined reference to `mvebu_coreclk_setup'
sunxi_sid.c:(.init.text+0x2acd8): undefined reference to `mvebu_clk_gating_setup'
drivers/built-in.o: In function `.LANCHOR1':
>> sunxi_sid.c:(.rodata+0xc20a8): undefined reference to `kirkwood_fix_sscg_deviation'

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (4.40 kB)
.config.gz (39.81 kB)
Download all attachments

2017-07-04 23:47:31

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] Make Common clock framework a menuconfig to ease disabling it all

Hi Vincent,

[auto build test ERROR on clk/clk-next]
[also build test ERROR on v4.12 next-20170704]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Vincent-Legoll/Make-Common-clock-framework-a-menuconfig-to-ease-disabling-it-all/20170705-024830
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: arm-multi_v5_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm

All error/warnings (new ones prefixed by >>):

warning: (ARCH_ORION5X_DT) selects ORION_CLK which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
warning: (MACH_KIRKWOOD) selects KIRKWOOD_CLK which has unmet direct dependencies (COMMON_CLK_FRAMEWORK)
drivers/built-in.o: In function `kirkwood_clk_init':
>> drivers/clk/mvebu/kirkwood.c:331: undefined reference to `mvebu_coreclk_setup'
>> drivers/clk/mvebu/kirkwood.c:334: undefined reference to `mvebu_clk_gating_setup'
>> drivers/clk/mvebu/kirkwood.c:337: undefined reference to `ctrl_gating_lock'
drivers/built-in.o: In function `mv88f5181_clk_init':
>> drivers/clk/mvebu/orion.c:88: undefined reference to `mvebu_coreclk_setup'
drivers/built-in.o: In function `mv88f5182_clk_init':
drivers/clk/mvebu/orion.c:156: undefined reference to `mvebu_coreclk_setup'
drivers/built-in.o: In function `mv88f5281_clk_init':
drivers/clk/mvebu/orion.c:213: undefined reference to `mvebu_coreclk_setup'
drivers/built-in.o: In function `mv88f6183_clk_init':
drivers/clk/mvebu/orion.c:277: undefined reference to `mvebu_coreclk_setup'

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (1.99 kB)
.config.gz (28.29 kB)
Download all attachments

2017-07-05 21:15:28

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] Make Common clock framework a menuconfig to ease disabling it all

On 07/02, Vincent Legoll wrote:
> No need to get into the submenu to disable all common clock framework
> -related config entries
>
> Signed-off-by: Vincent Legoll <[email protected]>
> ---
> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> index 36cfea3..a1b174c 100644
> --- a/drivers/clk/Kconfig
> +++ b/drivers/clk/Kconfig
> @@ -19,9 +19,12 @@ config COMMON_CLK
> Architectures utilizing the common struct clk should select
> this option.
>
> -menu "Common Clock Framework"
> +menuconfig COMMON_CLK_FRAMEWORK
> + tristate "Common Clock Framework"
> depends on COMMON_CLK

Wouldn't this put the clk drivers inside the drivers menu? Which
is already quite large right now. Plus this makes common clk
tristate which so far we haven't supported. No thanks.

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

2017-07-06 07:25:08

by Vincent Legoll

[permalink] [raw]
Subject: Re: [PATCH] Make Common clock framework a menuconfig to ease disabling it all

Hello,

On Wed, Jul 5, 2017 at 11:15 PM, Stephen Boyd <[email protected]> wrote:
> On 07/02, Vincent Legoll wrote:
>> -menu "Common Clock Framework"
>> +menuconfig COMMON_CLK_FRAMEWORK
>> + tristate "Common Clock Framework"
>> depends on COMMON_CLK
>
> Wouldn't this put the clk drivers inside the drivers menu?

This does not move anything (at least I think), it just change the
already existing submenu into a menuconfig, which you can
choose to disable as a whole, which disable everything inside
that menuconfig. Maybe there are side effects visible outside
of this menu.

> Which is already quite large right now.

That's right, and I'm willing to tackle at least a part of this
problem, first by making it easier to disable whole chunks
at once.

> Plus this makes common clk
> tristate which so far we haven't supported. No thanks.

OK that was an oversight, I'll revisit later (going for the low
hanging fruits). But this is moot anyways, you should drop
that patch because it introduces new compile warnings on
ARM.

Sorry

--
Vincent Legoll