* [PATCH 0/9] Allow COMMON_CLK to be selectable @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Rich Felker, linux-sh, Catalin Marinas, Jiaxun Yang, linux-mips, Manivannan Sadhasivam, chenhc, Will Deacon, linux-clk, linux-c6x-dev, Alexander Shiyan, Russell King, Yoshinori Sato, Geert Uytterhoeven, Mark Salter, Thierry Reding, uclinux-h8-devel, Arnd Bergmann, Aurelien Jacquiot, Lubomir Rintel, linux-m68k, Mark Brown, Guan Xuetao, linux-arm-kernel, Paul Walmsley, Thomas Bogendoerfer, Paul Burton, linux-kernel, Tony Prisk, Andreas Färber This patch series cleans up a handful of selects that were redundant and deletes presumably dead code with the goal of making it possible to add kunit tests for the CCF in the future. To do that, we introduce a "legacy" clk Kconfig option to mark code that hasn't migrated to the common clk framework and then make the COMMON_CLK config option visible in the menuconfig as long as that legacy option isn't enabled. I've also included a couple patches at the end that may be more controversial but helped me consolidate all this logic/code. I haven't done more than compile test a few configs for arm, arm64, h8300, and mips. More testing is welcome. The plan is that I'll just merge the whole pile through the clk tree. If the first five patches or the last three patches are better going through another tree like arm-soc or architecture trees that's fine too, but there are potential conflicts between trees so maybe it's better to just leave it all in one tree. Stephen Boyd (9): ARM: Remove redundant COMMON_CLK selects ARM: Remove redundant CLKDEV_LOOKUP selects arm64: tegra: Remove redundant CLKDEV_LOOKUP selects h8300: Remove redundant CLKDEV_LOOKUP selects MIPS: Remove redundant CLKDEV_LOOKUP selects clk: Allow the common clk framework to be selectable ARM: mmp: Remove legacy clk code MIPS: Loongson64: Drop asm/clock.h include clk: Move HAVE_CLK config out of architecture layer Cc: Alexander Shiyan <shc_work@mail.ru> Cc: "Andreas Färber" <afaerber@suse.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: <chenhc@lemote.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-mips@vger.kernel.org> Cc: <linux-sh@vger.kernel.org> Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Cc: Mark Brown <broonie@kernel.org> Cc: Mark Salter <msalter@redhat.com> Cc: Paul Burton <paulburton@kernel.org> Cc: Paul Walmsley <paul@pwsan.com> Cc: Rich Felker <dalias@libc.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Thierry Reding <treding@nvidia.com> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Tony Prisk <linux@prisktech.co.nz> Cc: uclinux-h8-devel@lists.sourceforge.jp Cc: Will Deacon <will@kernel.org> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> arch/Kconfig | 6 -- arch/arm/Kconfig | 5 +- arch/arm/mach-actions/Kconfig | 1 - arch/arm/mach-clps711x/Kconfig | 1 - arch/arm/mach-mmp/Kconfig | 1 - arch/arm/mach-mmp/Makefile | 6 -- arch/arm/mach-mmp/clock-mmp2.c | 114 ------------------------------- arch/arm/mach-mmp/clock-pxa168.c | 94 ------------------------- arch/arm/mach-mmp/clock-pxa910.c | 70 ------------------- arch/arm/mach-mmp/clock.c | 105 ---------------------------- arch/arm/mach-mmp/clock.h | 65 ------------------ arch/arm/mach-vt8500/Kconfig | 1 - arch/arm64/Kconfig.platforms | 1 - arch/c6x/Kconfig | 1 + arch/h8300/Kconfig | 1 - arch/m68k/Kconfig.cpu | 2 +- arch/mips/Kconfig | 8 +-- arch/mips/loongson2ef/Kconfig | 2 +- arch/mips/loongson64/smp.c | 1 - arch/sh/boards/Kconfig | 5 ++ arch/unicore32/Kconfig | 2 +- drivers/clk/Kconfig | 23 +++++-- 22 files changed, 34 insertions(+), 481 deletions(-) delete mode 100644 arch/arm/mach-mmp/clock-mmp2.c delete mode 100644 arch/arm/mach-mmp/clock-pxa168.c delete mode 100644 arch/arm/mach-mmp/clock-pxa910.c delete mode 100644 arch/arm/mach-mmp/clock.c delete mode 100644 arch/arm/mach-mmp/clock.h base-commit: 7111951b8d4973bda27ff663f2cf18b663d15b48 -- Sent by a computer, using git, on the internet ^ permalink raw reply [flat|nested] 39+ messages in thread
* [PATCH 0/9] Allow COMMON_CLK to be selectable @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Rich Felker, linux-sh, Catalin Marinas, Jiaxun Yang, linux-mips, Manivannan Sadhasivam, chenhc, Will Deacon, linux-clk, linux-c6x-dev, Alexander Shiyan, Russell King, Yoshinori Sato, Geert Uytterhoeven, Mark Salter, Thierry Reding, uclinux-h8-devel, Arnd Bergmann, Aurelien Jacquiot, Lubomir Rintel, linux-m68k, Mark Brown, Guan Xuetao, linux-arm-kernel, Paul Walmsley, Thomas Bogendoerfer, Paul Burton, linux-kernel, Tony Prisk, Andreas Färber This patch series cleans up a handful of selects that were redundant and deletes presumably dead code with the goal of making it possible to add kunit tests for the CCF in the future. To do that, we introduce a "legacy" clk Kconfig option to mark code that hasn't migrated to the common clk framework and then make the COMMON_CLK config option visible in the menuconfig as long as that legacy option isn't enabled. I've also included a couple patches at the end that may be more controversial but helped me consolidate all this logic/code. I haven't done more than compile test a few configs for arm, arm64, h8300, and mips. More testing is welcome. The plan is that I'll just merge the whole pile through the clk tree. If the first five patches or the last three patches are better going through another tree like arm-soc or architecture trees that's fine too, but there are potential conflicts between trees so maybe it's better to just leave it all in one tree. Stephen Boyd (9): ARM: Remove redundant COMMON_CLK selects ARM: Remove redundant CLKDEV_LOOKUP selects arm64: tegra: Remove redundant CLKDEV_LOOKUP selects h8300: Remove redundant CLKDEV_LOOKUP selects MIPS: Remove redundant CLKDEV_LOOKUP selects clk: Allow the common clk framework to be selectable ARM: mmp: Remove legacy clk code MIPS: Loongson64: Drop asm/clock.h include clk: Move HAVE_CLK config out of architecture layer Cc: Alexander Shiyan <shc_work@mail.ru> Cc: "Andreas Färber" <afaerber@suse.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: <chenhc@lemote.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-mips@vger.kernel.org> Cc: <linux-sh@vger.kernel.org> Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Cc: Mark Brown <broonie@kernel.org> Cc: Mark Salter <msalter@redhat.com> Cc: Paul Burton <paulburton@kernel.org> Cc: Paul Walmsley <paul@pwsan.com> Cc: Rich Felker <dalias@libc.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Thierry Reding <treding@nvidia.com> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Tony Prisk <linux@prisktech.co.nz> Cc: uclinux-h8-devel@lists.sourceforge.jp Cc: Will Deacon <will@kernel.org> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> arch/Kconfig | 6 -- arch/arm/Kconfig | 5 +- arch/arm/mach-actions/Kconfig | 1 - arch/arm/mach-clps711x/Kconfig | 1 - arch/arm/mach-mmp/Kconfig | 1 - arch/arm/mach-mmp/Makefile | 6 -- arch/arm/mach-mmp/clock-mmp2.c | 114 ------------------------------- arch/arm/mach-mmp/clock-pxa168.c | 94 ------------------------- arch/arm/mach-mmp/clock-pxa910.c | 70 ------------------- arch/arm/mach-mmp/clock.c | 105 ---------------------------- arch/arm/mach-mmp/clock.h | 65 ------------------ arch/arm/mach-vt8500/Kconfig | 1 - arch/arm64/Kconfig.platforms | 1 - arch/c6x/Kconfig | 1 + arch/h8300/Kconfig | 1 - arch/m68k/Kconfig.cpu | 2 +- arch/mips/Kconfig | 8 +-- arch/mips/loongson2ef/Kconfig | 2 +- arch/mips/loongson64/smp.c | 1 - arch/sh/boards/Kconfig | 5 ++ arch/unicore32/Kconfig | 2 +- drivers/clk/Kconfig | 23 +++++-- 22 files changed, 34 insertions(+), 481 deletions(-) delete mode 100644 arch/arm/mach-mmp/clock-mmp2.c delete mode 100644 arch/arm/mach-mmp/clock-pxa168.c delete mode 100644 arch/arm/mach-mmp/clock-pxa910.c delete mode 100644 arch/arm/mach-mmp/clock.c delete mode 100644 arch/arm/mach-mmp/clock.h base-commit: 7111951b8d4973bda27ff663f2cf18b663d15b48 -- Sent by a computer, using git, on the internet _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 39+ messages in thread
* [PATCH 0/9] Allow COMMON_CLK to be selectable @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Alexander Shiyan, Andreas Färber, Arnd Bergmann, Aurelien Jacquiot, Catalin Marinas, chenhc, Geert Uytterhoeven, Guan Xuetao, Jiaxun Yang, linux-arm-kernel, linux-c6x-dev, linux-m68k, linux-mips, linux-sh, Lubomir Rintel, Manivannan Sadhasivam, Mark Brown, Mark Salter, Paul Burton, Paul Walmsley, Rich Felker, Russell King, Thierry Reding, Thomas Bogendoerfer, Tony Prisk, uclinux-h8-devel, Will Deacon, Yoshinori Sato This patch series cleans up a handful of selects that were redundant and deletes presumably dead code with the goal of making it possible to add kunit tests for the CCF in the future. To do that, we introduce a "legacy" clk Kconfig option to mark code that hasn't migrated to the common clk framework and then make the COMMON_CLK config option visible in the menuconfig as long as that legacy option isn't enabled. I've also included a couple patches at the end that may be more controversial but helped me consolidate all this logic/code. I haven't done more than compile test a few configs for arm, arm64, h8300, and mips. More testing is welcome. The plan is that I'll just merge the whole pile through the clk tree. If the first five patches or the last three patches are better going through another tree like arm-soc or architecture trees that's fine too, but there are potential conflicts between trees so maybe it's better to just leave it all in one tree. Stephen Boyd (9): ARM: Remove redundant COMMON_CLK selects ARM: Remove redundant CLKDEV_LOOKUP selects arm64: tegra: Remove redundant CLKDEV_LOOKUP selects h8300: Remove redundant CLKDEV_LOOKUP selects MIPS: Remove redundant CLKDEV_LOOKUP selects clk: Allow the common clk framework to be selectable ARM: mmp: Remove legacy clk code MIPS: Loongson64: Drop asm/clock.h include clk: Move HAVE_CLK config out of architecture layer Cc: Alexander Shiyan <shc_work@mail.ru> Cc: "Andreas Färber" <afaerber@suse.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: <chenhc@lemote.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-mips@vger.kernel.org> Cc: <linux-sh@vger.kernel.org> Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Cc: Mark Brown <broonie@kernel.org> Cc: Mark Salter <msalter@redhat.com> Cc: Paul Burton <paulburton@kernel.org> Cc: Paul Walmsley <paul@pwsan.com> Cc: Rich Felker <dalias@libc.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Thierry Reding <treding@nvidia.com> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Tony Prisk <linux@prisktech.co.nz> Cc: uclinux-h8-devel@lists.sourceforge.jp Cc: Will Deacon <will@kernel.org> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> arch/Kconfig | 6 -- arch/arm/Kconfig | 5 +- arch/arm/mach-actions/Kconfig | 1 - arch/arm/mach-clps711x/Kconfig | 1 - arch/arm/mach-mmp/Kconfig | 1 - arch/arm/mach-mmp/Makefile | 6 -- arch/arm/mach-mmp/clock-mmp2.c | 114 ------------------------------- arch/arm/mach-mmp/clock-pxa168.c | 94 ------------------------- arch/arm/mach-mmp/clock-pxa910.c | 70 ------------------- arch/arm/mach-mmp/clock.c | 105 ---------------------------- arch/arm/mach-mmp/clock.h | 65 ------------------ arch/arm/mach-vt8500/Kconfig | 1 - arch/arm64/Kconfig.platforms | 1 - arch/c6x/Kconfig | 1 + arch/h8300/Kconfig | 1 - arch/m68k/Kconfig.cpu | 2 +- arch/mips/Kconfig | 8 +-- arch/mips/loongson2ef/Kconfig | 2 +- arch/mips/loongson64/smp.c | 1 - arch/sh/boards/Kconfig | 5 ++ arch/unicore32/Kconfig | 2 +- drivers/clk/Kconfig | 23 +++++-- 22 files changed, 34 insertions(+), 481 deletions(-) delete mode 100644 arch/arm/mach-mmp/clock-mmp2.c delete mode 100644 arch/arm/mach-mmp/clock-pxa168.c delete mode 100644 arch/arm/mach-mmp/clock-pxa910.c delete mode 100644 arch/arm/mach-mmp/clock.c delete mode 100644 arch/arm/mach-mmp/clock.h base-commit: 7111951b8d4973bda27ff663f2cf18b663d15b48 -- Sent by a computer, using git, on the internet ^ permalink raw reply [flat|nested] 39+ messages in thread
* [PATCH 1/9] ARM: Remove redundant COMMON_CLK selects 2020-04-05 2:51 ` Stephen Boyd @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Andreas Färber, Manivannan Sadhasivam, Russell King, Alexander Shiyan, Lubomir Rintel, linux-arm-kernel, Arnd Bergmann The mulitplatform config already selects COMMON_CLK, so selecting it again is not useful. Remove these selects from ARM platforms that are part of the multiplatform build. Cc: "Andreas Färber" <afaerber@suse.de> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Alexander Shiyan <shc_work@mail.ru> Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/mach-actions/Kconfig | 1 - arch/arm/mach-clps711x/Kconfig | 1 - arch/arm/mach-mmp/Kconfig | 1 - 3 files changed, 3 deletions(-) diff --git a/arch/arm/mach-actions/Kconfig b/arch/arm/mach-actions/Kconfig index b5e0ac965ec0..00fb4babccdd 100644 --- a/arch/arm/mach-actions/Kconfig +++ b/arch/arm/mach-actions/Kconfig @@ -7,7 +7,6 @@ menuconfig ARCH_ACTIONS select ARM_GLOBAL_TIMER select CACHE_L2X0 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK - select COMMON_CLK select GENERIC_IRQ_CHIP select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP diff --git a/arch/arm/mach-clps711x/Kconfig b/arch/arm/mach-clps711x/Kconfig index fc9188b54dd6..ba497a2032e9 100644 --- a/arch/arm/mach-clps711x/Kconfig +++ b/arch/arm/mach-clps711x/Kconfig @@ -5,7 +5,6 @@ menuconfig ARCH_CLPS711X select AUTO_ZRELADDR select TIMER_OF select CLPS711X_TIMER - select COMMON_CLK select CPU_ARM720T select GENERIC_CLOCKEVENTS select GPIOLIB diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig index b58a03b18bde..6fe1550f43ec 100644 --- a/arch/arm/mach-mmp/Kconfig +++ b/arch/arm/mach-mmp/Kconfig @@ -110,7 +110,6 @@ config MACH_MMP_DT depends on ARCH_MULTI_V5 select PINCTRL select PINCTRL_SINGLE - select COMMON_CLK select ARCH_HAS_RESET_CONTROLLER select CPU_MOHAWK help -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 1/9] ARM: Remove redundant COMMON_CLK selects @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Arnd Bergmann, Alexander Shiyan, linux-clk, Russell King, linux-kernel, Lubomir Rintel, Manivannan Sadhasivam, Andreas Färber, linux-arm-kernel The mulitplatform config already selects COMMON_CLK, so selecting it again is not useful. Remove these selects from ARM platforms that are part of the multiplatform build. Cc: "Andreas Färber" <afaerber@suse.de> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Alexander Shiyan <shc_work@mail.ru> Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/mach-actions/Kconfig | 1 - arch/arm/mach-clps711x/Kconfig | 1 - arch/arm/mach-mmp/Kconfig | 1 - 3 files changed, 3 deletions(-) diff --git a/arch/arm/mach-actions/Kconfig b/arch/arm/mach-actions/Kconfig index b5e0ac965ec0..00fb4babccdd 100644 --- a/arch/arm/mach-actions/Kconfig +++ b/arch/arm/mach-actions/Kconfig @@ -7,7 +7,6 @@ menuconfig ARCH_ACTIONS select ARM_GLOBAL_TIMER select CACHE_L2X0 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK - select COMMON_CLK select GENERIC_IRQ_CHIP select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP diff --git a/arch/arm/mach-clps711x/Kconfig b/arch/arm/mach-clps711x/Kconfig index fc9188b54dd6..ba497a2032e9 100644 --- a/arch/arm/mach-clps711x/Kconfig +++ b/arch/arm/mach-clps711x/Kconfig @@ -5,7 +5,6 @@ menuconfig ARCH_CLPS711X select AUTO_ZRELADDR select TIMER_OF select CLPS711X_TIMER - select COMMON_CLK select CPU_ARM720T select GENERIC_CLOCKEVENTS select GPIOLIB diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig index b58a03b18bde..6fe1550f43ec 100644 --- a/arch/arm/mach-mmp/Kconfig +++ b/arch/arm/mach-mmp/Kconfig @@ -110,7 +110,6 @@ config MACH_MMP_DT depends on ARCH_MULTI_V5 select PINCTRL select PINCTRL_SINGLE - select COMMON_CLK select ARCH_HAS_RESET_CONTROLLER select CPU_MOHAWK help -- Sent by a computer, using git, on the internet _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 39+ messages in thread
* Re: [PATCH 1/9] ARM: Remove redundant COMMON_CLK selects 2020-04-05 2:51 ` Stephen Boyd @ 2020-04-05 6:20 ` Manivannan Sadhasivam -1 siblings, 0 replies; 39+ messages in thread From: Manivannan Sadhasivam @ 2020-04-05 6:20 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, linux-kernel, linux-clk, Andreas Färber, Russell King, Alexander Shiyan, Lubomir Rintel, linux-arm-kernel, Arnd Bergmann On Sat, Apr 04, 2020 at 07:51:15PM -0700, Stephen Boyd wrote: > The mulitplatform config already selects COMMON_CLK, so selecting it > again is not useful. Remove these selects from ARM platforms that are > part of the multiplatform build. > > Cc: "Andreas Färber" <afaerber@suse.de> > Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Alexander Shiyan <shc_work@mail.ru> > Cc: Lubomir Rintel <lkundrak@v3.sk> > Cc: <linux-arm-kernel@lists.infradead.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Stephen Boyd <sboyd@kernel.org> For Actions, Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > --- > arch/arm/mach-actions/Kconfig | 1 - > arch/arm/mach-clps711x/Kconfig | 1 - > arch/arm/mach-mmp/Kconfig | 1 - > 3 files changed, 3 deletions(-) > > diff --git a/arch/arm/mach-actions/Kconfig b/arch/arm/mach-actions/Kconfig > index b5e0ac965ec0..00fb4babccdd 100644 > --- a/arch/arm/mach-actions/Kconfig > +++ b/arch/arm/mach-actions/Kconfig > @@ -7,7 +7,6 @@ menuconfig ARCH_ACTIONS > select ARM_GLOBAL_TIMER > select CACHE_L2X0 > select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK > - select COMMON_CLK > select GENERIC_IRQ_CHIP > select HAVE_ARM_SCU if SMP > select HAVE_ARM_TWD if SMP > diff --git a/arch/arm/mach-clps711x/Kconfig b/arch/arm/mach-clps711x/Kconfig > index fc9188b54dd6..ba497a2032e9 100644 > --- a/arch/arm/mach-clps711x/Kconfig > +++ b/arch/arm/mach-clps711x/Kconfig > @@ -5,7 +5,6 @@ menuconfig ARCH_CLPS711X > select AUTO_ZRELADDR > select TIMER_OF > select CLPS711X_TIMER > - select COMMON_CLK > select CPU_ARM720T > select GENERIC_CLOCKEVENTS > select GPIOLIB > diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig > index b58a03b18bde..6fe1550f43ec 100644 > --- a/arch/arm/mach-mmp/Kconfig > +++ b/arch/arm/mach-mmp/Kconfig > @@ -110,7 +110,6 @@ config MACH_MMP_DT > depends on ARCH_MULTI_V5 > select PINCTRL > select PINCTRL_SINGLE > - select COMMON_CLK > select ARCH_HAS_RESET_CONTROLLER > select CPU_MOHAWK > help > -- > Sent by a computer, using git, on the internet > ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 1/9] ARM: Remove redundant COMMON_CLK selects @ 2020-04-05 6:20 ` Manivannan Sadhasivam 0 siblings, 0 replies; 39+ messages in thread From: Manivannan Sadhasivam @ 2020-04-05 6:20 UTC (permalink / raw) To: Stephen Boyd Cc: Arnd Bergmann, Alexander Shiyan, Michael Turquette, linux-clk, Russell King, linux-kernel, Lubomir Rintel, Andreas Färber, linux-arm-kernel On Sat, Apr 04, 2020 at 07:51:15PM -0700, Stephen Boyd wrote: > The mulitplatform config already selects COMMON_CLK, so selecting it > again is not useful. Remove these selects from ARM platforms that are > part of the multiplatform build. > > Cc: "Andreas Färber" <afaerber@suse.de> > Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Alexander Shiyan <shc_work@mail.ru> > Cc: Lubomir Rintel <lkundrak@v3.sk> > Cc: <linux-arm-kernel@lists.infradead.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Stephen Boyd <sboyd@kernel.org> For Actions, Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > --- > arch/arm/mach-actions/Kconfig | 1 - > arch/arm/mach-clps711x/Kconfig | 1 - > arch/arm/mach-mmp/Kconfig | 1 - > 3 files changed, 3 deletions(-) > > diff --git a/arch/arm/mach-actions/Kconfig b/arch/arm/mach-actions/Kconfig > index b5e0ac965ec0..00fb4babccdd 100644 > --- a/arch/arm/mach-actions/Kconfig > +++ b/arch/arm/mach-actions/Kconfig > @@ -7,7 +7,6 @@ menuconfig ARCH_ACTIONS > select ARM_GLOBAL_TIMER > select CACHE_L2X0 > select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK > - select COMMON_CLK > select GENERIC_IRQ_CHIP > select HAVE_ARM_SCU if SMP > select HAVE_ARM_TWD if SMP > diff --git a/arch/arm/mach-clps711x/Kconfig b/arch/arm/mach-clps711x/Kconfig > index fc9188b54dd6..ba497a2032e9 100644 > --- a/arch/arm/mach-clps711x/Kconfig > +++ b/arch/arm/mach-clps711x/Kconfig > @@ -5,7 +5,6 @@ menuconfig ARCH_CLPS711X > select AUTO_ZRELADDR > select TIMER_OF > select CLPS711X_TIMER > - select COMMON_CLK > select CPU_ARM720T > select GENERIC_CLOCKEVENTS > select GPIOLIB > diff --git a/arch/arm/mach-mmp/Kconfig b/arch/arm/mach-mmp/Kconfig > index b58a03b18bde..6fe1550f43ec 100644 > --- a/arch/arm/mach-mmp/Kconfig > +++ b/arch/arm/mach-mmp/Kconfig > @@ -110,7 +110,6 @@ config MACH_MMP_DT > depends on ARCH_MULTI_V5 > select PINCTRL > select PINCTRL_SINGLE > - select COMMON_CLK > select ARCH_HAS_RESET_CONTROLLER > select CPU_MOHAWK > help > -- > Sent by a computer, using git, on the internet > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 1/9] ARM: Remove redundant COMMON_CLK selects 2020-04-05 2:51 ` Stephen Boyd @ 2020-04-06 11:03 ` Andreas Färber -1 siblings, 0 replies; 39+ messages in thread From: Andreas Färber @ 2020-04-06 11:03 UTC (permalink / raw) To: Stephen Boyd, Michael Turquette Cc: linux-kernel, linux-clk, Manivannan Sadhasivam, Russell King, Alexander Shiyan, Lubomir Rintel, linux-arm-kernel, Arnd Bergmann Am 05.04.20 um 04:51 schrieb Stephen Boyd: > The mulitplatform config already selects COMMON_CLK, so selecting it > again is not useful. Remove these selects from ARM platforms that are > part of the multiplatform build. > > Cc: "Andreas Färber" <afaerber@suse.de> > Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Alexander Shiyan <shc_work@mail.ru> > Cc: Lubomir Rintel <lkundrak@v3.sk> > Cc: <linux-arm-kernel@lists.infradead.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Stephen Boyd <sboyd@kernel.org> > --- > arch/arm/mach-actions/Kconfig | 1 - > arch/arm/mach-clps711x/Kconfig | 1 - > arch/arm/mach-mmp/Kconfig | 1 - > 3 files changed, 3 deletions(-) > > diff --git a/arch/arm/mach-actions/Kconfig b/arch/arm/mach-actions/Kconfig > index b5e0ac965ec0..00fb4babccdd 100644 > --- a/arch/arm/mach-actions/Kconfig > +++ b/arch/arm/mach-actions/Kconfig > @@ -7,7 +7,6 @@ menuconfig ARCH_ACTIONS > select ARM_GLOBAL_TIMER > select CACHE_L2X0 > select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK > - select COMMON_CLK > select GENERIC_IRQ_CHIP > select HAVE_ARM_SCU if SMP > select HAVE_ARM_TWD if SMP Reviewed-by: Andreas Färber <afaerber@suse.de> (Actions) New targets such as Realtek or Sunplus don't select it anymore, but it seems we didn't clean up all the old ones yet. Thanks, Andreas -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer HRB 36809 (AG Nürnberg) ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 1/9] ARM: Remove redundant COMMON_CLK selects @ 2020-04-06 11:03 ` Andreas Färber 0 siblings, 0 replies; 39+ messages in thread From: Andreas Färber @ 2020-04-06 11:03 UTC (permalink / raw) To: Stephen Boyd, Michael Turquette Cc: Arnd Bergmann, Alexander Shiyan, Russell King, linux-kernel, Lubomir Rintel, Manivannan Sadhasivam, linux-clk, linux-arm-kernel Am 05.04.20 um 04:51 schrieb Stephen Boyd: > The mulitplatform config already selects COMMON_CLK, so selecting it > again is not useful. Remove these selects from ARM platforms that are > part of the multiplatform build. > > Cc: "Andreas Färber" <afaerber@suse.de> > Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Cc: Russell King <linux@armlinux.org.uk> > Cc: Alexander Shiyan <shc_work@mail.ru> > Cc: Lubomir Rintel <lkundrak@v3.sk> > Cc: <linux-arm-kernel@lists.infradead.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Stephen Boyd <sboyd@kernel.org> > --- > arch/arm/mach-actions/Kconfig | 1 - > arch/arm/mach-clps711x/Kconfig | 1 - > arch/arm/mach-mmp/Kconfig | 1 - > 3 files changed, 3 deletions(-) > > diff --git a/arch/arm/mach-actions/Kconfig b/arch/arm/mach-actions/Kconfig > index b5e0ac965ec0..00fb4babccdd 100644 > --- a/arch/arm/mach-actions/Kconfig > +++ b/arch/arm/mach-actions/Kconfig > @@ -7,7 +7,6 @@ menuconfig ARCH_ACTIONS > select ARM_GLOBAL_TIMER > select CACHE_L2X0 > select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK > - select COMMON_CLK > select GENERIC_IRQ_CHIP > select HAVE_ARM_SCU if SMP > select HAVE_ARM_TWD if SMP Reviewed-by: Andreas Färber <afaerber@suse.de> (Actions) New targets such as Realtek or Sunplus don't select it anymore, but it seems we didn't clean up all the old ones yet. Thanks, Andreas -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer HRB 36809 (AG Nürnberg) _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 39+ messages in thread
* [PATCH 2/9] ARM: Remove redundant CLKDEV_LOOKUP selects 2020-04-05 2:51 ` Stephen Boyd @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Tony Prisk, Russell King, linux-arm-kernel, Arnd Bergmann These platforms select COMMON_CLK indirectly through use of the ARCH_MULTIPLATFORM config option that they depend on implicitly via some V7/V6/V5 multi platform config option. The COMMON_CLK config option already selects CLKDEV_LOOKUP so it's redundant to have this selected again. Cc: Tony Prisk <linux@prisktech.co.nz> Cc: Russell King <linux@armlinux.org.uk> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/Kconfig | 3 --- arch/arm/mach-vt8500/Kconfig | 1 - 2 files changed, 4 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 97864aabc2a6..eeabdc5a3dd2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -435,7 +435,6 @@ config ARCH_PXA select ARM_CPU_SUSPEND if PM select AUTO_ZRELADDR select COMMON_CLK - select CLKDEV_LOOKUP select CLKSRC_PXA select CLKSRC_MMIO select TIMER_OF @@ -474,7 +473,6 @@ config ARCH_SA1100 bool "SA1100-based" select ARCH_MTD_XIP select ARCH_SPARSEMEM_ENABLE - select CLKDEV_LOOKUP select CLKSRC_MMIO select CLKSRC_PXA select TIMER_OF if OF @@ -495,7 +493,6 @@ config ARCH_SA1100 config ARCH_S3C24XX bool "Samsung S3C24XX SoCs" select ATAGS - select CLKDEV_LOOKUP select CLKSRC_SAMSUNG_PWM select GENERIC_CLOCKEVENTS select GPIO_SAMSUNG diff --git a/arch/arm/mach-vt8500/Kconfig b/arch/arm/mach-vt8500/Kconfig index 8841199058ea..d01cdd9ad9c7 100644 --- a/arch/arm/mach-vt8500/Kconfig +++ b/arch/arm/mach-vt8500/Kconfig @@ -2,7 +2,6 @@ config ARCH_VT8500 bool select GPIOLIB - select CLKDEV_LOOKUP select VT8500_TIMER select PINCTRL help -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 2/9] ARM: Remove redundant CLKDEV_LOOKUP selects @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Arnd Bergmann, Russell King, linux-kernel, Tony Prisk, linux-clk, linux-arm-kernel These platforms select COMMON_CLK indirectly through use of the ARCH_MULTIPLATFORM config option that they depend on implicitly via some V7/V6/V5 multi platform config option. The COMMON_CLK config option already selects CLKDEV_LOOKUP so it's redundant to have this selected again. Cc: Tony Prisk <linux@prisktech.co.nz> Cc: Russell King <linux@armlinux.org.uk> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/Kconfig | 3 --- arch/arm/mach-vt8500/Kconfig | 1 - 2 files changed, 4 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 97864aabc2a6..eeabdc5a3dd2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -435,7 +435,6 @@ config ARCH_PXA select ARM_CPU_SUSPEND if PM select AUTO_ZRELADDR select COMMON_CLK - select CLKDEV_LOOKUP select CLKSRC_PXA select CLKSRC_MMIO select TIMER_OF @@ -474,7 +473,6 @@ config ARCH_SA1100 bool "SA1100-based" select ARCH_MTD_XIP select ARCH_SPARSEMEM_ENABLE - select CLKDEV_LOOKUP select CLKSRC_MMIO select CLKSRC_PXA select TIMER_OF if OF @@ -495,7 +493,6 @@ config ARCH_SA1100 config ARCH_S3C24XX bool "Samsung S3C24XX SoCs" select ATAGS - select CLKDEV_LOOKUP select CLKSRC_SAMSUNG_PWM select GENERIC_CLOCKEVENTS select GPIO_SAMSUNG diff --git a/arch/arm/mach-vt8500/Kconfig b/arch/arm/mach-vt8500/Kconfig index 8841199058ea..d01cdd9ad9c7 100644 --- a/arch/arm/mach-vt8500/Kconfig +++ b/arch/arm/mach-vt8500/Kconfig @@ -2,7 +2,6 @@ config ARCH_VT8500 bool select GPIOLIB - select CLKDEV_LOOKUP select VT8500_TIMER select PINCTRL help -- Sent by a computer, using git, on the internet _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 3/9] arm64: tegra: Remove redundant CLKDEV_LOOKUP selects 2020-04-05 2:51 ` Stephen Boyd @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Paul Walmsley, Thierry Reding, Catalin Marinas, Will Deacon, linux-arm-kernel, Arnd Bergmann The arm64 architecture selects COMMON_CLK at the toplevel ARM64 config. The COMMON_CLK config option already selects CLKDEV_LOOKUP so it's redundant to have this selected again for the Tegra specific config. Cc: Paul Walmsley <paul@pwsan.com> Cc: Thierry Reding <treding@nvidia.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm64/Kconfig.platforms | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index b2b504ea6fd6..5d5d91feca44 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -236,7 +236,6 @@ config ARCH_TEGRA bool "NVIDIA Tegra SoC Family" select ARCH_HAS_RESET_CONTROLLER select ARM_GIC_PM - select CLKDEV_LOOKUP select CLKSRC_MMIO select TIMER_OF select GENERIC_CLOCKEVENTS -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 3/9] arm64: tegra: Remove redundant CLKDEV_LOOKUP selects @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Paul Walmsley, Arnd Bergmann, Catalin Marinas, linux-kernel, Thierry Reding, Will Deacon, linux-clk, linux-arm-kernel The arm64 architecture selects COMMON_CLK at the toplevel ARM64 config. The COMMON_CLK config option already selects CLKDEV_LOOKUP so it's redundant to have this selected again for the Tegra specific config. Cc: Paul Walmsley <paul@pwsan.com> Cc: Thierry Reding <treding@nvidia.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm64/Kconfig.platforms | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index b2b504ea6fd6..5d5d91feca44 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -236,7 +236,6 @@ config ARCH_TEGRA bool "NVIDIA Tegra SoC Family" select ARCH_HAS_RESET_CONTROLLER select ARM_GIC_PM - select CLKDEV_LOOKUP select CLKSRC_MMIO select TIMER_OF select GENERIC_CLOCKEVENTS -- Sent by a computer, using git, on the internet _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 39+ messages in thread
* Re: [PATCH 3/9] arm64: tegra: Remove redundant CLKDEV_LOOKUP selects 2020-04-05 2:51 ` Stephen Boyd @ 2020-04-06 9:12 ` Thierry Reding -1 siblings, 0 replies; 39+ messages in thread From: Thierry Reding @ 2020-04-06 9:12 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, linux-kernel, linux-clk, Paul Walmsley, Catalin Marinas, Will Deacon, linux-arm-kernel, Arnd Bergmann [-- Attachment #1: Type: text/plain, Size: 974 bytes --] On Sat, Apr 04, 2020 at 07:51:17PM -0700, Stephen Boyd wrote: > The arm64 architecture selects COMMON_CLK at the toplevel ARM64 config. > The COMMON_CLK config option already selects CLKDEV_LOOKUP so it's > redundant to have this selected again for the Tegra specific config. > > Cc: Paul Walmsley <paul@pwsan.com> > Cc: Thierry Reding <treding@nvidia.com> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will@kernel.org> > Cc: <linux-arm-kernel@lists.infradead.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Stephen Boyd <sboyd@kernel.org> > --- > arch/arm64/Kconfig.platforms | 1 - > 1 file changed, 1 deletion(-) We rarely touch this, so I think it's fine for this to go through the clock tree. I'll make a mental note just in case there's going to be something touching this area in the next release, but I'm sure it'll be all minor so we could easily work that out: Acked-by: Thierry Reding <treding@nvidia.com> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 3/9] arm64: tegra: Remove redundant CLKDEV_LOOKUP selects @ 2020-04-06 9:12 ` Thierry Reding 0 siblings, 0 replies; 39+ messages in thread From: Thierry Reding @ 2020-04-06 9:12 UTC (permalink / raw) To: Stephen Boyd Cc: Paul Walmsley, Arnd Bergmann, Catalin Marinas, Michael Turquette, linux-kernel, Will Deacon, linux-clk, linux-arm-kernel [-- Attachment #1.1: Type: text/plain, Size: 974 bytes --] On Sat, Apr 04, 2020 at 07:51:17PM -0700, Stephen Boyd wrote: > The arm64 architecture selects COMMON_CLK at the toplevel ARM64 config. > The COMMON_CLK config option already selects CLKDEV_LOOKUP so it's > redundant to have this selected again for the Tegra specific config. > > Cc: Paul Walmsley <paul@pwsan.com> > Cc: Thierry Reding <treding@nvidia.com> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will@kernel.org> > Cc: <linux-arm-kernel@lists.infradead.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Stephen Boyd <sboyd@kernel.org> > --- > arch/arm64/Kconfig.platforms | 1 - > 1 file changed, 1 deletion(-) We rarely touch this, so I think it's fine for this to go through the clock tree. I'll make a mental note just in case there's going to be something touching this area in the next release, but I'm sure it'll be all minor so we could easily work that out: Acked-by: Thierry Reding <treding@nvidia.com> [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 39+ messages in thread
* [PATCH 4/9] h8300: Remove redundant CLKDEV_LOOKUP selects 2020-04-05 2:51 ` Stephen Boyd ` (4 preceding siblings ...) (?) @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Yoshinori Sato, uclinux-h8-devel, Arnd Bergmann The h8300 architecture selects COMMON_CLK already, and the COMMON_CLK config option already selects CLKDEV_LOOKUP so it's redundant to have this selected again. Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: uclinux-h8-devel@lists.sourceforge.jp Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/h8300/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index ec800e9d5aad..d11666d538fe 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig @@ -13,7 +13,6 @@ config H8300 select GENERIC_CPU_DEVICES select MODULES_USE_ELF_RELA select GENERIC_CLOCKEVENTS - select CLKDEV_LOOKUP select COMMON_CLK select ARCH_WANT_FRAME_POINTERS select OF -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 5/9] MIPS: Remove redundant CLKDEV_LOOKUP selects 2020-04-05 2:51 ` Stephen Boyd ` (5 preceding siblings ...) (?) @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Thomas Bogendoerfer, linux-mips The ATH79 config selects COMMON_CLK already, and the COMMON_CLK config option already selects CLKDEV_LOOKUP, and CLKDEV_LOOKUP already selects HAVE_CLK so it's redundant to have these selected again. Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: <linux-mips@vger.kernel.org> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/mips/Kconfig | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 797d7f1ad5fe..e53a8dd5c19b 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -209,9 +209,7 @@ config ATH79 select DMA_NONCOHERENT select GPIOLIB select PINCTRL - select HAVE_CLK select COMMON_CLK - select CLKDEV_LOOKUP select IRQ_MIPS_CPU select SYS_HAS_CPU_MIPS32_R2 select SYS_HAS_EARLY_PRINTK -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 6/9] clk: Allow the common clk framework to be selectable 2020-04-05 2:51 ` Stephen Boyd (?) @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Rich Felker, Yoshinori Sato, Arnd Bergmann, linux-sh, linux-mips, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Geert Uytterhoeven, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, linux-arm-kernel, linux-c6x-dev Enable build testing and configuration control of the common clk framework so that more code coverage and testing can be done on the common clk framework across various architectures. This also nicely removes the requirement that architectures must select the framework when they don't use it in architecture code. There's one snag with doing this, and that's making sure that randconfig builds don't select this option when some architecture or platform implements 'struct clk' outside of the common clk framework. Introduce a new config option 'HAVE_LEGACY_CLK' to indicate those platforms that haven't migrated to the common clk framework and therefore shouldn't be allowed to select this new config option. Also add a note that we hope one day to remove this config entirely. Based on a patch by Mark Brown <broonie@kernel.org>. Cc: Mark Brown <broonie@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: <linux-mips@vger.kernel.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-sh@vger.kernel.org> Link: https://lore.kernel.org/r/1470915049-15249-1-git-send-email-broonie@kernel.org Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/Kconfig | 2 ++ arch/c6x/Kconfig | 1 + arch/m68k/Kconfig.cpu | 2 +- arch/mips/Kconfig | 6 ++++-- arch/mips/loongson2ef/Kconfig | 2 +- arch/sh/boards/Kconfig | 5 +++++ arch/unicore32/Kconfig | 2 +- drivers/clk/Kconfig | 17 +++++++++++++---- 8 files changed, 28 insertions(+), 9 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index eeabdc5a3dd2..0606e1bbd7b6 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -364,6 +364,7 @@ config ARCH_EP93XX select CPU_ARM920T select GENERIC_CLOCKEVENTS select GPIOLIB + select HAVE_LEGACY_CLK help This enables support for the Cirrus EP93xx series of CPUs. @@ -522,6 +523,7 @@ config ARCH_OMAP1 select GENERIC_IRQ_MULTI_HANDLER select GPIOLIB select HAVE_IDE + select HAVE_LEGACY_CLK select IRQ_DOMAIN select NEED_MACH_IO_H if PCCARD select NEED_MACH_MEMORY_H diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index e65e8d82442a..6444ebfd06a6 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig @@ -11,6 +11,7 @@ config C6X select ARCH_HAS_SYNC_DMA_FOR_CPU select ARCH_HAS_SYNC_DMA_FOR_DEVICE select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select HAVE_ARCH_TRACEHOOK diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu index 60ac1cd8b96f..bd2d29c22a10 100644 --- a/arch/m68k/Kconfig.cpu +++ b/arch/m68k/Kconfig.cpu @@ -28,7 +28,7 @@ config COLDFIRE select CPU_HAS_NO_MULDIV64 select GENERIC_CSUM select GPIOLIB - select HAVE_CLK + select HAVE_LEGACY_CLK endchoice diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index e53a8dd5c19b..fa02c715ab25 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -181,7 +181,7 @@ config AR7 select SYS_SUPPORTS_ZBOOT_UART16550 select GPIOLIB select VLYNQ - select HAVE_CLK + select HAVE_LEGACY_CLK help Support for the Texas Instruments AR7 System-on-a-Chip family: TNETD7100, 7200 and 7300. @@ -296,9 +296,9 @@ config BCM63XX select SYS_HAS_EARLY_PRINTK select SWAP_IO_SPACE select GPIOLIB - select HAVE_CLK select MIPS_L1_CACHE_SHIFT_4 select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK help Support for BCM63XX based boards @@ -419,6 +419,7 @@ config LANTIQ select SWAP_IO_SPACE select BOOT_RAW select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select USE_OF select PINCTRL select PINCTRL_LANTIQ @@ -656,6 +657,7 @@ config RALINK select SYS_SUPPORTS_MIPS16 select SYS_HAS_EARLY_PRINTK select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select ARCH_HAS_RESET_CONTROLLER select RESET_CONTROLLER diff --git a/arch/mips/loongson2ef/Kconfig b/arch/mips/loongson2ef/Kconfig index 595dd48e1e4d..c9ec43afde73 100644 --- a/arch/mips/loongson2ef/Kconfig +++ b/arch/mips/loongson2ef/Kconfig @@ -46,7 +46,7 @@ config LEMOTE_MACH2F select CSRC_R4K if ! MIPS_EXTERNAL_TIMER select DMA_NONCOHERENT select GENERIC_ISA_DMA_SUPPORT_BROKEN - select HAVE_CLK + select HAVE_LEGACY_CLK select FORCE_PCI select I8259 select IRQ_MIPS_CPU diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig index cee24c308337..fb0ca0c1efe1 100644 --- a/arch/sh/boards/Kconfig +++ b/arch/sh/boards/Kconfig @@ -7,6 +7,11 @@ config SOLUTION_ENGINE config SH_ALPHA_BOARD bool +config SH_CUSTOM_CLK + def_bool y + depends on !SH_DEVICE_TREE + select HAVE_LEGACY_CLK + config SH_DEVICE_TREE bool select OF diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index 41fe944005f8..11ba1839d198 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig @@ -70,7 +70,7 @@ config ARCH_PUV3 def_bool y select CPU_UCV2 select GENERIC_CLOCKEVENTS - select HAVE_CLK + select HAVE_LEGACY_CLK select GPIOLIB # CONFIGs for ARCH_PUV3 diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig index bcb257baed06..890bed62196d 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -7,8 +7,18 @@ config CLKDEV_LOOKUP config HAVE_CLK_PREPARE bool -config COMMON_CLK +config HAVE_LEGACY_CLK # TODO: Remove once all legacy users are migrated bool + select HAVE_CLK + help + Select this option when the clock API in <linux/clk.h> is implemented + by platform/architecture code. This method is deprecated. Modern + code should select COMMON_CLK instead and not define a custom + 'struct clk'. + +menuconfig COMMON_CLK + bool "Common Clock Framework" + depends on !HAVE_LEGACY_CLK select HAVE_CLK_PREPARE select CLKDEV_LOOKUP select SRCU @@ -20,8 +30,7 @@ config COMMON_CLK Architectures utilizing the common struct clk should select this option. -menu "Common Clock Framework" - depends on COMMON_CLK +if COMMON_CLK config COMMON_CLK_WM831X tristate "Clock driver for WM831x/2x PMICs" @@ -362,4 +371,4 @@ source "drivers/clk/ti/Kconfig" source "drivers/clk/uniphier/Kconfig" source "drivers/clk/zynqmp/Kconfig" -endmenu +endif -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Rich Felker, Yoshinori Sato, Arnd Bergmann, linux-sh, linux-mips, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Geert Uytterhoeven, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, linux-arm-kernel, linux-c6x-dev Enable build testing and configuration control of the common clk framework so that more code coverage and testing can be done on the common clk framework across various architectures. This also nicely removes the requirement that architectures must select the framework when they don't use it in architecture code. There's one snag with doing this, and that's making sure that randconfig builds don't select this option when some architecture or platform implements 'struct clk' outside of the common clk framework. Introduce a new config option 'HAVE_LEGACY_CLK' to indicate those platforms that haven't migrated to the common clk framework and therefore shouldn't be allowed to select this new config option. Also add a note that we hope one day to remove this config entirely. Based on a patch by Mark Brown <broonie@kernel.org>. Cc: Mark Brown <broonie@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: <linux-mips@vger.kernel.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-sh@vger.kernel.org> Link: https://lore.kernel.org/r/1470915049-15249-1-git-send-email-broonie@kernel.org Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/Kconfig | 2 ++ arch/c6x/Kconfig | 1 + arch/m68k/Kconfig.cpu | 2 +- arch/mips/Kconfig | 6 ++++-- arch/mips/loongson2ef/Kconfig | 2 +- arch/sh/boards/Kconfig | 5 +++++ arch/unicore32/Kconfig | 2 +- drivers/clk/Kconfig | 17 +++++++++++++---- 8 files changed, 28 insertions(+), 9 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index eeabdc5a3dd2..0606e1bbd7b6 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -364,6 +364,7 @@ config ARCH_EP93XX select CPU_ARM920T select GENERIC_CLOCKEVENTS select GPIOLIB + select HAVE_LEGACY_CLK help This enables support for the Cirrus EP93xx series of CPUs. @@ -522,6 +523,7 @@ config ARCH_OMAP1 select GENERIC_IRQ_MULTI_HANDLER select GPIOLIB select HAVE_IDE + select HAVE_LEGACY_CLK select IRQ_DOMAIN select NEED_MACH_IO_H if PCCARD select NEED_MACH_MEMORY_H diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index e65e8d82442a..6444ebfd06a6 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig @@ -11,6 +11,7 @@ config C6X select ARCH_HAS_SYNC_DMA_FOR_CPU select ARCH_HAS_SYNC_DMA_FOR_DEVICE select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select HAVE_ARCH_TRACEHOOK diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu index 60ac1cd8b96f..bd2d29c22a10 100644 --- a/arch/m68k/Kconfig.cpu +++ b/arch/m68k/Kconfig.cpu @@ -28,7 +28,7 @@ config COLDFIRE select CPU_HAS_NO_MULDIV64 select GENERIC_CSUM select GPIOLIB - select HAVE_CLK + select HAVE_LEGACY_CLK endchoice diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index e53a8dd5c19b..fa02c715ab25 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -181,7 +181,7 @@ config AR7 select SYS_SUPPORTS_ZBOOT_UART16550 select GPIOLIB select VLYNQ - select HAVE_CLK + select HAVE_LEGACY_CLK help Support for the Texas Instruments AR7 System-on-a-Chip family: TNETD7100, 7200 and 7300. @@ -296,9 +296,9 @@ config BCM63XX select SYS_HAS_EARLY_PRINTK select SWAP_IO_SPACE select GPIOLIB - select HAVE_CLK select MIPS_L1_CACHE_SHIFT_4 select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK help Support for BCM63XX based boards @@ -419,6 +419,7 @@ config LANTIQ select SWAP_IO_SPACE select BOOT_RAW select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select USE_OF select PINCTRL select PINCTRL_LANTIQ @@ -656,6 +657,7 @@ config RALINK select SYS_SUPPORTS_MIPS16 select SYS_HAS_EARLY_PRINTK select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select ARCH_HAS_RESET_CONTROLLER select RESET_CONTROLLER diff --git a/arch/mips/loongson2ef/Kconfig b/arch/mips/loongson2ef/Kconfig index 595dd48e1e4d..c9ec43afde73 100644 --- a/arch/mips/loongson2ef/Kconfig +++ b/arch/mips/loongson2ef/Kconfig @@ -46,7 +46,7 @@ config LEMOTE_MACH2F select CSRC_R4K if ! MIPS_EXTERNAL_TIMER select DMA_NONCOHERENT select GENERIC_ISA_DMA_SUPPORT_BROKEN - select HAVE_CLK + select HAVE_LEGACY_CLK select FORCE_PCI select I8259 select IRQ_MIPS_CPU diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig index cee24c308337..fb0ca0c1efe1 100644 --- a/arch/sh/boards/Kconfig +++ b/arch/sh/boards/Kconfig @@ -7,6 +7,11 @@ config SOLUTION_ENGINE config SH_ALPHA_BOARD bool +config SH_CUSTOM_CLK + def_bool y + depends on !SH_DEVICE_TREE + select HAVE_LEGACY_CLK + config SH_DEVICE_TREE bool select OF diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index 41fe944005f8..11ba1839d198 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig @@ -70,7 +70,7 @@ config ARCH_PUV3 def_bool y select CPU_UCV2 select GENERIC_CLOCKEVENTS - select HAVE_CLK + select HAVE_LEGACY_CLK select GPIOLIB # CONFIGs for ARCH_PUV3 diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig index bcb257baed06..890bed62196d 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -7,8 +7,18 @@ config CLKDEV_LOOKUP config HAVE_CLK_PREPARE bool -config COMMON_CLK +config HAVE_LEGACY_CLK # TODO: Remove once all legacy users are migrated bool + select HAVE_CLK + help + Select this option when the clock API in <linux/clk.h> is implemented + by platform/architecture code. This method is deprecated. Modern + code should select COMMON_CLK instead and not define a custom + 'struct clk'. + +menuconfig COMMON_CLK + bool "Common Clock Framework" + depends on !HAVE_LEGACY_CLK select HAVE_CLK_PREPARE select CLKDEV_LOOKUP select SRCU @@ -20,8 +30,7 @@ config COMMON_CLK Architectures utilizing the common struct clk should select this option. -menu "Common Clock Framework" - depends on COMMON_CLK +if COMMON_CLK config COMMON_CLK_WM831X tristate "Clock driver for WM831x/2x PMICs" @@ -362,4 +371,4 @@ source "drivers/clk/ti/Kconfig" source "drivers/clk/uniphier/Kconfig" source "drivers/clk/zynqmp/Kconfig" -endmenu +endif -- Sent by a computer, using git, on the internet _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Mark Brown, Geert Uytterhoeven, Mark Salter, Aurelien Jacquiot, Jiaxun Yang, Guan Xuetao, Russell King, Arnd Bergmann, Yoshinori Sato, Rich Felker, Thomas Bogendoerfer, linux-mips, linux-c6x-dev, linux-m68k, linux-arm-kernel, linux-sh Enable build testing and configuration control of the common clk framework so that more code coverage and testing can be done on the common clk framework across various architectures. This also nicely removes the requirement that architectures must select the framework when they don't use it in architecture code. There's one snag with doing this, and that's making sure that randconfig builds don't select this option when some architecture or platform implements 'struct clk' outside of the common clk framework. Introduce a new config option 'HAVE_LEGACY_CLK' to indicate those platforms that haven't migrated to the common clk framework and therefore shouldn't be allowed to select this new config option. Also add a note that we hope one day to remove this config entirely. Based on a patch by Mark Brown <broonie@kernel.org>. Cc: Mark Brown <broonie@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: <linux-mips@vger.kernel.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-sh@vger.kernel.org> Link: https://lore.kernel.org/r/1470915049-15249-1-git-send-email-broonie@kernel.org Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/Kconfig | 2 ++ arch/c6x/Kconfig | 1 + arch/m68k/Kconfig.cpu | 2 +- arch/mips/Kconfig | 6 ++++-- arch/mips/loongson2ef/Kconfig | 2 +- arch/sh/boards/Kconfig | 5 +++++ arch/unicore32/Kconfig | 2 +- drivers/clk/Kconfig | 17 +++++++++++++---- 8 files changed, 28 insertions(+), 9 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index eeabdc5a3dd2..0606e1bbd7b6 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -364,6 +364,7 @@ config ARCH_EP93XX select CPU_ARM920T select GENERIC_CLOCKEVENTS select GPIOLIB + select HAVE_LEGACY_CLK help This enables support for the Cirrus EP93xx series of CPUs. @@ -522,6 +523,7 @@ config ARCH_OMAP1 select GENERIC_IRQ_MULTI_HANDLER select GPIOLIB select HAVE_IDE + select HAVE_LEGACY_CLK select IRQ_DOMAIN select NEED_MACH_IO_H if PCCARD select NEED_MACH_MEMORY_H diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index e65e8d82442a..6444ebfd06a6 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig @@ -11,6 +11,7 @@ config C6X select ARCH_HAS_SYNC_DMA_FOR_CPU select ARCH_HAS_SYNC_DMA_FOR_DEVICE select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select HAVE_ARCH_TRACEHOOK diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu index 60ac1cd8b96f..bd2d29c22a10 100644 --- a/arch/m68k/Kconfig.cpu +++ b/arch/m68k/Kconfig.cpu @@ -28,7 +28,7 @@ config COLDFIRE select CPU_HAS_NO_MULDIV64 select GENERIC_CSUM select GPIOLIB - select HAVE_CLK + select HAVE_LEGACY_CLK endchoice diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index e53a8dd5c19b..fa02c715ab25 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -181,7 +181,7 @@ config AR7 select SYS_SUPPORTS_ZBOOT_UART16550 select GPIOLIB select VLYNQ - select HAVE_CLK + select HAVE_LEGACY_CLK help Support for the Texas Instruments AR7 System-on-a-Chip family: TNETD7100, 7200 and 7300. @@ -296,9 +296,9 @@ config BCM63XX select SYS_HAS_EARLY_PRINTK select SWAP_IO_SPACE select GPIOLIB - select HAVE_CLK select MIPS_L1_CACHE_SHIFT_4 select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK help Support for BCM63XX based boards @@ -419,6 +419,7 @@ config LANTIQ select SWAP_IO_SPACE select BOOT_RAW select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select USE_OF select PINCTRL select PINCTRL_LANTIQ @@ -656,6 +657,7 @@ config RALINK select SYS_SUPPORTS_MIPS16 select SYS_HAS_EARLY_PRINTK select CLKDEV_LOOKUP + select HAVE_LEGACY_CLK select ARCH_HAS_RESET_CONTROLLER select RESET_CONTROLLER diff --git a/arch/mips/loongson2ef/Kconfig b/arch/mips/loongson2ef/Kconfig index 595dd48e1e4d..c9ec43afde73 100644 --- a/arch/mips/loongson2ef/Kconfig +++ b/arch/mips/loongson2ef/Kconfig @@ -46,7 +46,7 @@ config LEMOTE_MACH2F select CSRC_R4K if ! MIPS_EXTERNAL_TIMER select DMA_NONCOHERENT select GENERIC_ISA_DMA_SUPPORT_BROKEN - select HAVE_CLK + select HAVE_LEGACY_CLK select FORCE_PCI select I8259 select IRQ_MIPS_CPU diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig index cee24c308337..fb0ca0c1efe1 100644 --- a/arch/sh/boards/Kconfig +++ b/arch/sh/boards/Kconfig @@ -7,6 +7,11 @@ config SOLUTION_ENGINE config SH_ALPHA_BOARD bool +config SH_CUSTOM_CLK + def_bool y + depends on !SH_DEVICE_TREE + select HAVE_LEGACY_CLK + config SH_DEVICE_TREE bool select OF diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig index 41fe944005f8..11ba1839d198 100644 --- a/arch/unicore32/Kconfig +++ b/arch/unicore32/Kconfig @@ -70,7 +70,7 @@ config ARCH_PUV3 def_bool y select CPU_UCV2 select GENERIC_CLOCKEVENTS - select HAVE_CLK + select HAVE_LEGACY_CLK select GPIOLIB # CONFIGs for ARCH_PUV3 diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig index bcb257baed06..890bed62196d 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -7,8 +7,18 @@ config CLKDEV_LOOKUP config HAVE_CLK_PREPARE bool -config COMMON_CLK +config HAVE_LEGACY_CLK # TODO: Remove once all legacy users are migrated bool + select HAVE_CLK + help + Select this option when the clock API in <linux/clk.h> is implemented + by platform/architecture code. This method is deprecated. Modern + code should select COMMON_CLK instead and not define a custom + 'struct clk'. + +menuconfig COMMON_CLK + bool "Common Clock Framework" + depends on !HAVE_LEGACY_CLK select HAVE_CLK_PREPARE select CLKDEV_LOOKUP select SRCU @@ -20,8 +30,7 @@ config COMMON_CLK Architectures utilizing the common struct clk should select this option. -menu "Common Clock Framework" - depends on COMMON_CLK +if COMMON_CLK config COMMON_CLK_WM831X tristate "Clock driver for WM831x/2x PMICs" @@ -362,4 +371,4 @@ source "drivers/clk/ti/Kconfig" source "drivers/clk/uniphier/Kconfig" source "drivers/clk/zynqmp/Kconfig" -endmenu +endif -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable 2020-04-05 2:51 ` Stephen Boyd (?) @ 2020-04-05 12:45 ` Arnd Bergmann -1 siblings, 0 replies; 39+ messages in thread From: Arnd Bergmann @ 2020-04-05 12:45 UTC (permalink / raw) To: Stephen Boyd Cc: Rich Felker, linux-c6x-dev, Yoshinori Sato, Linux-sh list, open list:BROADCOM NVRAM DRIVER, Michael Turquette, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Geert Uytterhoeven, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, Linux ARM On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: > There's one snag with doing this, and that's making sure that randconfig > builds don't select this option when some architecture or platform > implements 'struct clk' outside of the common clk framework. Introduce a > new config option 'HAVE_LEGACY_CLK' to indicate those platforms that > haven't migrated to the common clk framework and therefore shouldn't be > allowed to select this new config option. Also add a note that we hope > one day to remove this config entirely. Good idea! I've looked through the individual ones and commented a bit on what I think may or may not happen with them. ralink SOC_MT7621 is the only one that I think you got wrong, as it already has common-clk support. > arch/arm/Kconfig | 2 ++ > arch/c6x/Kconfig | 1 + > arch/m68k/Kconfig.cpu | 2 +- > arch/mips/Kconfig | 6 ++++-- > arch/mips/loongson2ef/Kconfig | 2 +- > arch/sh/boards/Kconfig | 5 +++++ > arch/unicore32/Kconfig | 2 +- > drivers/clk/Kconfig | 17 +++++++++++++---- > 8 files changed, 28 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index eeabdc5a3dd2..0606e1bbd7b6 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -364,6 +364,7 @@ config ARCH_EP93XX > select CPU_ARM920T > select GENERIC_CLOCKEVENTS > select GPIOLIB > + select HAVE_LEGACY_CLK > help > This enables support for the Cirrus EP93xx series of CPUs. > > @@ -522,6 +523,7 @@ config ARCH_OMAP1 > select GENERIC_IRQ_MULTI_HANDLER > select GPIOLIB > select HAVE_IDE > + select HAVE_LEGACY_CLK > select IRQ_DOMAIN > select NEED_MACH_IO_H if PCCARD > select NEED_MACH_MEMORY_H Ah nice, I thought there were more than two implementations left. I need to refresh the series for OMAP1 that I did last year and debug the regression that caused. I think Linus Walleij has looked into the ep93xx one at some point. > diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig > index e65e8d82442a..6444ebfd06a6 100644 > --- a/arch/c6x/Kconfig > +++ b/arch/c6x/Kconfig > @@ -11,6 +11,7 @@ config C6X > select ARCH_HAS_SYNC_DMA_FOR_CPU > select ARCH_HAS_SYNC_DMA_FOR_DEVICE > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select GENERIC_ATOMIC64 > select GENERIC_IRQ_SHOW > select HAVE_ARCH_TRACEHOOK This was last touched in 2012 when TMS320C6678 support was added. It seems to be based on the original same code as omap1 and omap2 that eventually turned into the common clock subsystem, so it would clearly be possible to do a step-by-step conversion like I did for omap1, but I suspect we can wait for all of c6x-linux to become obsolete enough. > diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu > index 60ac1cd8b96f..bd2d29c22a10 100644 > --- a/arch/m68k/Kconfig.cpu > +++ b/arch/m68k/Kconfig.cpu > @@ -28,7 +28,7 @@ config COLDFIRE > select CPU_HAS_NO_MULDIV64 > select GENERIC_CSUM > select GPIOLIB > - select HAVE_CLK > + select HAVE_LEGACY_CLK > > endchoice The coldfire clock implementation looks rather simple compared to chips from the 2010s: most chips have only fixed clocks, and three of them have one of two registers of clock gates. It shouldn't be hard to convert, but enabling common-clk will cause a noticeable kernel size increase on the fairly limited hardware. Simply enabling COMMON_CLK in m5475evb_defconfig results in a 1.7% or 40KB growth in kernel size, plus there would be additional dynamic memory usage: text data bss dec hex filename 1934726 263616 83284 2281626 22d09a obj/vmlinux-before 1971989 266192 83308 2321489 236c51 obj/vmlinux-after > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig > index e53a8dd5c19b..fa02c715ab25 100644 > --- a/arch/mips/Kconfig > +++ b/arch/mips/Kconfig > @@ -181,7 +181,7 @@ config AR7 > select SYS_SUPPORTS_ZBOOT_UART16550 > select GPIOLIB > select VLYNQ > - select HAVE_CLK > + select HAVE_LEGACY_CLK > help > Support for the Texas Instruments AR7 System-on-a-Chip > family: TNETD7100, 7200 and 7300. I suspect this platform is fairly dead, OpenWRT dropped support for it, and the known machines have at most 16MB of RAM, which limits the number of use cases that also want to build recent kernels. > @@ -296,9 +296,9 @@ config BCM63XX > select SYS_HAS_EARLY_PRINTK > select SWAP_IO_SPACE > select GPIOLIB > - select HAVE_CLK > select MIPS_L1_CACHE_SHIFT_4 > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > help > Support for BCM63XX based boards > > @@ -419,6 +419,7 @@ config LANTIQ > select SWAP_IO_SPACE > select BOOT_RAW > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select USE_OF > select PINCTRL > select PINCTRL_LANTIQ > @@ -656,6 +657,7 @@ config RALINK > select SYS_SUPPORTS_MIPS16 > select SYS_HAS_EARLY_PRINTK > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select ARCH_HAS_RESET_CONTROLLER > select RESET_CONTROLLER All three of these are older platforms that still have a number of machines supported in OpenWRT, so there is hope that someone would do the work to add common-clk support. Both Lantiq and Ralink have been converted to device tree not too long ago. I think the RALINK entry needs to be changed, as this includes SOC_MT7621, which already uses COMMON_CLK. > diff --git a/arch/mips/loongson2ef/Kconfig b/arch/mips/loongson2ef/Kconfig > index 595dd48e1e4d..c9ec43afde73 100644 > --- a/arch/mips/loongson2ef/Kconfig > +++ b/arch/mips/loongson2ef/Kconfig > @@ -46,7 +46,7 @@ config LEMOTE_MACH2F > select CSRC_R4K if ! MIPS_EXTERNAL_TIMER > select DMA_NONCOHERENT > select GENERIC_ISA_DMA_SUPPORT_BROKEN > - select HAVE_CLK > + select HAVE_LEGACY_CLK > select FORCE_PCI > select I8259 > select IRQ_MIPS_CPU For all I can tell, this driver only uses the clock interface for its cpufreq driver, and the actual API definition looks bogus. Half of it could be folded into the cpufreq driver, and the rest of it removed, along with arch/mips/include/asm/clock.h > diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig > index cee24c308337..fb0ca0c1efe1 100644 > --- a/arch/sh/boards/Kconfig > +++ b/arch/sh/boards/Kconfig > @@ -7,6 +7,11 @@ config SOLUTION_ENGINE > config SH_ALPHA_BOARD > bool > > +config SH_CUSTOM_CLK > + def_bool y > + depends on !SH_DEVICE_TREE > + select HAVE_LEGACY_CLK > + > config SH_DEVICE_TREE > bool > select OF It's going to be hard to find anyone willing to touch this, as the code is very large but has few users these days. drivers/sh/clk/ is basically a generic clk subsystem on its own, and there are at least 28 different arch/sh SoCs with drivers for it. Arnd ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-05 12:45 ` Arnd Bergmann 0 siblings, 0 replies; 39+ messages in thread From: Arnd Bergmann @ 2020-04-05 12:45 UTC (permalink / raw) To: Stephen Boyd Cc: Rich Felker, linux-c6x-dev, Yoshinori Sato, Linux-sh list, open list:BROADCOM NVRAM DRIVER, Michael Turquette, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Geert Uytterhoeven, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, Linux ARM On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: > There's one snag with doing this, and that's making sure that randconfig > builds don't select this option when some architecture or platform > implements 'struct clk' outside of the common clk framework. Introduce a > new config option 'HAVE_LEGACY_CLK' to indicate those platforms that > haven't migrated to the common clk framework and therefore shouldn't be > allowed to select this new config option. Also add a note that we hope > one day to remove this config entirely. Good idea! I've looked through the individual ones and commented a bit on what I think may or may not happen with them. ralink SOC_MT7621 is the only one that I think you got wrong, as it already has common-clk support. > arch/arm/Kconfig | 2 ++ > arch/c6x/Kconfig | 1 + > arch/m68k/Kconfig.cpu | 2 +- > arch/mips/Kconfig | 6 ++++-- > arch/mips/loongson2ef/Kconfig | 2 +- > arch/sh/boards/Kconfig | 5 +++++ > arch/unicore32/Kconfig | 2 +- > drivers/clk/Kconfig | 17 +++++++++++++---- > 8 files changed, 28 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index eeabdc5a3dd2..0606e1bbd7b6 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -364,6 +364,7 @@ config ARCH_EP93XX > select CPU_ARM920T > select GENERIC_CLOCKEVENTS > select GPIOLIB > + select HAVE_LEGACY_CLK > help > This enables support for the Cirrus EP93xx series of CPUs. > > @@ -522,6 +523,7 @@ config ARCH_OMAP1 > select GENERIC_IRQ_MULTI_HANDLER > select GPIOLIB > select HAVE_IDE > + select HAVE_LEGACY_CLK > select IRQ_DOMAIN > select NEED_MACH_IO_H if PCCARD > select NEED_MACH_MEMORY_H Ah nice, I thought there were more than two implementations left. I need to refresh the series for OMAP1 that I did last year and debug the regression that caused. I think Linus Walleij has looked into the ep93xx one at some point. > diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig > index e65e8d82442a..6444ebfd06a6 100644 > --- a/arch/c6x/Kconfig > +++ b/arch/c6x/Kconfig > @@ -11,6 +11,7 @@ config C6X > select ARCH_HAS_SYNC_DMA_FOR_CPU > select ARCH_HAS_SYNC_DMA_FOR_DEVICE > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select GENERIC_ATOMIC64 > select GENERIC_IRQ_SHOW > select HAVE_ARCH_TRACEHOOK This was last touched in 2012 when TMS320C6678 support was added. It seems to be based on the original same code as omap1 and omap2 that eventually turned into the common clock subsystem, so it would clearly be possible to do a step-by-step conversion like I did for omap1, but I suspect we can wait for all of c6x-linux to become obsolete enough. > diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu > index 60ac1cd8b96f..bd2d29c22a10 100644 > --- a/arch/m68k/Kconfig.cpu > +++ b/arch/m68k/Kconfig.cpu > @@ -28,7 +28,7 @@ config COLDFIRE > select CPU_HAS_NO_MULDIV64 > select GENERIC_CSUM > select GPIOLIB > - select HAVE_CLK > + select HAVE_LEGACY_CLK > > endchoice The coldfire clock implementation looks rather simple compared to chips from the 2010s: most chips have only fixed clocks, and three of them have one of two registers of clock gates. It shouldn't be hard to convert, but enabling common-clk will cause a noticeable kernel size increase on the fairly limited hardware. Simply enabling COMMON_CLK in m5475evb_defconfig results in a 1.7% or 40KB growth in kernel size, plus there would be additional dynamic memory usage: text data bss dec hex filename 1934726 263616 83284 2281626 22d09a obj/vmlinux-before 1971989 266192 83308 2321489 236c51 obj/vmlinux-after > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig > index e53a8dd5c19b..fa02c715ab25 100644 > --- a/arch/mips/Kconfig > +++ b/arch/mips/Kconfig > @@ -181,7 +181,7 @@ config AR7 > select SYS_SUPPORTS_ZBOOT_UART16550 > select GPIOLIB > select VLYNQ > - select HAVE_CLK > + select HAVE_LEGACY_CLK > help > Support for the Texas Instruments AR7 System-on-a-Chip > family: TNETD7100, 7200 and 7300. I suspect this platform is fairly dead, OpenWRT dropped support for it, and the known machines have at most 16MB of RAM, which limits the number of use cases that also want to build recent kernels. > @@ -296,9 +296,9 @@ config BCM63XX > select SYS_HAS_EARLY_PRINTK > select SWAP_IO_SPACE > select GPIOLIB > - select HAVE_CLK > select MIPS_L1_CACHE_SHIFT_4 > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > help > Support for BCM63XX based boards > > @@ -419,6 +419,7 @@ config LANTIQ > select SWAP_IO_SPACE > select BOOT_RAW > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select USE_OF > select PINCTRL > select PINCTRL_LANTIQ > @@ -656,6 +657,7 @@ config RALINK > select SYS_SUPPORTS_MIPS16 > select SYS_HAS_EARLY_PRINTK > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select ARCH_HAS_RESET_CONTROLLER > select RESET_CONTROLLER All three of these are older platforms that still have a number of machines supported in OpenWRT, so there is hope that someone would do the work to add common-clk support. Both Lantiq and Ralink have been converted to device tree not too long ago. I think the RALINK entry needs to be changed, as this includes SOC_MT7621, which already uses COMMON_CLK. > diff --git a/arch/mips/loongson2ef/Kconfig b/arch/mips/loongson2ef/Kconfig > index 595dd48e1e4d..c9ec43afde73 100644 > --- a/arch/mips/loongson2ef/Kconfig > +++ b/arch/mips/loongson2ef/Kconfig > @@ -46,7 +46,7 @@ config LEMOTE_MACH2F > select CSRC_R4K if ! MIPS_EXTERNAL_TIMER > select DMA_NONCOHERENT > select GENERIC_ISA_DMA_SUPPORT_BROKEN > - select HAVE_CLK > + select HAVE_LEGACY_CLK > select FORCE_PCI > select I8259 > select IRQ_MIPS_CPU For all I can tell, this driver only uses the clock interface for its cpufreq driver, and the actual API definition looks bogus. Half of it could be folded into the cpufreq driver, and the rest of it removed, along with arch/mips/include/asm/clock.h > diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig > index cee24c308337..fb0ca0c1efe1 100644 > --- a/arch/sh/boards/Kconfig > +++ b/arch/sh/boards/Kconfig > @@ -7,6 +7,11 @@ config SOLUTION_ENGINE > config SH_ALPHA_BOARD > bool > > +config SH_CUSTOM_CLK > + def_bool y > + depends on !SH_DEVICE_TREE > + select HAVE_LEGACY_CLK > + > config SH_DEVICE_TREE > bool > select OF It's going to be hard to find anyone willing to touch this, as the code is very large but has few users these days. drivers/sh/clk/ is basically a generic clk subsystem on its own, and there are at least 28 different arch/sh SoCs with drivers for it. Arnd _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-05 12:45 ` Arnd Bergmann 0 siblings, 0 replies; 39+ messages in thread From: Arnd Bergmann @ 2020-04-05 12:45 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, linux-kernel, linux-clk, Mark Brown, Geert Uytterhoeven, Mark Salter, Aurelien Jacquiot, Jiaxun Yang, Guan Xuetao, Russell King, Yoshinori Sato, Rich Felker, Thomas Bogendoerfer, open list:BROADCOM NVRAM DRIVER, linux-c6x-dev, linux-m68k, Linux ARM, Linux-sh list On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: > There's one snag with doing this, and that's making sure that randconfig > builds don't select this option when some architecture or platform > implements 'struct clk' outside of the common clk framework. Introduce a > new config option 'HAVE_LEGACY_CLK' to indicate those platforms that > haven't migrated to the common clk framework and therefore shouldn't be > allowed to select this new config option. Also add a note that we hope > one day to remove this config entirely. Good idea! I've looked through the individual ones and commented a bit on what I think may or may not happen with them. ralink SOC_MT7621 is the only one that I think you got wrong, as it already has common-clk support. > arch/arm/Kconfig | 2 ++ > arch/c6x/Kconfig | 1 + > arch/m68k/Kconfig.cpu | 2 +- > arch/mips/Kconfig | 6 ++++-- > arch/mips/loongson2ef/Kconfig | 2 +- > arch/sh/boards/Kconfig | 5 +++++ > arch/unicore32/Kconfig | 2 +- > drivers/clk/Kconfig | 17 +++++++++++++---- > 8 files changed, 28 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index eeabdc5a3dd2..0606e1bbd7b6 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -364,6 +364,7 @@ config ARCH_EP93XX > select CPU_ARM920T > select GENERIC_CLOCKEVENTS > select GPIOLIB > + select HAVE_LEGACY_CLK > help > This enables support for the Cirrus EP93xx series of CPUs. > > @@ -522,6 +523,7 @@ config ARCH_OMAP1 > select GENERIC_IRQ_MULTI_HANDLER > select GPIOLIB > select HAVE_IDE > + select HAVE_LEGACY_CLK > select IRQ_DOMAIN > select NEED_MACH_IO_H if PCCARD > select NEED_MACH_MEMORY_H Ah nice, I thought there were more than two implementations left. I need to refresh the series for OMAP1 that I did last year and debug the regression that caused. I think Linus Walleij has looked into the ep93xx one at some point. > diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig > index e65e8d82442a..6444ebfd06a6 100644 > --- a/arch/c6x/Kconfig > +++ b/arch/c6x/Kconfig > @@ -11,6 +11,7 @@ config C6X > select ARCH_HAS_SYNC_DMA_FOR_CPU > select ARCH_HAS_SYNC_DMA_FOR_DEVICE > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select GENERIC_ATOMIC64 > select GENERIC_IRQ_SHOW > select HAVE_ARCH_TRACEHOOK This was last touched in 2012 when TMS320C6678 support was added. It seems to be based on the original same code as omap1 and omap2 that eventually turned into the common clock subsystem, so it would clearly be possible to do a step-by-step conversion like I did for omap1, but I suspect we can wait for all of c6x-linux to become obsolete enough. > diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu > index 60ac1cd8b96f..bd2d29c22a10 100644 > --- a/arch/m68k/Kconfig.cpu > +++ b/arch/m68k/Kconfig.cpu > @@ -28,7 +28,7 @@ config COLDFIRE > select CPU_HAS_NO_MULDIV64 > select GENERIC_CSUM > select GPIOLIB > - select HAVE_CLK > + select HAVE_LEGACY_CLK > > endchoice The coldfire clock implementation looks rather simple compared to chips from the 2010s: most chips have only fixed clocks, and three of them have one of two registers of clock gates. It shouldn't be hard to convert, but enabling common-clk will cause a noticeable kernel size increase on the fairly limited hardware. Simply enabling COMMON_CLK in m5475evb_defconfig results in a 1.7% or 40KB growth in kernel size, plus there would be additional dynamic memory usage: text data bss dec hex filename 1934726 263616 83284 2281626 22d09a obj/vmlinux-before 1971989 266192 83308 2321489 236c51 obj/vmlinux-after > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig > index e53a8dd5c19b..fa02c715ab25 100644 > --- a/arch/mips/Kconfig > +++ b/arch/mips/Kconfig > @@ -181,7 +181,7 @@ config AR7 > select SYS_SUPPORTS_ZBOOT_UART16550 > select GPIOLIB > select VLYNQ > - select HAVE_CLK > + select HAVE_LEGACY_CLK > help > Support for the Texas Instruments AR7 System-on-a-Chip > family: TNETD7100, 7200 and 7300. I suspect this platform is fairly dead, OpenWRT dropped support for it, and the known machines have at most 16MB of RAM, which limits the number of use cases that also want to build recent kernels. > @@ -296,9 +296,9 @@ config BCM63XX > select SYS_HAS_EARLY_PRINTK > select SWAP_IO_SPACE > select GPIOLIB > - select HAVE_CLK > select MIPS_L1_CACHE_SHIFT_4 > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > help > Support for BCM63XX based boards > > @@ -419,6 +419,7 @@ config LANTIQ > select SWAP_IO_SPACE > select BOOT_RAW > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select USE_OF > select PINCTRL > select PINCTRL_LANTIQ > @@ -656,6 +657,7 @@ config RALINK > select SYS_SUPPORTS_MIPS16 > select SYS_HAS_EARLY_PRINTK > select CLKDEV_LOOKUP > + select HAVE_LEGACY_CLK > select ARCH_HAS_RESET_CONTROLLER > select RESET_CONTROLLER All three of these are older platforms that still have a number of machines supported in OpenWRT, so there is hope that someone would do the work to add common-clk support. Both Lantiq and Ralink have been converted to device tree not too long ago. I think the RALINK entry needs to be changed, as this includes SOC_MT7621, which already uses COMMON_CLK. > diff --git a/arch/mips/loongson2ef/Kconfig b/arch/mips/loongson2ef/Kconfig > index 595dd48e1e4d..c9ec43afde73 100644 > --- a/arch/mips/loongson2ef/Kconfig > +++ b/arch/mips/loongson2ef/Kconfig > @@ -46,7 +46,7 @@ config LEMOTE_MACH2F > select CSRC_R4K if ! MIPS_EXTERNAL_TIMER > select DMA_NONCOHERENT > select GENERIC_ISA_DMA_SUPPORT_BROKEN > - select HAVE_CLK > + select HAVE_LEGACY_CLK > select FORCE_PCI > select I8259 > select IRQ_MIPS_CPU For all I can tell, this driver only uses the clock interface for its cpufreq driver, and the actual API definition looks bogus. Half of it could be folded into the cpufreq driver, and the rest of it removed, along with arch/mips/include/asm/clock.h > diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig > index cee24c308337..fb0ca0c1efe1 100644 > --- a/arch/sh/boards/Kconfig > +++ b/arch/sh/boards/Kconfig > @@ -7,6 +7,11 @@ config SOLUTION_ENGINE > config SH_ALPHA_BOARD > bool > > +config SH_CUSTOM_CLK > + def_bool y > + depends on !SH_DEVICE_TREE > + select HAVE_LEGACY_CLK > + > config SH_DEVICE_TREE > bool > select OF It's going to be hard to find anyone willing to touch this, as the code is very large but has few users these days. drivers/sh/clk/ is basically a generic clk subsystem on its own, and there are at least 28 different arch/sh SoCs with drivers for it. Arnd ^ permalink raw reply [flat|nested] 39+ messages in thread
[parent not found: <158614207114.88454.6776609424163493475@swboyd.mtv.corp.google.com>]
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable [not found] ` <158614207114.88454.6776609424163493475@swboyd.mtv.corp.google.com> @ 2020-04-06 7:35 ` Arnd Bergmann 0 siblings, 0 replies; 39+ messages in thread From: Arnd Bergmann @ 2020-04-06 7:35 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, linux-kernel, linux-clk, Mark Brown, Geert Uytterhoeven, Mark Salter, Aurelien Jacquiot, Jiaxun Yang, Guan Xuetao, Russell King, Yoshinori Sato, Rich Felker, Thomas Bogendoerfer, open list:BROADCOM NVRAM DRIVER <linux-mips@vger.kernel.org>, linux-c6x-dev@linux-c6x.org, linux-m68k <linux-m68k@lists.linux-m68k.org>, Linux ARM <linux-arm-kernel@lists.infradead.org>, Linux-sh list, Greg Ungerer On Mon, Apr 6, 2020 at 5:01 AM Stephen Boyd <sboyd@kernel.org> wrote: > > Quoting Arnd Bergmann (2020-04-05 05:45:20) > > On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: > > > There's one snag with doing this, and that's making sure that randconfig > > > builds don't select this option when some architecture or platform > > > implements 'struct clk' outside of the common clk framework. Introduce a > > > new config option 'HAVE_LEGACY_CLK' to indicate those platforms that > > > haven't migrated to the common clk framework and therefore shouldn't be > > > allowed to select this new config option. Also add a note that we hope > > > one day to remove this config entirely. > > > > Good idea! > > > > I've looked through the individual ones and commented a bit on > > what I think may or may not happen with them. > > > > ralink SOC_MT7621 is the only one that I think you got wrong, > > as it already has common-clk support. > > Ah I missed that it was inside a big if RALINK. Thanks. I suppose I > should just remove the select then for that config and not worry about > the duplication of clkdev and common clk configs. Won't that cause build failures in those configurations that have both implementations? According to the Makefile, the clk.c file is built whenever CONFIG_MIPS_GIC is unset, so I think we need select HAVE_LEGACY_CLK if !MIPS_GIC or maybe move the select into the per-chip configs that need it: RT288X, RT305X, RT3883, and MT7620. > > > diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu > > > index 60ac1cd8b96f..bd2d29c22a10 100644 > > > --- a/arch/m68k/Kconfig.cpu > > > +++ b/arch/m68k/Kconfig.cpu > > > > text data bss dec hex filename > > 1934726 263616 83284 2281626 22d09a obj/vmlinux-before > > 1971989 266192 83308 2321489 236c51 obj/vmlinux-after > > > > The coldfire clock implementation looks rather simple compared > > to chips from the 2010s: most chips have only fixed clocks, > > and three of them have one of two registers of clock gates. > > > > It shouldn't be hard to convert, but enabling common-clk will > > cause a noticeable kernel size increase on the fairly limited > > hardware. > > > > Simply enabling COMMON_CLK in m5475evb_defconfig > > results in a 1.7% or 40KB growth in kernel size, plus there > > would be additional dynamic memory usage: > There could certainly be some work done to reduce the code size of the > CCF. I haven't looked but perhaps we could save some memory by making > the basic types selectable too and then push a bunch of kconfig updates > through for that. Right, that might help. Another possibility would be to support both the common clk layer and the custom clk implementation on coldfire until we remove the other custom implementations, by which point even fewer people will care about coldfire. Let's see what Geert and Greg think would be the best path for coldfire, maybe the added 40KB is less of a problem after all. Arnd ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-06 7:35 ` Arnd Bergmann 0 siblings, 0 replies; 39+ messages in thread From: Arnd Bergmann @ 2020-04-06 7:35 UTC (permalink / raw) To: Stephen Boyd Cc: Michael Turquette, linux-kernel, linux-clk, Mark Brown, Geert Uytterhoeven, Mark Salter, Aurelien Jacquiot, Jiaxun Yang, Guan Xuetao, Russell King, Yoshinori Sato, Rich Felker, Thomas Bogendoerfer, open list:BROADCOM NVRAM DRIVER <linux-mips@vger.kernel.org>, linux-c6x-dev@linux-c6x.org, linux-m68k <linux-m68k@lists.linux-m68k.org>, Linux ARM <linux-arm-kernel@lists.infradead.org>, Linux-sh list, Greg Ungerer On Mon, Apr 6, 2020 at 5:01 AM Stephen Boyd <sboyd@kernel.org> wrote: > > Quoting Arnd Bergmann (2020-04-05 05:45:20) > > On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: > > > There's one snag with doing this, and that's making sure that randconfig > > > builds don't select this option when some architecture or platform > > > implements 'struct clk' outside of the common clk framework. Introduce a > > > new config option 'HAVE_LEGACY_CLK' to indicate those platforms that > > > haven't migrated to the common clk framework and therefore shouldn't be > > > allowed to select this new config option. Also add a note that we hope > > > one day to remove this config entirely. > > > > Good idea! > > > > I've looked through the individual ones and commented a bit on > > what I think may or may not happen with them. > > > > ralink SOC_MT7621 is the only one that I think you got wrong, > > as it already has common-clk support. > > Ah I missed that it was inside a big if RALINK. Thanks. I suppose I > should just remove the select then for that config and not worry about > the duplication of clkdev and common clk configs. Won't that cause build failures in those configurations that have both implementations? According to the Makefile, the clk.c file is built whenever CONFIG_MIPS_GIC is unset, so I think we need select HAVE_LEGACY_CLK if !MIPS_GIC or maybe move the select into the per-chip configs that need it: RT288X, RT305X, RT3883, and MT7620. > > > diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu > > > index 60ac1cd8b96f..bd2d29c22a10 100644 > > > --- a/arch/m68k/Kconfig.cpu > > > +++ b/arch/m68k/Kconfig.cpu > > > > text data bss dec hex filename > > 1934726 263616 83284 2281626 22d09a obj/vmlinux-before > > 1971989 266192 83308 2321489 236c51 obj/vmlinux-after > > > > The coldfire clock implementation looks rather simple compared > > to chips from the 2010s: most chips have only fixed clocks, > > and three of them have one of two registers of clock gates. > > > > It shouldn't be hard to convert, but enabling common-clk will > > cause a noticeable kernel size increase on the fairly limited > > hardware. > > > > Simply enabling COMMON_CLK in m5475evb_defconfig > > results in a 1.7% or 40KB growth in kernel size, plus there > > would be additional dynamic memory usage: > There could certainly be some work done to reduce the code size of the > CCF. I haven't looked but perhaps we could save some memory by making > the basic types selectable too and then push a bunch of kconfig updates > through for that. Right, that might help. Another possibility would be to support both the common clk layer and the custom clk implementation on coldfire until we remove the other custom implementations, by which point even fewer people will care about coldfire. Let's see what Geert and Greg think would be the best path for coldfire, maybe the added 40KB is less of a problem after all. Arnd ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable 2020-04-06 7:35 ` Arnd Bergmann (?) @ 2020-04-07 4:57 ` Greg Ungerer -1 siblings, 0 replies; 39+ messages in thread From: Greg Ungerer @ 2020-04-07 4:57 UTC (permalink / raw) To: Arnd Bergmann, Stephen Boyd Cc: Rich Felker, linux-c6x-dev, Yoshinori Sato, Linux-sh list, open list:BROADCOM NVRAM DRIVER, Michael Turquette, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Geert Uytterhoeven, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, Linux ARM Hi Arnd, Stephen On 6/4/20 5:35 pm, Arnd Bergmann wrote: > On Mon, Apr 6, 2020 at 5:01 AM Stephen Boyd <sboyd@kernel.org> wrote: >> Quoting Arnd Bergmann (2020-04-05 05:45:20) >>> On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: >>>> There's one snag with doing this, and that's making sure that randconfig >>>> builds don't select this option when some architecture or platform >>>> implements 'struct clk' outside of the common clk framework. Introduce a >>>> new config option 'HAVE_LEGACY_CLK' to indicate those platforms that >>>> haven't migrated to the common clk framework and therefore shouldn't be >>>> allowed to select this new config option. Also add a note that we hope >>>> one day to remove this config entirely. >>> >>> Good idea! >>> >>> I've looked through the individual ones and commented a bit on >>> what I think may or may not happen with them. >>> >>> ralink SOC_MT7621 is the only one that I think you got wrong, >>> as it already has common-clk support. >> >> Ah I missed that it was inside a big if RALINK. Thanks. I suppose I >> should just remove the select then for that config and not worry about >> the duplication of clkdev and common clk configs. > > Won't that cause build failures in those configurations that have > both implementations? > > According to the Makefile, the clk.c file is built whenever CONFIG_MIPS_GIC > is unset, so I think we need > > select HAVE_LEGACY_CLK if !MIPS_GIC > > or maybe move the select into the per-chip configs that need it: > RT288X, RT305X, RT3883, and MT7620. > >>>> diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu >>>> index 60ac1cd8b96f..bd2d29c22a10 100644 >>>> --- a/arch/m68k/Kconfig.cpu >>>> +++ b/arch/m68k/Kconfig.cpu >>> >>> text data bss dec hex filename >>> 1934726 263616 83284 2281626 22d09a obj/vmlinux-before >>> 1971989 266192 83308 2321489 236c51 obj/vmlinux-after >>> >>> The coldfire clock implementation looks rather simple compared >>> to chips from the 2010s: most chips have only fixed clocks, >>> and three of them have one of two registers of clock gates. >>> >>> It shouldn't be hard to convert, but enabling common-clk will >>> cause a noticeable kernel size increase on the fairly limited >>> hardware. >>> >>> Simply enabling COMMON_CLK in m5475evb_defconfig >>> results in a 1.7% or 40KB growth in kernel size, plus there >>> would be additional dynamic memory usage: >> There could certainly be some work done to reduce the code size of the >> CCF. I haven't looked but perhaps we could save some memory by making >> the basic types selectable too and then push a bunch of kconfig updates >> through for that. > > Right, that might help. Another possibility would be to support both > the common clk layer and the custom clk implementation on coldfire > until we remove the other custom implementations, by which point > even fewer people will care about coldfire. > > Let's see what Geert and Greg think would be the best path for coldfire, > maybe the added 40KB is less of a problem after all. Losing another 40k is not ideal, but not the end of the world. It would not stop me running it on any platforms I regularly run on. For sure some of the really old hardware just doesn't have the RAM to spare. Any way, I say we have to move forward and and move to using the common clock framework for ColdFire sooner than later. Regards Greg ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-07 4:57 ` Greg Ungerer 0 siblings, 0 replies; 39+ messages in thread From: Greg Ungerer @ 2020-04-07 4:57 UTC (permalink / raw) To: Arnd Bergmann, Stephen Boyd Cc: Rich Felker, linux-c6x-dev, Yoshinori Sato, Linux-sh list, open list:BROADCOM NVRAM DRIVER, Michael Turquette, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Geert Uytterhoeven, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, Linux ARM Hi Arnd, Stephen On 6/4/20 5:35 pm, Arnd Bergmann wrote: > On Mon, Apr 6, 2020 at 5:01 AM Stephen Boyd <sboyd@kernel.org> wrote: >> Quoting Arnd Bergmann (2020-04-05 05:45:20) >>> On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: >>>> There's one snag with doing this, and that's making sure that randconfig >>>> builds don't select this option when some architecture or platform >>>> implements 'struct clk' outside of the common clk framework. Introduce a >>>> new config option 'HAVE_LEGACY_CLK' to indicate those platforms that >>>> haven't migrated to the common clk framework and therefore shouldn't be >>>> allowed to select this new config option. Also add a note that we hope >>>> one day to remove this config entirely. >>> >>> Good idea! >>> >>> I've looked through the individual ones and commented a bit on >>> what I think may or may not happen with them. >>> >>> ralink SOC_MT7621 is the only one that I think you got wrong, >>> as it already has common-clk support. >> >> Ah I missed that it was inside a big if RALINK. Thanks. I suppose I >> should just remove the select then for that config and not worry about >> the duplication of clkdev and common clk configs. > > Won't that cause build failures in those configurations that have > both implementations? > > According to the Makefile, the clk.c file is built whenever CONFIG_MIPS_GIC > is unset, so I think we need > > select HAVE_LEGACY_CLK if !MIPS_GIC > > or maybe move the select into the per-chip configs that need it: > RT288X, RT305X, RT3883, and MT7620. > >>>> diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu >>>> index 60ac1cd8b96f..bd2d29c22a10 100644 >>>> --- a/arch/m68k/Kconfig.cpu >>>> +++ b/arch/m68k/Kconfig.cpu >>> >>> text data bss dec hex filename >>> 1934726 263616 83284 2281626 22d09a obj/vmlinux-before >>> 1971989 266192 83308 2321489 236c51 obj/vmlinux-after >>> >>> The coldfire clock implementation looks rather simple compared >>> to chips from the 2010s: most chips have only fixed clocks, >>> and three of them have one of two registers of clock gates. >>> >>> It shouldn't be hard to convert, but enabling common-clk will >>> cause a noticeable kernel size increase on the fairly limited >>> hardware. >>> >>> Simply enabling COMMON_CLK in m5475evb_defconfig >>> results in a 1.7% or 40KB growth in kernel size, plus there >>> would be additional dynamic memory usage: >> There could certainly be some work done to reduce the code size of the >> CCF. I haven't looked but perhaps we could save some memory by making >> the basic types selectable too and then push a bunch of kconfig updates >> through for that. > > Right, that might help. Another possibility would be to support both > the common clk layer and the custom clk implementation on coldfire > until we remove the other custom implementations, by which point > even fewer people will care about coldfire. > > Let's see what Geert and Greg think would be the best path for coldfire, > maybe the added 40KB is less of a problem after all. Losing another 40k is not ideal, but not the end of the world. It would not stop me running it on any platforms I regularly run on. For sure some of the really old hardware just doesn't have the RAM to spare. Any way, I say we have to move forward and and move to using the common clock framework for ColdFire sooner than later. Regards Greg _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-07 4:57 ` Greg Ungerer 0 siblings, 0 replies; 39+ messages in thread From: Greg Ungerer @ 2020-04-07 4:57 UTC (permalink / raw) To: Arnd Bergmann, Stephen Boyd Cc: Michael Turquette, linux-kernel, linux-clk, Mark Brown, Geert Uytterhoeven, Mark Salter, Aurelien Jacquiot, Jiaxun Yang, Guan Xuetao, Russell King, Yoshinori Sato, Rich Felker, Thomas Bogendoerfer, open list:BROADCOM NVRAM DRIVER, linux-c6x-dev, linux-m68k, Linux ARM, Linux-sh list Hi Arnd, Stephen On 6/4/20 5:35 pm, Arnd Bergmann wrote: > On Mon, Apr 6, 2020 at 5:01 AM Stephen Boyd <sboyd@kernel.org> wrote: >> Quoting Arnd Bergmann (2020-04-05 05:45:20) >>> On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: >>>> There's one snag with doing this, and that's making sure that randconfig >>>> builds don't select this option when some architecture or platform >>>> implements 'struct clk' outside of the common clk framework. Introduce a >>>> new config option 'HAVE_LEGACY_CLK' to indicate those platforms that >>>> haven't migrated to the common clk framework and therefore shouldn't be >>>> allowed to select this new config option. Also add a note that we hope >>>> one day to remove this config entirely. >>> >>> Good idea! >>> >>> I've looked through the individual ones and commented a bit on >>> what I think may or may not happen with them. >>> >>> ralink SOC_MT7621 is the only one that I think you got wrong, >>> as it already has common-clk support. >> >> Ah I missed that it was inside a big if RALINK. Thanks. I suppose I >> should just remove the select then for that config and not worry about >> the duplication of clkdev and common clk configs. > > Won't that cause build failures in those configurations that have > both implementations? > > According to the Makefile, the clk.c file is built whenever CONFIG_MIPS_GIC > is unset, so I think we need > > select HAVE_LEGACY_CLK if !MIPS_GIC > > or maybe move the select into the per-chip configs that need it: > RT288X, RT305X, RT3883, and MT7620. > >>>> diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu >>>> index 60ac1cd8b96f..bd2d29c22a10 100644 >>>> --- a/arch/m68k/Kconfig.cpu >>>> +++ b/arch/m68k/Kconfig.cpu >>> >>> text data bss dec hex filename >>> 1934726 263616 83284 2281626 22d09a obj/vmlinux-before >>> 1971989 266192 83308 2321489 236c51 obj/vmlinux-after >>> >>> The coldfire clock implementation looks rather simple compared >>> to chips from the 2010s: most chips have only fixed clocks, >>> and three of them have one of two registers of clock gates. >>> >>> It shouldn't be hard to convert, but enabling common-clk will >>> cause a noticeable kernel size increase on the fairly limited >>> hardware. >>> >>> Simply enabling COMMON_CLK in m5475evb_defconfig >>> results in a 1.7% or 40KB growth in kernel size, plus there >>> would be additional dynamic memory usage: >> There could certainly be some work done to reduce the code size of the >> CCF. I haven't looked but perhaps we could save some memory by making >> the basic types selectable too and then push a bunch of kconfig updates >> through for that. > > Right, that might help. Another possibility would be to support both > the common clk layer and the custom clk implementation on coldfire > until we remove the other custom implementations, by which point > even fewer people will care about coldfire. > > Let's see what Geert and Greg think would be the best path for coldfire, > maybe the added 40KB is less of a problem after all. Losing another 40k is not ideal, but not the end of the world. It would not stop me running it on any platforms I regularly run on. For sure some of the really old hardware just doesn't have the RAM to spare. Any way, I say we have to move forward and and move to using the common clock framework for ColdFire sooner than later. Regards Greg ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable 2020-04-07 4:57 ` Greg Ungerer (?) @ 2020-04-07 7:07 ` Geert Uytterhoeven -1 siblings, 0 replies; 39+ messages in thread From: Geert Uytterhoeven @ 2020-04-07 7:07 UTC (permalink / raw) To: Greg Ungerer Cc: Rich Felker, Yoshinori Sato, Arnd Bergmann, Linux-sh list, Stephen Boyd, open list:BROADCOM NVRAM DRIVER, Michael Turquette, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, Linux ARM, linux-c6x-dev Hi Greg, On Tue, Apr 7, 2020 at 6:57 AM Greg Ungerer <gerg@linux-m68k.org> wrote: > On 6/4/20 5:35 pm, Arnd Bergmann wrote: > > On Mon, Apr 6, 2020 at 5:01 AM Stephen Boyd <sboyd@kernel.org> wrote: > >> Quoting Arnd Bergmann (2020-04-05 05:45:20) > >>> On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: > >>>> There's one snag with doing this, and that's making sure that randconfig > >>>> builds don't select this option when some architecture or platform > >>>> implements 'struct clk' outside of the common clk framework. Introduce a > >>>> new config option 'HAVE_LEGACY_CLK' to indicate those platforms that > >>>> haven't migrated to the common clk framework and therefore shouldn't be > >>>> allowed to select this new config option. Also add a note that we hope > >>>> one day to remove this config entirely. > >>>> --- a/arch/m68k/Kconfig.cpu > >>>> +++ b/arch/m68k/Kconfig.cpu > >>> > >>> text data bss dec hex filename > >>> 1934726 263616 83284 2281626 22d09a obj/vmlinux-before > >>> 1971989 266192 83308 2321489 236c51 obj/vmlinux-after > >>> > >>> The coldfire clock implementation looks rather simple compared > >>> to chips from the 2010s: most chips have only fixed clocks, > >>> and three of them have one of two registers of clock gates. > >>> > >>> It shouldn't be hard to convert, but enabling common-clk will > >>> cause a noticeable kernel size increase on the fairly limited > >>> hardware. > >>> > >>> Simply enabling COMMON_CLK in m5475evb_defconfig > >>> results in a 1.7% or 40KB growth in kernel size, plus there > >>> would be additional dynamic memory usage: > >> There could certainly be some work done to reduce the code size of the > >> CCF. I haven't looked but perhaps we could save some memory by making > >> the basic types selectable too and then push a bunch of kconfig updates > >> through for that. > > > > Right, that might help. Another possibility would be to support both > > the common clk layer and the custom clk implementation on coldfire > > until we remove the other custom implementations, by which point > > even fewer people will care about coldfire. > > > > Let's see what Geert and Greg think would be the best path for coldfire, > > maybe the added 40KB is less of a problem after all. > > Losing another 40k is not ideal, but not the end of the world. > It would not stop me running it on any platforms I regularly > run on. For sure some of the really old hardware just doesn't > have the RAM to spare. > > Any way, I say we have to move forward and and move to using > the common clock framework for ColdFire sooner than later. Fine for me. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-07 7:07 ` Geert Uytterhoeven 0 siblings, 0 replies; 39+ messages in thread From: Geert Uytterhoeven @ 2020-04-07 7:07 UTC (permalink / raw) To: Greg Ungerer Cc: Rich Felker, Yoshinori Sato, Arnd Bergmann, Linux-sh list, Stephen Boyd, open list:BROADCOM NVRAM DRIVER, Michael Turquette, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, Linux ARM, linux-c6x-dev Hi Greg, On Tue, Apr 7, 2020 at 6:57 AM Greg Ungerer <gerg@linux-m68k.org> wrote: > On 6/4/20 5:35 pm, Arnd Bergmann wrote: > > On Mon, Apr 6, 2020 at 5:01 AM Stephen Boyd <sboyd@kernel.org> wrote: > >> Quoting Arnd Bergmann (2020-04-05 05:45:20) > >>> On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: > >>>> There's one snag with doing this, and that's making sure that randconfig > >>>> builds don't select this option when some architecture or platform > >>>> implements 'struct clk' outside of the common clk framework. Introduce a > >>>> new config option 'HAVE_LEGACY_CLK' to indicate those platforms that > >>>> haven't migrated to the common clk framework and therefore shouldn't be > >>>> allowed to select this new config option. Also add a note that we hope > >>>> one day to remove this config entirely. > >>>> --- a/arch/m68k/Kconfig.cpu > >>>> +++ b/arch/m68k/Kconfig.cpu > >>> > >>> text data bss dec hex filename > >>> 1934726 263616 83284 2281626 22d09a obj/vmlinux-before > >>> 1971989 266192 83308 2321489 236c51 obj/vmlinux-after > >>> > >>> The coldfire clock implementation looks rather simple compared > >>> to chips from the 2010s: most chips have only fixed clocks, > >>> and three of them have one of two registers of clock gates. > >>> > >>> It shouldn't be hard to convert, but enabling common-clk will > >>> cause a noticeable kernel size increase on the fairly limited > >>> hardware. > >>> > >>> Simply enabling COMMON_CLK in m5475evb_defconfig > >>> results in a 1.7% or 40KB growth in kernel size, plus there > >>> would be additional dynamic memory usage: > >> There could certainly be some work done to reduce the code size of the > >> CCF. I haven't looked but perhaps we could save some memory by making > >> the basic types selectable too and then push a bunch of kconfig updates > >> through for that. > > > > Right, that might help. Another possibility would be to support both > > the common clk layer and the custom clk implementation on coldfire > > until we remove the other custom implementations, by which point > > even fewer people will care about coldfire. > > > > Let's see what Geert and Greg think would be the best path for coldfire, > > maybe the added 40KB is less of a problem after all. > > Losing another 40k is not ideal, but not the end of the world. > It would not stop me running it on any platforms I regularly > run on. For sure some of the really old hardware just doesn't > have the RAM to spare. > > Any way, I say we have to move forward and and move to using > the common clock framework for ColdFire sooner than later. Fine for me. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-07 7:07 ` Geert Uytterhoeven 0 siblings, 0 replies; 39+ messages in thread From: Geert Uytterhoeven @ 2020-04-07 7:07 UTC (permalink / raw) To: Greg Ungerer Cc: Arnd Bergmann, Stephen Boyd, Michael Turquette, linux-kernel, linux-clk, Mark Brown, Mark Salter, Aurelien Jacquiot, Jiaxun Yang, Guan Xuetao, Russell King, Yoshinori Sato, Rich Felker, Thomas Bogendoerfer, open list:BROADCOM NVRAM DRIVER, linux-c6x-dev, linux-m68k, Linux ARM, Linux-sh list Hi Greg, On Tue, Apr 7, 2020 at 6:57 AM Greg Ungerer <gerg@linux-m68k.org> wrote: > On 6/4/20 5:35 pm, Arnd Bergmann wrote: > > On Mon, Apr 6, 2020 at 5:01 AM Stephen Boyd <sboyd@kernel.org> wrote: > >> Quoting Arnd Bergmann (2020-04-05 05:45:20) > >>> On Sun, Apr 5, 2020 at 4:51 AM Stephen Boyd <sboyd@kernel.org> wrote: > >>>> There's one snag with doing this, and that's making sure that randconfig > >>>> builds don't select this option when some architecture or platform > >>>> implements 'struct clk' outside of the common clk framework. Introduce a > >>>> new config option 'HAVE_LEGACY_CLK' to indicate those platforms that > >>>> haven't migrated to the common clk framework and therefore shouldn't be > >>>> allowed to select this new config option. Also add a note that we hope > >>>> one day to remove this config entirely. > >>>> --- a/arch/m68k/Kconfig.cpu > >>>> +++ b/arch/m68k/Kconfig.cpu > >>> > >>> text data bss dec hex filename > >>> 1934726 263616 83284 2281626 22d09a obj/vmlinux-before > >>> 1971989 266192 83308 2321489 236c51 obj/vmlinux-after > >>> > >>> The coldfire clock implementation looks rather simple compared > >>> to chips from the 2010s: most chips have only fixed clocks, > >>> and three of them have one of two registers of clock gates. > >>> > >>> It shouldn't be hard to convert, but enabling common-clk will > >>> cause a noticeable kernel size increase on the fairly limited > >>> hardware. > >>> > >>> Simply enabling COMMON_CLK in m5475evb_defconfig > >>> results in a 1.7% or 40KB growth in kernel size, plus there > >>> would be additional dynamic memory usage: > >> There could certainly be some work done to reduce the code size of the > >> CCF. I haven't looked but perhaps we could save some memory by making > >> the basic types selectable too and then push a bunch of kconfig updates > >> through for that. > > > > Right, that might help. Another possibility would be to support both > > the common clk layer and the custom clk implementation on coldfire > > until we remove the other custom implementations, by which point > > even fewer people will care about coldfire. > > > > Let's see what Geert and Greg think would be the best path for coldfire, > > maybe the added 40KB is less of a problem after all. > > Losing another 40k is not ideal, but not the end of the world. > It would not stop me running it on any platforms I regularly > run on. For sure some of the really old hardware just doesn't > have the RAM to spare. > > Any way, I say we have to move forward and and move to using > the common clock framework for ColdFire sooner than later. Fine for me. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable 2020-04-05 2:51 ` Stephen Boyd (?) (?) @ 2020-04-05 14:27 ` kbuild test robot -1 siblings, 0 replies; 39+ messages in thread From: kbuild test robot @ 2020-04-05 14:27 UTC (permalink / raw) To: Stephen Boyd Cc: Rich Felker, kbuild-all, Yoshinori Sato, Arnd Bergmann, linux-sh, linux-mips, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Geert Uytterhoeven, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, linux-arm-kernel, linux-c6x-dev [-- Attachment #1: Type: text/plain, Size: 1682 bytes --] Hi Stephen, I love your patch! Yet something to improve: [auto build test ERROR on arm-soc/for-next] [also build test ERROR on clk/clk-next arm/for-next linus/master v5.6 next-20200405] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/Allow-COMMON_CLK-to-be-selectable/20200405-105253 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git for-next config: sparc-allyesconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.3.0 make.cross ARCH=sparc If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@intel.com> All errors (new ones prefixed by >>): sparc64-linux-ld: drivers/mmc/host/meson-mx-sdio.o: in function `meson_mx_mmc_remove': >> meson-mx-sdio.c:(.text+0x70): undefined reference to `of_platform_device_destroy' sparc64-linux-ld: drivers/mmc/host/meson-mx-sdio.o: in function `meson_mx_mmc_probe': >> meson-mx-sdio.c:(.text+0x9e4): undefined reference to `of_platform_device_create' >> sparc64-linux-ld: meson-mx-sdio.c:(.text+0xdd4): undefined reference to `of_platform_device_destroy' --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 63528 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-05 14:27 ` kbuild test robot 0 siblings, 0 replies; 39+ messages in thread From: kbuild test robot @ 2020-04-05 14:27 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 1718 bytes --] Hi Stephen, I love your patch! Yet something to improve: [auto build test ERROR on arm-soc/for-next] [also build test ERROR on clk/clk-next arm/for-next linus/master v5.6 next-20200405] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/Allow-COMMON_CLK-to-be-selectable/20200405-105253 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git for-next config: sparc-allyesconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.3.0 make.cross ARCH=sparc If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@intel.com> All errors (new ones prefixed by >>): sparc64-linux-ld: drivers/mmc/host/meson-mx-sdio.o: in function `meson_mx_mmc_remove': >> meson-mx-sdio.c:(.text+0x70): undefined reference to `of_platform_device_destroy' sparc64-linux-ld: drivers/mmc/host/meson-mx-sdio.o: in function `meson_mx_mmc_probe': >> meson-mx-sdio.c:(.text+0x9e4): undefined reference to `of_platform_device_create' >> sparc64-linux-ld: meson-mx-sdio.c:(.text+0xdd4): undefined reference to `of_platform_device_destroy' --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 63528 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-05 14:27 ` kbuild test robot 0 siblings, 0 replies; 39+ messages in thread From: kbuild test robot @ 2020-04-05 14:27 UTC (permalink / raw) To: Stephen Boyd Cc: Rich Felker, kbuild-all, Yoshinori Sato, Arnd Bergmann, linux-sh, linux-mips, linux-kernel, Jiaxun Yang, Aurelien Jacquiot, linux-m68k, Mark Brown, Geert Uytterhoeven, Mark Salter, Russell King, Thomas Bogendoerfer, Guan Xuetao, linux-clk, linux-arm-kernel, linux-c6x-dev [-- Attachment #1: Type: text/plain, Size: 1682 bytes --] Hi Stephen, I love your patch! Yet something to improve: [auto build test ERROR on arm-soc/for-next] [also build test ERROR on clk/clk-next arm/for-next linus/master v5.6 next-20200405] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/Allow-COMMON_CLK-to-be-selectable/20200405-105253 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git for-next config: sparc-allyesconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.3.0 make.cross ARCH=sparc If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@intel.com> All errors (new ones prefixed by >>): sparc64-linux-ld: drivers/mmc/host/meson-mx-sdio.o: in function `meson_mx_mmc_remove': >> meson-mx-sdio.c:(.text+0x70): undefined reference to `of_platform_device_destroy' sparc64-linux-ld: drivers/mmc/host/meson-mx-sdio.o: in function `meson_mx_mmc_probe': >> meson-mx-sdio.c:(.text+0x9e4): undefined reference to `of_platform_device_create' >> sparc64-linux-ld: meson-mx-sdio.c:(.text+0xdd4): undefined reference to `of_platform_device_destroy' --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 63528 bytes --] [-- Attachment #3: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: [PATCH 6/9] clk: Allow the common clk framework to be selectable @ 2020-04-05 14:27 ` kbuild test robot 0 siblings, 0 replies; 39+ messages in thread From: kbuild test robot @ 2020-04-05 14:27 UTC (permalink / raw) To: Stephen Boyd Cc: kbuild-all, linux-kernel, linux-clk, Mark Brown, Geert Uytterhoeven, Mark Salter, Aurelien Jacquiot, Jiaxun Yang, Guan Xuetao, Russell King, Arnd Bergmann, Yoshinori Sato, Rich Felker, Thomas Bogendoerfer, linux-mips, linux-c6x-dev, linux-m68k, linux-arm-kernel, linux-sh [-- Attachment #1: Type: text/plain, Size: 1682 bytes --] Hi Stephen, I love your patch! Yet something to improve: [auto build test ERROR on arm-soc/for-next] [also build test ERROR on clk/clk-next arm/for-next linus/master v5.6 next-20200405] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/Allow-COMMON_CLK-to-be-selectable/20200405-105253 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git for-next config: sparc-allyesconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.3.0 make.cross ARCH=sparc If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@intel.com> All errors (new ones prefixed by >>): sparc64-linux-ld: drivers/mmc/host/meson-mx-sdio.o: in function `meson_mx_mmc_remove': >> meson-mx-sdio.c:(.text+0x70): undefined reference to `of_platform_device_destroy' sparc64-linux-ld: drivers/mmc/host/meson-mx-sdio.o: in function `meson_mx_mmc_probe': >> meson-mx-sdio.c:(.text+0x9e4): undefined reference to `of_platform_device_create' >> sparc64-linux-ld: meson-mx-sdio.c:(.text+0xdd4): undefined reference to `of_platform_device_destroy' --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 63528 bytes --] ^ permalink raw reply [flat|nested] 39+ messages in thread
* [PATCH 7/9] ARM: mmp: Remove legacy clk code 2020-04-05 2:51 ` Stephen Boyd @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Lubomir Rintel, Russell King, linux-arm-kernel, Arnd Bergmann Remove all the legacy clk code that supports a non-common clk framework implementation of 'struct clk' in mach-mmp. This code doesn't look to be compiled anymore given that the MMP is fully supported in the multi-platform config via ARCH_MULTIPLATFORM as of commit 377524dc4d77 ("ARM: mmp: move into ARCH_MULTIPLATFORM"). The ARCH_MULTIPLATFORM config selects COMMON_CLK and therefore the Makefile rule can never actually compile the code in these files. Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Russell King <linux@armlinux.org.uk> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/mach-mmp/Makefile | 6 -- arch/arm/mach-mmp/clock-mmp2.c | 114 ------------------------------- arch/arm/mach-mmp/clock-pxa168.c | 94 ------------------------- arch/arm/mach-mmp/clock-pxa910.c | 70 ------------------- arch/arm/mach-mmp/clock.c | 105 ---------------------------- arch/arm/mach-mmp/clock.h | 65 ------------------ 6 files changed, 454 deletions(-) delete mode 100644 arch/arm/mach-mmp/clock-mmp2.c delete mode 100644 arch/arm/mach-mmp/clock-pxa168.c delete mode 100644 arch/arm/mach-mmp/clock-pxa910.c delete mode 100644 arch/arm/mach-mmp/clock.c delete mode 100644 arch/arm/mach-mmp/clock.h diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile index 7b3a7f979eec..e3758f7e1fe7 100644 --- a/arch/arm/mach-mmp/Makefile +++ b/arch/arm/mach-mmp/Makefile @@ -12,12 +12,6 @@ obj-$(CONFIG_CPU_PXA910) += pxa910.o obj-$(CONFIG_CPU_MMP2) += mmp2.o obj-$(CONFIG_MMP_SRAM) += sram.o -ifeq ($(CONFIG_COMMON_CLK), ) -obj-y += clock.o -obj-$(CONFIG_CPU_PXA168) += clock-pxa168.o -obj-$(CONFIG_CPU_PXA910) += clock-pxa910.o -obj-$(CONFIG_CPU_MMP2) += clock-mmp2.o -endif ifeq ($(CONFIG_PM),y) obj-$(CONFIG_CPU_PXA910) += pm-pxa910.o obj-$(CONFIG_CPU_MMP2) += pm-mmp2.o diff --git a/arch/arm/mach-mmp/clock-mmp2.c b/arch/arm/mach-mmp/clock-mmp2.c deleted file mode 100644 index 7536398bf1c1..000000000000 --- a/arch/arm/mach-mmp/clock-mmp2.c +++ /dev/null @@ -1,114 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/list.h> -#include <linux/io.h> -#include <linux/clk.h> -#include <linux/clk/mmp.h> - -#include "addr-map.h" - -#include "common.h" -#include "clock.h" - -/* - * APB Clock register offsets for MMP2 - */ -#define APBC_RTC APBC_REG(0x000) -#define APBC_TWSI1 APBC_REG(0x004) -#define APBC_TWSI2 APBC_REG(0x008) -#define APBC_TWSI3 APBC_REG(0x00c) -#define APBC_TWSI4 APBC_REG(0x010) -#define APBC_KPC APBC_REG(0x018) -#define APBC_UART1 APBC_REG(0x02c) -#define APBC_UART2 APBC_REG(0x030) -#define APBC_UART3 APBC_REG(0x034) -#define APBC_GPIO APBC_REG(0x038) -#define APBC_PWM0 APBC_REG(0x03c) -#define APBC_PWM1 APBC_REG(0x040) -#define APBC_PWM2 APBC_REG(0x044) -#define APBC_PWM3 APBC_REG(0x048) -#define APBC_SSP0 APBC_REG(0x04c) -#define APBC_SSP1 APBC_REG(0x050) -#define APBC_SSP2 APBC_REG(0x054) -#define APBC_SSP3 APBC_REG(0x058) -#define APBC_SSP4 APBC_REG(0x05c) -#define APBC_SSP5 APBC_REG(0x060) -#define APBC_TWSI5 APBC_REG(0x07c) -#define APBC_TWSI6 APBC_REG(0x080) -#define APBC_UART4 APBC_REG(0x088) - -#define APMU_USB APMU_REG(0x05c) -#define APMU_NAND APMU_REG(0x060) -#define APMU_SDH0 APMU_REG(0x054) -#define APMU_SDH1 APMU_REG(0x058) -#define APMU_SDH2 APMU_REG(0x0e8) -#define APMU_SDH3 APMU_REG(0x0ec) - -static void sdhc_clk_enable(struct clk *clk) -{ - uint32_t clk_rst; - - clk_rst = __raw_readl(clk->clk_rst); - clk_rst |= clk->enable_val; - __raw_writel(clk_rst, clk->clk_rst); -} - -static void sdhc_clk_disable(struct clk *clk) -{ - uint32_t clk_rst; - - clk_rst = __raw_readl(clk->clk_rst); - clk_rst &= ~clk->enable_val; - __raw_writel(clk_rst, clk->clk_rst); -} - -struct clkops sdhc_clk_ops = { - .enable = sdhc_clk_enable, - .disable = sdhc_clk_disable, -}; - -/* APB peripheral clocks */ -static APBC_CLK(uart1, UART1, 1, 26000000); -static APBC_CLK(uart2, UART2, 1, 26000000); -static APBC_CLK(uart3, UART3, 1, 26000000); -static APBC_CLK(uart4, UART4, 1, 26000000); -static APBC_CLK(twsi1, TWSI1, 0, 26000000); -static APBC_CLK(twsi2, TWSI2, 0, 26000000); -static APBC_CLK(twsi3, TWSI3, 0, 26000000); -static APBC_CLK(twsi4, TWSI4, 0, 26000000); -static APBC_CLK(twsi5, TWSI5, 0, 26000000); -static APBC_CLK(twsi6, TWSI6, 0, 26000000); -static APBC_CLK(gpio, GPIO, 0, 26000000); - -static APMU_CLK(nand, NAND, 0xbf, 100000000); -static APMU_CLK_OPS(sdh0, SDH0, 0x1b, 200000000, &sdhc_clk_ops); -static APMU_CLK_OPS(sdh1, SDH1, 0x1b, 200000000, &sdhc_clk_ops); -static APMU_CLK_OPS(sdh2, SDH2, 0x1b, 200000000, &sdhc_clk_ops); -static APMU_CLK_OPS(sdh3, SDH3, 0x1b, 200000000, &sdhc_clk_ops); - -static struct clk_lookup mmp2_clkregs[] = { - INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), - INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), - INIT_CLKREG(&clk_uart3, "pxa2xx-uart.2", NULL), - INIT_CLKREG(&clk_uart4, "pxa2xx-uart.3", NULL), - INIT_CLKREG(&clk_twsi1, "pxa2xx-i2c.0", NULL), - INIT_CLKREG(&clk_twsi2, "pxa2xx-i2c.1", NULL), - INIT_CLKREG(&clk_twsi3, "pxa2xx-i2c.2", NULL), - INIT_CLKREG(&clk_twsi4, "pxa2xx-i2c.3", NULL), - INIT_CLKREG(&clk_twsi5, "pxa2xx-i2c.4", NULL), - INIT_CLKREG(&clk_twsi6, "pxa2xx-i2c.5", NULL), - INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), - INIT_CLKREG(&clk_gpio, "mmp2-gpio", NULL), - INIT_CLKREG(&clk_sdh0, "sdhci-pxav3.0", "PXA-SDHCLK"), - INIT_CLKREG(&clk_sdh1, "sdhci-pxav3.1", "PXA-SDHCLK"), - INIT_CLKREG(&clk_sdh2, "sdhci-pxav3.2", "PXA-SDHCLK"), - INIT_CLKREG(&clk_sdh3, "sdhci-pxav3.3", "PXA-SDHCLK"), -}; - -void __init mmp2_clk_init(phys_addr_t mpmu_phys, phys_addr_t apmu_phys, - phys_addr_t apbc_phys) -{ - clkdev_add_table(ARRAY_AND_SIZE(mmp2_clkregs)); -} diff --git a/arch/arm/mach-mmp/clock-pxa168.c b/arch/arm/mach-mmp/clock-pxa168.c deleted file mode 100644 index 2d4a5d96a1ff..000000000000 --- a/arch/arm/mach-mmp/clock-pxa168.c +++ /dev/null @@ -1,94 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/list.h> -#include <linux/io.h> -#include <linux/clk.h> -#include <linux/clk/mmp.h> - -#include "addr-map.h" - -#include "common.h" -#include "clock.h" - -/* - * APB clock register offsets for PXA168 - */ -#define APBC_UART1 APBC_REG(0x000) -#define APBC_UART2 APBC_REG(0x004) -#define APBC_GPIO APBC_REG(0x008) -#define APBC_PWM1 APBC_REG(0x00c) -#define APBC_PWM2 APBC_REG(0x010) -#define APBC_PWM3 APBC_REG(0x014) -#define APBC_PWM4 APBC_REG(0x018) -#define APBC_RTC APBC_REG(0x028) -#define APBC_TWSI0 APBC_REG(0x02c) -#define APBC_KPC APBC_REG(0x030) -#define APBC_TWSI1 APBC_REG(0x06c) -#define APBC_UART3 APBC_REG(0x070) -#define APBC_SSP1 APBC_REG(0x81c) -#define APBC_SSP2 APBC_REG(0x820) -#define APBC_SSP3 APBC_REG(0x84c) -#define APBC_SSP4 APBC_REG(0x858) -#define APBC_SSP5 APBC_REG(0x85c) - -#define APMU_NAND APMU_REG(0x060) -#define APMU_LCD APMU_REG(0x04c) -#define APMU_ETH APMU_REG(0x0fc) -#define APMU_USB APMU_REG(0x05c) - -/* APB peripheral clocks */ -static APBC_CLK(uart1, UART1, 1, 14745600); -static APBC_CLK(uart2, UART2, 1, 14745600); -static APBC_CLK(uart3, UART3, 1, 14745600); -static APBC_CLK(twsi0, TWSI0, 1, 33000000); -static APBC_CLK(twsi1, TWSI1, 1, 33000000); -static APBC_CLK(pwm1, PWM1, 1, 13000000); -static APBC_CLK(pwm2, PWM2, 1, 13000000); -static APBC_CLK(pwm3, PWM3, 1, 13000000); -static APBC_CLK(pwm4, PWM4, 1, 13000000); -static APBC_CLK(ssp1, SSP1, 4, 0); -static APBC_CLK(ssp2, SSP2, 4, 0); -static APBC_CLK(ssp3, SSP3, 4, 0); -static APBC_CLK(ssp4, SSP4, 4, 0); -static APBC_CLK(ssp5, SSP5, 4, 0); -static APBC_CLK(gpio, GPIO, 0, 13000000); -static APBC_CLK(keypad, KPC, 0, 32000); -static APBC_CLK(rtc, RTC, 8, 32768); - -static APMU_CLK(nand, NAND, 0x19b, 156000000); -static APMU_CLK(lcd, LCD, 0x7f, 312000000); -static APMU_CLK(eth, ETH, 0x09, 0); -static APMU_CLK(usb, USB, 0x12, 0); - -/* device and clock bindings */ -static struct clk_lookup pxa168_clkregs[] = { - INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), - INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), - INIT_CLKREG(&clk_uart3, "pxa2xx-uart.2", NULL), - INIT_CLKREG(&clk_twsi0, "pxa2xx-i2c.0", NULL), - INIT_CLKREG(&clk_twsi1, "pxa2xx-i2c.1", NULL), - INIT_CLKREG(&clk_pwm1, "pxa168-pwm.0", NULL), - INIT_CLKREG(&clk_pwm2, "pxa168-pwm.1", NULL), - INIT_CLKREG(&clk_pwm3, "pxa168-pwm.2", NULL), - INIT_CLKREG(&clk_pwm4, "pxa168-pwm.3", NULL), - INIT_CLKREG(&clk_ssp1, "pxa168-ssp.0", NULL), - INIT_CLKREG(&clk_ssp2, "pxa168-ssp.1", NULL), - INIT_CLKREG(&clk_ssp3, "pxa168-ssp.2", NULL), - INIT_CLKREG(&clk_ssp4, "pxa168-ssp.3", NULL), - INIT_CLKREG(&clk_ssp5, "pxa168-ssp.4", NULL), - INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), - INIT_CLKREG(&clk_lcd, "pxa168-fb", NULL), - INIT_CLKREG(&clk_gpio, "mmp-gpio", NULL), - INIT_CLKREG(&clk_keypad, "pxa27x-keypad", NULL), - INIT_CLKREG(&clk_eth, "pxa168-eth", "MFUCLK"), - INIT_CLKREG(&clk_usb, NULL, "PXA168-USBCLK"), - INIT_CLKREG(&clk_rtc, "sa1100-rtc", NULL), -}; - -void __init pxa168_clk_init(phys_addr_t mpmu_phys, phys_addr_t apmu_phys, - phys_addr_t apbc_phys) -{ - clkdev_add_table(ARRAY_AND_SIZE(pxa168_clkregs)); -} diff --git a/arch/arm/mach-mmp/clock-pxa910.c b/arch/arm/mach-mmp/clock-pxa910.c deleted file mode 100644 index 3cd83ff91bb0..000000000000 --- a/arch/arm/mach-mmp/clock-pxa910.c +++ /dev/null @@ -1,70 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/list.h> -#include <linux/io.h> -#include <linux/clk.h> -#include <linux/clk/mmp.h> - -#include "addr-map.h" - -#include "common.h" -#include "clock.h" - -/* - * APB Clock register offsets for PXA910 - */ -#define APBC_UART0 APBC_REG(0x000) -#define APBC_UART1 APBC_REG(0x004) -#define APBC_GPIO APBC_REG(0x008) -#define APBC_PWM1 APBC_REG(0x00c) -#define APBC_PWM2 APBC_REG(0x010) -#define APBC_PWM3 APBC_REG(0x014) -#define APBC_PWM4 APBC_REG(0x018) -#define APBC_SSP1 APBC_REG(0x01c) -#define APBC_SSP2 APBC_REG(0x020) -#define APBC_RTC APBC_REG(0x028) -#define APBC_TWSI0 APBC_REG(0x02c) -#define APBC_KPC APBC_REG(0x030) -#define APBC_SSP3 APBC_REG(0x04c) -#define APBC_TWSI1 APBC_REG(0x06c) - -#define APMU_NAND APMU_REG(0x060) -#define APMU_USB APMU_REG(0x05c) - -static APBC_CLK(uart1, UART0, 1, 14745600); -static APBC_CLK(uart2, UART1, 1, 14745600); -static APBC_CLK(twsi0, TWSI0, 1, 33000000); -static APBC_CLK(twsi1, TWSI1, 1, 33000000); -static APBC_CLK(pwm1, PWM1, 1, 13000000); -static APBC_CLK(pwm2, PWM2, 1, 13000000); -static APBC_CLK(pwm3, PWM3, 1, 13000000); -static APBC_CLK(pwm4, PWM4, 1, 13000000); -static APBC_CLK(gpio, GPIO, 0, 13000000); -static APBC_CLK(rtc, RTC, 8, 32768); - -static APMU_CLK(nand, NAND, 0x19b, 156000000); -static APMU_CLK(u2o, USB, 0x1b, 480000000); - -/* device and clock bindings */ -static struct clk_lookup pxa910_clkregs[] = { - INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), - INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), - INIT_CLKREG(&clk_twsi0, "pxa2xx-i2c.0", NULL), - INIT_CLKREG(&clk_twsi1, "pxa2xx-i2c.1", NULL), - INIT_CLKREG(&clk_pwm1, "pxa910-pwm.0", NULL), - INIT_CLKREG(&clk_pwm2, "pxa910-pwm.1", NULL), - INIT_CLKREG(&clk_pwm3, "pxa910-pwm.2", NULL), - INIT_CLKREG(&clk_pwm4, "pxa910-pwm.3", NULL), - INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), - INIT_CLKREG(&clk_gpio, "mmp-gpio", NULL), - INIT_CLKREG(&clk_u2o, NULL, "U2OCLK"), - INIT_CLKREG(&clk_rtc, "sa1100-rtc", NULL), -}; - -void __init pxa910_clk_init(phys_addr_t mpmu_phys, phys_addr_t apmu_phys, - phys_addr_t apbc_phys, phys_addr_t apbcp_phys) -{ - clkdev_add_table(ARRAY_AND_SIZE(pxa910_clkregs)); -} diff --git a/arch/arm/mach-mmp/clock.c b/arch/arm/mach-mmp/clock.c deleted file mode 100644 index 291fe41e3547..000000000000 --- a/arch/arm/mach-mmp/clock.c +++ /dev/null @@ -1,105 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * linux/arch/arm/mach-mmp/clock.c - */ - -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/list.h> -#include <linux/spinlock.h> -#include <linux/clk.h> -#include <linux/io.h> - -#include "regs-apbc.h" -#include "clock.h" - -static void apbc_clk_enable(struct clk *clk) -{ - uint32_t clk_rst; - - clk_rst = APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(clk->fnclksel); - __raw_writel(clk_rst, clk->clk_rst); -} - -static void apbc_clk_disable(struct clk *clk) -{ - __raw_writel(0, clk->clk_rst); -} - -struct clkops apbc_clk_ops = { - .enable = apbc_clk_enable, - .disable = apbc_clk_disable, -}; - -static void apmu_clk_enable(struct clk *clk) -{ - __raw_writel(clk->enable_val, clk->clk_rst); -} - -static void apmu_clk_disable(struct clk *clk) -{ - __raw_writel(0, clk->clk_rst); -} - -struct clkops apmu_clk_ops = { - .enable = apmu_clk_enable, - .disable = apmu_clk_disable, -}; - -static DEFINE_SPINLOCK(clocks_lock); - -int clk_enable(struct clk *clk) -{ - unsigned long flags; - - spin_lock_irqsave(&clocks_lock, flags); - if (clk->enabled++ == 0) - clk->ops->enable(clk); - spin_unlock_irqrestore(&clocks_lock, flags); - return 0; -} -EXPORT_SYMBOL(clk_enable); - -void clk_disable(struct clk *clk) -{ - unsigned long flags; - - if (!clk) - return; - - WARN_ON(clk->enabled == 0); - - spin_lock_irqsave(&clocks_lock, flags); - if (--clk->enabled == 0) - clk->ops->disable(clk); - spin_unlock_irqrestore(&clocks_lock, flags); -} -EXPORT_SYMBOL(clk_disable); - -unsigned long clk_get_rate(struct clk *clk) -{ - unsigned long rate; - - if (clk->ops->getrate) - rate = clk->ops->getrate(clk); - else - rate = clk->rate; - - return rate; -} -EXPORT_SYMBOL(clk_get_rate); - -int clk_set_rate(struct clk *clk, unsigned long rate) -{ - unsigned long flags; - int ret = -EINVAL; - - if (clk->ops->setrate) { - spin_lock_irqsave(&clocks_lock, flags); - ret = clk->ops->setrate(clk, rate); - spin_unlock_irqrestore(&clocks_lock, flags); - } - - return ret; -} -EXPORT_SYMBOL(clk_set_rate); diff --git a/arch/arm/mach-mmp/clock.h b/arch/arm/mach-mmp/clock.h deleted file mode 100644 index 0256c894fa11..000000000000 --- a/arch/arm/mach-mmp/clock.h +++ /dev/null @@ -1,65 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include <linux/clkdev.h> - -struct clkops { - void (*enable)(struct clk *); - void (*disable)(struct clk *); - unsigned long (*getrate)(struct clk *); - int (*setrate)(struct clk *, unsigned long); -}; - -struct clk { - const struct clkops *ops; - - void __iomem *clk_rst; /* clock reset control register */ - int fnclksel; /* functional clock select (APBC) */ - uint32_t enable_val; /* value for clock enable (APMU) */ - unsigned long rate; - int enabled; -}; - -extern struct clkops apbc_clk_ops; -extern struct clkops apmu_clk_ops; - -#define APBC_CLK(_name, _reg, _fnclksel, _rate) \ -struct clk clk_##_name = { \ - .clk_rst = APBC_##_reg, \ - .fnclksel = _fnclksel, \ - .rate = _rate, \ - .ops = &apbc_clk_ops, \ -} - -#define APBC_CLK_OPS(_name, _reg, _fnclksel, _rate, _ops) \ -struct clk clk_##_name = { \ - .clk_rst = APBC_##_reg, \ - .fnclksel = _fnclksel, \ - .rate = _rate, \ - .ops = _ops, \ -} - -#define APMU_CLK(_name, _reg, _eval, _rate) \ -struct clk clk_##_name = { \ - .clk_rst = APMU_##_reg, \ - .enable_val = _eval, \ - .rate = _rate, \ - .ops = &apmu_clk_ops, \ -} - -#define APMU_CLK_OPS(_name, _reg, _eval, _rate, _ops) \ -struct clk clk_##_name = { \ - .clk_rst = APMU_##_reg, \ - .enable_val = _eval, \ - .rate = _rate, \ - .ops = _ops, \ -} - -#define INIT_CLKREG(_clk, _devname, _conname) \ - { \ - .clk = _clk, \ - .dev_id = _devname, \ - .con_id = _conname, \ - } - -extern struct clk clk_pxa168_gpio; -extern struct clk clk_pxa168_timers; -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 7/9] ARM: mmp: Remove legacy clk code @ 2020-04-05 2:51 ` Stephen Boyd 0 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Arnd Bergmann, Russell King, linux-kernel, Lubomir Rintel, linux-clk, linux-arm-kernel Remove all the legacy clk code that supports a non-common clk framework implementation of 'struct clk' in mach-mmp. This code doesn't look to be compiled anymore given that the MMP is fully supported in the multi-platform config via ARCH_MULTIPLATFORM as of commit 377524dc4d77 ("ARM: mmp: move into ARCH_MULTIPLATFORM"). The ARCH_MULTIPLATFORM config selects COMMON_CLK and therefore the Makefile rule can never actually compile the code in these files. Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Russell King <linux@armlinux.org.uk> Cc: <linux-arm-kernel@lists.infradead.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/arm/mach-mmp/Makefile | 6 -- arch/arm/mach-mmp/clock-mmp2.c | 114 ------------------------------- arch/arm/mach-mmp/clock-pxa168.c | 94 ------------------------- arch/arm/mach-mmp/clock-pxa910.c | 70 ------------------- arch/arm/mach-mmp/clock.c | 105 ---------------------------- arch/arm/mach-mmp/clock.h | 65 ------------------ 6 files changed, 454 deletions(-) delete mode 100644 arch/arm/mach-mmp/clock-mmp2.c delete mode 100644 arch/arm/mach-mmp/clock-pxa168.c delete mode 100644 arch/arm/mach-mmp/clock-pxa910.c delete mode 100644 arch/arm/mach-mmp/clock.c delete mode 100644 arch/arm/mach-mmp/clock.h diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile index 7b3a7f979eec..e3758f7e1fe7 100644 --- a/arch/arm/mach-mmp/Makefile +++ b/arch/arm/mach-mmp/Makefile @@ -12,12 +12,6 @@ obj-$(CONFIG_CPU_PXA910) += pxa910.o obj-$(CONFIG_CPU_MMP2) += mmp2.o obj-$(CONFIG_MMP_SRAM) += sram.o -ifeq ($(CONFIG_COMMON_CLK), ) -obj-y += clock.o -obj-$(CONFIG_CPU_PXA168) += clock-pxa168.o -obj-$(CONFIG_CPU_PXA910) += clock-pxa910.o -obj-$(CONFIG_CPU_MMP2) += clock-mmp2.o -endif ifeq ($(CONFIG_PM),y) obj-$(CONFIG_CPU_PXA910) += pm-pxa910.o obj-$(CONFIG_CPU_MMP2) += pm-mmp2.o diff --git a/arch/arm/mach-mmp/clock-mmp2.c b/arch/arm/mach-mmp/clock-mmp2.c deleted file mode 100644 index 7536398bf1c1..000000000000 --- a/arch/arm/mach-mmp/clock-mmp2.c +++ /dev/null @@ -1,114 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/list.h> -#include <linux/io.h> -#include <linux/clk.h> -#include <linux/clk/mmp.h> - -#include "addr-map.h" - -#include "common.h" -#include "clock.h" - -/* - * APB Clock register offsets for MMP2 - */ -#define APBC_RTC APBC_REG(0x000) -#define APBC_TWSI1 APBC_REG(0x004) -#define APBC_TWSI2 APBC_REG(0x008) -#define APBC_TWSI3 APBC_REG(0x00c) -#define APBC_TWSI4 APBC_REG(0x010) -#define APBC_KPC APBC_REG(0x018) -#define APBC_UART1 APBC_REG(0x02c) -#define APBC_UART2 APBC_REG(0x030) -#define APBC_UART3 APBC_REG(0x034) -#define APBC_GPIO APBC_REG(0x038) -#define APBC_PWM0 APBC_REG(0x03c) -#define APBC_PWM1 APBC_REG(0x040) -#define APBC_PWM2 APBC_REG(0x044) -#define APBC_PWM3 APBC_REG(0x048) -#define APBC_SSP0 APBC_REG(0x04c) -#define APBC_SSP1 APBC_REG(0x050) -#define APBC_SSP2 APBC_REG(0x054) -#define APBC_SSP3 APBC_REG(0x058) -#define APBC_SSP4 APBC_REG(0x05c) -#define APBC_SSP5 APBC_REG(0x060) -#define APBC_TWSI5 APBC_REG(0x07c) -#define APBC_TWSI6 APBC_REG(0x080) -#define APBC_UART4 APBC_REG(0x088) - -#define APMU_USB APMU_REG(0x05c) -#define APMU_NAND APMU_REG(0x060) -#define APMU_SDH0 APMU_REG(0x054) -#define APMU_SDH1 APMU_REG(0x058) -#define APMU_SDH2 APMU_REG(0x0e8) -#define APMU_SDH3 APMU_REG(0x0ec) - -static void sdhc_clk_enable(struct clk *clk) -{ - uint32_t clk_rst; - - clk_rst = __raw_readl(clk->clk_rst); - clk_rst |= clk->enable_val; - __raw_writel(clk_rst, clk->clk_rst); -} - -static void sdhc_clk_disable(struct clk *clk) -{ - uint32_t clk_rst; - - clk_rst = __raw_readl(clk->clk_rst); - clk_rst &= ~clk->enable_val; - __raw_writel(clk_rst, clk->clk_rst); -} - -struct clkops sdhc_clk_ops = { - .enable = sdhc_clk_enable, - .disable = sdhc_clk_disable, -}; - -/* APB peripheral clocks */ -static APBC_CLK(uart1, UART1, 1, 26000000); -static APBC_CLK(uart2, UART2, 1, 26000000); -static APBC_CLK(uart3, UART3, 1, 26000000); -static APBC_CLK(uart4, UART4, 1, 26000000); -static APBC_CLK(twsi1, TWSI1, 0, 26000000); -static APBC_CLK(twsi2, TWSI2, 0, 26000000); -static APBC_CLK(twsi3, TWSI3, 0, 26000000); -static APBC_CLK(twsi4, TWSI4, 0, 26000000); -static APBC_CLK(twsi5, TWSI5, 0, 26000000); -static APBC_CLK(twsi6, TWSI6, 0, 26000000); -static APBC_CLK(gpio, GPIO, 0, 26000000); - -static APMU_CLK(nand, NAND, 0xbf, 100000000); -static APMU_CLK_OPS(sdh0, SDH0, 0x1b, 200000000, &sdhc_clk_ops); -static APMU_CLK_OPS(sdh1, SDH1, 0x1b, 200000000, &sdhc_clk_ops); -static APMU_CLK_OPS(sdh2, SDH2, 0x1b, 200000000, &sdhc_clk_ops); -static APMU_CLK_OPS(sdh3, SDH3, 0x1b, 200000000, &sdhc_clk_ops); - -static struct clk_lookup mmp2_clkregs[] = { - INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), - INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), - INIT_CLKREG(&clk_uart3, "pxa2xx-uart.2", NULL), - INIT_CLKREG(&clk_uart4, "pxa2xx-uart.3", NULL), - INIT_CLKREG(&clk_twsi1, "pxa2xx-i2c.0", NULL), - INIT_CLKREG(&clk_twsi2, "pxa2xx-i2c.1", NULL), - INIT_CLKREG(&clk_twsi3, "pxa2xx-i2c.2", NULL), - INIT_CLKREG(&clk_twsi4, "pxa2xx-i2c.3", NULL), - INIT_CLKREG(&clk_twsi5, "pxa2xx-i2c.4", NULL), - INIT_CLKREG(&clk_twsi6, "pxa2xx-i2c.5", NULL), - INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), - INIT_CLKREG(&clk_gpio, "mmp2-gpio", NULL), - INIT_CLKREG(&clk_sdh0, "sdhci-pxav3.0", "PXA-SDHCLK"), - INIT_CLKREG(&clk_sdh1, "sdhci-pxav3.1", "PXA-SDHCLK"), - INIT_CLKREG(&clk_sdh2, "sdhci-pxav3.2", "PXA-SDHCLK"), - INIT_CLKREG(&clk_sdh3, "sdhci-pxav3.3", "PXA-SDHCLK"), -}; - -void __init mmp2_clk_init(phys_addr_t mpmu_phys, phys_addr_t apmu_phys, - phys_addr_t apbc_phys) -{ - clkdev_add_table(ARRAY_AND_SIZE(mmp2_clkregs)); -} diff --git a/arch/arm/mach-mmp/clock-pxa168.c b/arch/arm/mach-mmp/clock-pxa168.c deleted file mode 100644 index 2d4a5d96a1ff..000000000000 --- a/arch/arm/mach-mmp/clock-pxa168.c +++ /dev/null @@ -1,94 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/list.h> -#include <linux/io.h> -#include <linux/clk.h> -#include <linux/clk/mmp.h> - -#include "addr-map.h" - -#include "common.h" -#include "clock.h" - -/* - * APB clock register offsets for PXA168 - */ -#define APBC_UART1 APBC_REG(0x000) -#define APBC_UART2 APBC_REG(0x004) -#define APBC_GPIO APBC_REG(0x008) -#define APBC_PWM1 APBC_REG(0x00c) -#define APBC_PWM2 APBC_REG(0x010) -#define APBC_PWM3 APBC_REG(0x014) -#define APBC_PWM4 APBC_REG(0x018) -#define APBC_RTC APBC_REG(0x028) -#define APBC_TWSI0 APBC_REG(0x02c) -#define APBC_KPC APBC_REG(0x030) -#define APBC_TWSI1 APBC_REG(0x06c) -#define APBC_UART3 APBC_REG(0x070) -#define APBC_SSP1 APBC_REG(0x81c) -#define APBC_SSP2 APBC_REG(0x820) -#define APBC_SSP3 APBC_REG(0x84c) -#define APBC_SSP4 APBC_REG(0x858) -#define APBC_SSP5 APBC_REG(0x85c) - -#define APMU_NAND APMU_REG(0x060) -#define APMU_LCD APMU_REG(0x04c) -#define APMU_ETH APMU_REG(0x0fc) -#define APMU_USB APMU_REG(0x05c) - -/* APB peripheral clocks */ -static APBC_CLK(uart1, UART1, 1, 14745600); -static APBC_CLK(uart2, UART2, 1, 14745600); -static APBC_CLK(uart3, UART3, 1, 14745600); -static APBC_CLK(twsi0, TWSI0, 1, 33000000); -static APBC_CLK(twsi1, TWSI1, 1, 33000000); -static APBC_CLK(pwm1, PWM1, 1, 13000000); -static APBC_CLK(pwm2, PWM2, 1, 13000000); -static APBC_CLK(pwm3, PWM3, 1, 13000000); -static APBC_CLK(pwm4, PWM4, 1, 13000000); -static APBC_CLK(ssp1, SSP1, 4, 0); -static APBC_CLK(ssp2, SSP2, 4, 0); -static APBC_CLK(ssp3, SSP3, 4, 0); -static APBC_CLK(ssp4, SSP4, 4, 0); -static APBC_CLK(ssp5, SSP5, 4, 0); -static APBC_CLK(gpio, GPIO, 0, 13000000); -static APBC_CLK(keypad, KPC, 0, 32000); -static APBC_CLK(rtc, RTC, 8, 32768); - -static APMU_CLK(nand, NAND, 0x19b, 156000000); -static APMU_CLK(lcd, LCD, 0x7f, 312000000); -static APMU_CLK(eth, ETH, 0x09, 0); -static APMU_CLK(usb, USB, 0x12, 0); - -/* device and clock bindings */ -static struct clk_lookup pxa168_clkregs[] = { - INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), - INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), - INIT_CLKREG(&clk_uart3, "pxa2xx-uart.2", NULL), - INIT_CLKREG(&clk_twsi0, "pxa2xx-i2c.0", NULL), - INIT_CLKREG(&clk_twsi1, "pxa2xx-i2c.1", NULL), - INIT_CLKREG(&clk_pwm1, "pxa168-pwm.0", NULL), - INIT_CLKREG(&clk_pwm2, "pxa168-pwm.1", NULL), - INIT_CLKREG(&clk_pwm3, "pxa168-pwm.2", NULL), - INIT_CLKREG(&clk_pwm4, "pxa168-pwm.3", NULL), - INIT_CLKREG(&clk_ssp1, "pxa168-ssp.0", NULL), - INIT_CLKREG(&clk_ssp2, "pxa168-ssp.1", NULL), - INIT_CLKREG(&clk_ssp3, "pxa168-ssp.2", NULL), - INIT_CLKREG(&clk_ssp4, "pxa168-ssp.3", NULL), - INIT_CLKREG(&clk_ssp5, "pxa168-ssp.4", NULL), - INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), - INIT_CLKREG(&clk_lcd, "pxa168-fb", NULL), - INIT_CLKREG(&clk_gpio, "mmp-gpio", NULL), - INIT_CLKREG(&clk_keypad, "pxa27x-keypad", NULL), - INIT_CLKREG(&clk_eth, "pxa168-eth", "MFUCLK"), - INIT_CLKREG(&clk_usb, NULL, "PXA168-USBCLK"), - INIT_CLKREG(&clk_rtc, "sa1100-rtc", NULL), -}; - -void __init pxa168_clk_init(phys_addr_t mpmu_phys, phys_addr_t apmu_phys, - phys_addr_t apbc_phys) -{ - clkdev_add_table(ARRAY_AND_SIZE(pxa168_clkregs)); -} diff --git a/arch/arm/mach-mmp/clock-pxa910.c b/arch/arm/mach-mmp/clock-pxa910.c deleted file mode 100644 index 3cd83ff91bb0..000000000000 --- a/arch/arm/mach-mmp/clock-pxa910.c +++ /dev/null @@ -1,70 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/list.h> -#include <linux/io.h> -#include <linux/clk.h> -#include <linux/clk/mmp.h> - -#include "addr-map.h" - -#include "common.h" -#include "clock.h" - -/* - * APB Clock register offsets for PXA910 - */ -#define APBC_UART0 APBC_REG(0x000) -#define APBC_UART1 APBC_REG(0x004) -#define APBC_GPIO APBC_REG(0x008) -#define APBC_PWM1 APBC_REG(0x00c) -#define APBC_PWM2 APBC_REG(0x010) -#define APBC_PWM3 APBC_REG(0x014) -#define APBC_PWM4 APBC_REG(0x018) -#define APBC_SSP1 APBC_REG(0x01c) -#define APBC_SSP2 APBC_REG(0x020) -#define APBC_RTC APBC_REG(0x028) -#define APBC_TWSI0 APBC_REG(0x02c) -#define APBC_KPC APBC_REG(0x030) -#define APBC_SSP3 APBC_REG(0x04c) -#define APBC_TWSI1 APBC_REG(0x06c) - -#define APMU_NAND APMU_REG(0x060) -#define APMU_USB APMU_REG(0x05c) - -static APBC_CLK(uart1, UART0, 1, 14745600); -static APBC_CLK(uart2, UART1, 1, 14745600); -static APBC_CLK(twsi0, TWSI0, 1, 33000000); -static APBC_CLK(twsi1, TWSI1, 1, 33000000); -static APBC_CLK(pwm1, PWM1, 1, 13000000); -static APBC_CLK(pwm2, PWM2, 1, 13000000); -static APBC_CLK(pwm3, PWM3, 1, 13000000); -static APBC_CLK(pwm4, PWM4, 1, 13000000); -static APBC_CLK(gpio, GPIO, 0, 13000000); -static APBC_CLK(rtc, RTC, 8, 32768); - -static APMU_CLK(nand, NAND, 0x19b, 156000000); -static APMU_CLK(u2o, USB, 0x1b, 480000000); - -/* device and clock bindings */ -static struct clk_lookup pxa910_clkregs[] = { - INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), - INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), - INIT_CLKREG(&clk_twsi0, "pxa2xx-i2c.0", NULL), - INIT_CLKREG(&clk_twsi1, "pxa2xx-i2c.1", NULL), - INIT_CLKREG(&clk_pwm1, "pxa910-pwm.0", NULL), - INIT_CLKREG(&clk_pwm2, "pxa910-pwm.1", NULL), - INIT_CLKREG(&clk_pwm3, "pxa910-pwm.2", NULL), - INIT_CLKREG(&clk_pwm4, "pxa910-pwm.3", NULL), - INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), - INIT_CLKREG(&clk_gpio, "mmp-gpio", NULL), - INIT_CLKREG(&clk_u2o, NULL, "U2OCLK"), - INIT_CLKREG(&clk_rtc, "sa1100-rtc", NULL), -}; - -void __init pxa910_clk_init(phys_addr_t mpmu_phys, phys_addr_t apmu_phys, - phys_addr_t apbc_phys, phys_addr_t apbcp_phys) -{ - clkdev_add_table(ARRAY_AND_SIZE(pxa910_clkregs)); -} diff --git a/arch/arm/mach-mmp/clock.c b/arch/arm/mach-mmp/clock.c deleted file mode 100644 index 291fe41e3547..000000000000 --- a/arch/arm/mach-mmp/clock.c +++ /dev/null @@ -1,105 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * linux/arch/arm/mach-mmp/clock.c - */ - -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/list.h> -#include <linux/spinlock.h> -#include <linux/clk.h> -#include <linux/io.h> - -#include "regs-apbc.h" -#include "clock.h" - -static void apbc_clk_enable(struct clk *clk) -{ - uint32_t clk_rst; - - clk_rst = APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(clk->fnclksel); - __raw_writel(clk_rst, clk->clk_rst); -} - -static void apbc_clk_disable(struct clk *clk) -{ - __raw_writel(0, clk->clk_rst); -} - -struct clkops apbc_clk_ops = { - .enable = apbc_clk_enable, - .disable = apbc_clk_disable, -}; - -static void apmu_clk_enable(struct clk *clk) -{ - __raw_writel(clk->enable_val, clk->clk_rst); -} - -static void apmu_clk_disable(struct clk *clk) -{ - __raw_writel(0, clk->clk_rst); -} - -struct clkops apmu_clk_ops = { - .enable = apmu_clk_enable, - .disable = apmu_clk_disable, -}; - -static DEFINE_SPINLOCK(clocks_lock); - -int clk_enable(struct clk *clk) -{ - unsigned long flags; - - spin_lock_irqsave(&clocks_lock, flags); - if (clk->enabled++ == 0) - clk->ops->enable(clk); - spin_unlock_irqrestore(&clocks_lock, flags); - return 0; -} -EXPORT_SYMBOL(clk_enable); - -void clk_disable(struct clk *clk) -{ - unsigned long flags; - - if (!clk) - return; - - WARN_ON(clk->enabled == 0); - - spin_lock_irqsave(&clocks_lock, flags); - if (--clk->enabled == 0) - clk->ops->disable(clk); - spin_unlock_irqrestore(&clocks_lock, flags); -} -EXPORT_SYMBOL(clk_disable); - -unsigned long clk_get_rate(struct clk *clk) -{ - unsigned long rate; - - if (clk->ops->getrate) - rate = clk->ops->getrate(clk); - else - rate = clk->rate; - - return rate; -} -EXPORT_SYMBOL(clk_get_rate); - -int clk_set_rate(struct clk *clk, unsigned long rate) -{ - unsigned long flags; - int ret = -EINVAL; - - if (clk->ops->setrate) { - spin_lock_irqsave(&clocks_lock, flags); - ret = clk->ops->setrate(clk, rate); - spin_unlock_irqrestore(&clocks_lock, flags); - } - - return ret; -} -EXPORT_SYMBOL(clk_set_rate); diff --git a/arch/arm/mach-mmp/clock.h b/arch/arm/mach-mmp/clock.h deleted file mode 100644 index 0256c894fa11..000000000000 --- a/arch/arm/mach-mmp/clock.h +++ /dev/null @@ -1,65 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include <linux/clkdev.h> - -struct clkops { - void (*enable)(struct clk *); - void (*disable)(struct clk *); - unsigned long (*getrate)(struct clk *); - int (*setrate)(struct clk *, unsigned long); -}; - -struct clk { - const struct clkops *ops; - - void __iomem *clk_rst; /* clock reset control register */ - int fnclksel; /* functional clock select (APBC) */ - uint32_t enable_val; /* value for clock enable (APMU) */ - unsigned long rate; - int enabled; -}; - -extern struct clkops apbc_clk_ops; -extern struct clkops apmu_clk_ops; - -#define APBC_CLK(_name, _reg, _fnclksel, _rate) \ -struct clk clk_##_name = { \ - .clk_rst = APBC_##_reg, \ - .fnclksel = _fnclksel, \ - .rate = _rate, \ - .ops = &apbc_clk_ops, \ -} - -#define APBC_CLK_OPS(_name, _reg, _fnclksel, _rate, _ops) \ -struct clk clk_##_name = { \ - .clk_rst = APBC_##_reg, \ - .fnclksel = _fnclksel, \ - .rate = _rate, \ - .ops = _ops, \ -} - -#define APMU_CLK(_name, _reg, _eval, _rate) \ -struct clk clk_##_name = { \ - .clk_rst = APMU_##_reg, \ - .enable_val = _eval, \ - .rate = _rate, \ - .ops = &apmu_clk_ops, \ -} - -#define APMU_CLK_OPS(_name, _reg, _eval, _rate, _ops) \ -struct clk clk_##_name = { \ - .clk_rst = APMU_##_reg, \ - .enable_val = _eval, \ - .rate = _rate, \ - .ops = _ops, \ -} - -#define INIT_CLKREG(_clk, _devname, _conname) \ - { \ - .clk = _clk, \ - .dev_id = _devname, \ - .con_id = _conname, \ - } - -extern struct clk clk_pxa168_gpio; -extern struct clk clk_pxa168_timers; -- Sent by a computer, using git, on the internet _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 8/9] MIPS: Loongson64: Drop asm/clock.h include 2020-04-05 2:51 ` Stephen Boyd ` (8 preceding siblings ...) (?) @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Jiaxun Yang, Paul Burton, linux-mips, chenhc This include isn't used by this file, so just remove it. Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Paul Burton <paulburton@kernel.org> Cc: <linux-mips@vger.kernel.org> Cc: <chenhc@lemote.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/mips/loongson64/smp.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/mips/loongson64/smp.c b/arch/mips/loongson64/smp.c index de8e0741ce2d..b48d9c566c5a 100644 --- a/arch/mips/loongson64/smp.c +++ b/arch/mips/loongson64/smp.c @@ -14,7 +14,6 @@ #include <linux/kexec.h> #include <asm/processor.h> #include <asm/time.h> -#include <asm/clock.h> #include <asm/tlbflush.h> #include <asm/cacheflush.h> #include <loongson.h> -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
* [PATCH 9/9] clk: Move HAVE_CLK config out of architecture layer 2020-04-05 2:51 ` Stephen Boyd ` (9 preceding siblings ...) (?) @ 2020-04-05 2:51 ` Stephen Boyd -1 siblings, 0 replies; 39+ messages in thread From: Stephen Boyd @ 2020-04-05 2:51 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: linux-kernel, linux-clk, Russell King, Arnd Bergmann The implementation of 'struct clk' is not really an architectual detail anymore now that most architectures have migrated to the common clk framework. To sway new architecture ports away from trying to implement their own 'struct clk', move the config next to the common clk framework config. Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Stephen Boyd <sboyd@kernel.org> --- arch/Kconfig | 6 ------ drivers/clk/Kconfig | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig index 17fe351cdde0..903ac5547ee8 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -321,12 +321,6 @@ config HAVE_FUNCTION_ARG_ACCESS_API the API needed to access function arguments from pt_regs, declared in asm/ptrace.h -config HAVE_CLK - bool - help - The <linux/clk.h> calls support software clock gating and - thus are a key power management tool on many systems. - config HAVE_HW_BREAKPOINT bool depends on PERF_EVENTS diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig index 890bed62196d..6ea0631e3956 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -1,5 +1,11 @@ # SPDX-License-Identifier: GPL-2.0 +config HAVE_CLK + bool + help + The <linux/clk.h> calls support software clock gating and + thus are a key power management tool on many systems. + config CLKDEV_LOOKUP bool select HAVE_CLK -- Sent by a computer, using git, on the internet ^ permalink raw reply related [flat|nested] 39+ messages in thread
end of thread, other threads:[~2020-04-07 7:08 UTC | newest] Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-04-05 2:51 [PATCH 0/9] Allow COMMON_CLK to be selectable Stephen Boyd 2020-04-05 2:51 ` Stephen Boyd 2020-04-05 2:51 ` Stephen Boyd 2020-04-05 2:51 ` [PATCH 1/9] ARM: Remove redundant COMMON_CLK selects Stephen Boyd 2020-04-05 2:51 ` Stephen Boyd 2020-04-05 6:20 ` Manivannan Sadhasivam 2020-04-05 6:20 ` Manivannan Sadhasivam 2020-04-06 11:03 ` Andreas Färber 2020-04-06 11:03 ` Andreas Färber 2020-04-05 2:51 ` [PATCH 2/9] ARM: Remove redundant CLKDEV_LOOKUP selects Stephen Boyd 2020-04-05 2:51 ` Stephen Boyd 2020-04-05 2:51 ` [PATCH 3/9] arm64: tegra: " Stephen Boyd 2020-04-05 2:51 ` Stephen Boyd 2020-04-06 9:12 ` Thierry Reding 2020-04-06 9:12 ` Thierry Reding 2020-04-05 2:51 ` [PATCH 4/9] h8300: " Stephen Boyd 2020-04-05 2:51 ` [PATCH 5/9] MIPS: " Stephen Boyd 2020-04-05 2:51 ` [PATCH 6/9] clk: Allow the common clk framework to be selectable Stephen Boyd 2020-04-05 2:51 ` Stephen Boyd 2020-04-05 2:51 ` Stephen Boyd 2020-04-05 12:45 ` Arnd Bergmann 2020-04-05 12:45 ` Arnd Bergmann 2020-04-05 12:45 ` Arnd Bergmann [not found] ` <158614207114.88454.6776609424163493475@swboyd.mtv.corp.google.com> 2020-04-06 7:35 ` Arnd Bergmann 2020-04-06 7:35 ` Arnd Bergmann 2020-04-07 4:57 ` Greg Ungerer 2020-04-07 4:57 ` Greg Ungerer 2020-04-07 4:57 ` Greg Ungerer 2020-04-07 7:07 ` Geert Uytterhoeven 2020-04-07 7:07 ` Geert Uytterhoeven 2020-04-07 7:07 ` Geert Uytterhoeven 2020-04-05 14:27 ` kbuild test robot 2020-04-05 14:27 ` kbuild test robot 2020-04-05 14:27 ` kbuild test robot 2020-04-05 14:27 ` kbuild test robot 2020-04-05 2:51 ` [PATCH 7/9] ARM: mmp: Remove legacy clk code Stephen Boyd 2020-04-05 2:51 ` Stephen Boyd 2020-04-05 2:51 ` [PATCH 8/9] MIPS: Loongson64: Drop asm/clock.h include Stephen Boyd 2020-04-05 2:51 ` [PATCH 9/9] clk: Move HAVE_CLK config out of architecture layer Stephen Boyd
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.