clocksource: Consolidate SH and ARM mach-shmobile Kconfig bits
Subsystems (5)
Magnus Damm
maintainerv3 cover clocksource: Consolidate SH and ARM mach-shmobile Kconfig bits
clocksource: Consolidate SH and ARM mach-shmobile Kconfig bits (v3)
[PATCH v3 01/03] clocksource: Add Kconfig entries for CMT, MTU2, TMU and STI [PATCH v3 02/03] ARM: shmobile: Remove CMT, TMU and STI Kconfig entries [PATCH v2 03/03] sh: Remove Kconfig entries for TMU, CMT and MTU2
This is V3 of the SH and ARM mach-shmobile clocksource Kconfig consolidation series.
By sharing Kconfig entires in drivers/clocksource/Kconfig we can get rid of duplicated bits that do not belong under arch/.
With this series applied it is possible to build the timer drivers for CMT, MTU2, TMU and STI in case of SH or ARM. The timer drivers are automatically selected by default. It is also possible to select and/or deselect freely when COMPILE_TEST has been selected.
Since last time this has been broken out into 3 separate patches, where [PATCH v3 01/03] needs to go first, and the other patches can be merged any time after without any build or configuration issues.
Thanks to Daniel, John and Arnd for feedback!
This version tries to find a middle ground by:
- Not allowing user selection of timers by default
- Automaticlally select available drivers using SYS_SUPPORTS_xxx.
- Allow manual override in case of COMPILE_TEST (select and deselect)
- The system will boot regardless of these settigns
- In this version the special case menu tand if have been dropped
Slightly different and/or not really handled in this version:
- The acronym soup is kept as-is for now
- Allow select _and_ deselect in case of COMPILE_TEST (not only select)
- Follow same style as SH and select per-SoC SYS_SUPPORTS_xxx
---
Written against renesas.git tag renesas-devel-v3.13-rc2-20131202
arch/arm/mach-shmobile/Kconfig | 35 +++++++++++++++++------------------ arch/sh/Kconfig | 21 --------------------- drivers/clocksource/Kconfig | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 39 deletions(-)
Magnus Damm
maintainerPATCH v3 1/3 clocksource: Add Kconfig entries for CMT, MTU2, TMU and STI
From: Magnus Damm <[email protected]>
Add Kconfig entries for CMT, MTU2, TMU and STI to drivers/clocksource/Kconfig. This will allow us to get rid of duplicated entires in architecture code such as arch/sh and arch/arm/mach-shmobile.
---
drivers/clocksource/Kconfig | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
drivers/clocksource/Kconfig +36 -0
@@ -134,3 +134,39 @@ config VF_PIT_TIMER bool help Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. + +config SYS_SUPPORTS_CMT + bool + +config SYS_SUPPORTS_TMU + bool + +config SYS_SUPPORTS_MTU2 + bool + +config SYS_SUPPORTS_STI + bool + +config SH_TIMER_CMT + bool "Renesas CMT timer driver" if COMPILE_TEST + default SYS_SUPPORTS_CMT + help + This enables build of the CMT timer driver. + +config SH_TIMER_MTU2 + bool "Renesas MTU2 timer driver" if COMPILE_TEST + default SYS_SUPPORTS_MTU2 + help + This enables build of the MTU2 timer driver. + +config SH_TIMER_TMU + bool "Renesas TMU timer driver" if COMPILE_TEST + default SYS_SUPPORTS_TMU + help + This enables build of the TMU timer driver. + +config EM_TIMER_STI + bool "Renesas STI timer driver" if COMPILE_TEST + default SYS_SUPPORTS_STI + help + This enables build of the STI timer driver.
Re: [PATCH v3 01/03] clocksource: Add Kconfig entries for CMT, MTU2, TMU and STI
Quoted 28 lines · Magnus Damm
From: Magnus Damm <[email protected]>
Add
Kconfigentries for CMT, MTU2, TMU and STI todrivers/clocksource/Kconfig. This will allow us to get rid of duplicated entires in architecture code such asarch/shandarch/arm/mach-shmobile.Signed-off-by Magnus Damm <[email protected]>---
drivers/clocksource/Kconfig | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)drivers/clocksource/Kconfig +9
-0@@ -134,3 +134,39 @@ config VF_PIT_TIMER bool help Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. + +config SYS_SUPPORTS_CMT + bool + +config SYS_SUPPORTS_TMU + bool + +config SYS_SUPPORTS_MTU2 + bool
drivers/clocksource/Kconfig config VF_PIT_TIMER · line 155
Quoted 10 lines
drivers/clocksource/Kconfig +10
-0+ +config SYS_SUPPORTS_STI + bool + +config SH_TIMER_CMT + bool "Renesas CMT timer driver" if COMPILE_TEST + default SYS_SUPPORTS_CMT + help + This enables build of the CMT timer driver. +
So again, I'd say if this is a non-conflicting COMPILE_TEST option (ie, enabling it doesn't for anything else to be disabled), you might as well enable it without a prompt on COMPILE_TEST. But that's just me. :)
If folks really disagree, and there is to be a user prompt, can we get just a little more detail in the help text?
So what is the CMT hardware? Maybe what does CMT stand for? What hardware is it frequently found on?
thanks
-john
Magnus Damm
maintainerPATCH v3 2/3 ARM: shmobile: Remove CMT, TMU and STI Kconfig entries
In reply to Magnus DammFrom: Magnus Damm <[email protected]>
Now when drivers/clocksource/Kconfig has been
updated with entires for CMT, TMU and STI
it is safe to remove these from mach-shmobile.
Also select timers per SoC via SYS_SUPPORTS_xxx.
---
arch/arm/mach-shmobile/Kconfig | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-)
arch/arm/mach-shmobile/Kconfig +17 -18
@@ -23,13 +23,16 @@ comment "SH-Mobile System Type" config ARCH_EMEV2 bool "Emma Mobile EV2" + select SYS_SUPPORTS_STI config ARCH_R7S72100 bool "RZ/A1H (R7S72100)" + select SYS_SUPPORTS_MTU2 config ARCH_R8A7791 bool "R-Car M2 (R8A77910)" select RENESAS_IRQC + select SYS_SUPPORTS_CMT comment "SH-Mobile Board Type"
@@ -59,6 +62,8 @@ config ARCH_SH7372 select ARM_CPU_SUSPEND if PM || CPU_IDLE select CPU_V7 select SH_CLK_CPG + select SYS_SUPPORTS_CMT + select SYS_SUPPORTS_TMU config ARCH_SH73A0 bool "SH-Mobile AG5 (R8A73A00)"
@@ -68,6 +73,8 @@ config ARCH_SH73A0 select I2C select SH_CLK_CPG select RENESAS_INTC_IRQPIN + select SYS_SUPPORTS_CMT + select SYS_SUPPORTS_TMU config ARCH_R8A73A4 bool "R-Mobile APE6 (R8A73A40)"
@@ -78,6 +85,8 @@ config ARCH_R8A73A4 select RENESAS_IRQC select ARCH_HAS_CPUFREQ select ARCH_HAS_OPP + select SYS_SUPPORTS_CMT + select SYS_SUPPORTS_TMU config ARCH_R8A7740 bool "R-Mobile A1 (R8A77400)"
@@ -86,6 +95,8 @@ config ARCH_R8A7740 select CPU_V7 select SH_CLK_CPG select RENESAS_INTC_IRQPIN + select SYS_SUPPORTS_CMT + select SYS_SUPPORTS_TMU config ARCH_R8A7778 bool "R-Car M1A (R8A77781)"
@@ -95,6 +106,7 @@ config ARCH_R8A7778 select ARM_GIC select USB_ARCH_HAS_EHCI select USB_ARCH_HAS_OHCI + select SYS_SUPPORTS_TMU config ARCH_R8A7779 bool "R-Car H1 (R8A77790)"
@@ -105,6 +117,7 @@ config ARCH_R8A7779 select USB_ARCH_HAS_EHCI select USB_ARCH_HAS_OHCI select RENESAS_INTC_IRQPIN + select SYS_SUPPORTS_TMU config ARCH_R8A7790 bool "R-Car H2 (R8A77900)"
@@ -113,6 +126,7 @@ config ARCH_R8A7790 select CPU_V7 select SH_CLK_CPG select RENESAS_IRQC + select SYS_SUPPORTS_CMT config ARCH_R8A7791 bool "R-Car M2 (R8A77910)"
@@ -121,6 +135,7 @@ config ARCH_R8A7791 select CPU_V7 select SH_CLK_CPG select RENESAS_IRQC + select SYS_SUPPORTS_CMT config ARCH_EMEV2 bool "Emma Mobile EV2"
@@ -128,6 +143,7 @@ config ARCH_EMEV2 select ARM_GIC select CPU_V7 select USE_OF + select SYS_SUPPORTS_STI config ARCH_R7S72100 bool "RZ/A1H (R7S72100)"
@@ -135,6 +151,7 @@ config ARCH_R7S72100 select ARM_GIC select CPU_V7 select SH_CLK_CPG + select SYS_SUPPORTS_MTU2 comment "SH-Mobile Board Type"
@@ -329,24 +346,6 @@ config SHMOBILE_TIMER_HZ to select a HZ value such as 128 that can evenly divide RCLK. A HZ value that does not divide evenly may cause timer drift. -config SH_TIMER_CMT - bool "CMT timer driver" - default y - help - This enables build of the CMT timer driver. - -config SH_TIMER_TMU - bool "TMU timer driver" - default y - help - This enables build of the TMU timer driver. - -config EM_TIMER_STI - bool "STI timer driver" - default y - help - This enables build of the STI timer driver. - endmenu endif
Re: [PATCH v3 02/03] ARM: shmobile: Remove CMT, TMU and STI Kconfig entries
Quoted 9 lines · Magnus Damm
From: Magnus Damm <[email protected]>
Now when
drivers/clocksource/Kconfighas been
updated with entires for CMT, TMU and STI
it is safe to remove these from mach-shmobile.Also select timers per SoC via
SYS_SUPPORTS_xxx.Signed-off-by Magnus Damm <[email protected]>
Looks ok to me. Sorry for all the review pain on this.
For what its worth:
Magnus Damm
maintainerPATCH v2 3/3 sh: Remove Kconfig entries for TMU, CMT and MTU2
In reply to Magnus DammFrom: Magnus Damm <[email protected]>
Now when drivers/clocksource/Kconfig has been
updated with entires for CMT, TMU and MTU2
it is safe to remove these from SH.
---
arch/sh/Kconfig | 21 --------------------- 1 file changed, 21 deletions(-)
arch/sh/Kconfig +0 -21
@@ -565,27 +565,6 @@ source "arch/sh/boards/Kconfig" menu "Timer and clock configuration" -config SH_TIMER_TMU - bool "TMU timer driver" - depends on SYS_SUPPORTS_TMU - default y - help - This enables the build of the TMU timer driver. - -config SH_TIMER_CMT - bool "CMT timer driver" - depends on SYS_SUPPORTS_CMT - default y - help - This enables build of the CMT timer driver. - -config SH_TIMER_MTU2 - bool "MTU2 timer driver" - depends on SYS_SUPPORTS_MTU2 - default y - help - This enables build of the MTU2 timer driver. - config SH_PCLK_FREQ int "Peripheral clock frequency (in Hz)" depends on SH_CLK_CPG_LEGACY
Re: [PATCH v2 03/03] sh: Remove Kconfig entries for TMU, CMT and MTU2
Quoted 7 lines · Magnus Damm
From: Magnus Damm <[email protected]>
Now when
drivers/clocksource/Kconfighas been
updated with entires for CMT, TMU and MTU2
it is safe to remove these from SH.Signed-off-by Magnus Damm <[email protected]>