Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1327090 > unrolled thread
| Started by | Grygorii Strashko <grygorii.strashko@ti.com> |
|---|---|
| First post | 2016-02-04 19:30 +0100 |
| Last post | 2016-02-05 00:40 +0100 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
[RFC PATCH] ARM: clocksource: make ARM_GLOBAL_TIMER selectable Grygorii Strashko <grygorii.strashko@ti.com> - 2016-02-04 19:30 +0100
Re: [RFC PATCH] ARM: clocksource: make ARM_GLOBAL_TIMER selectable Sören Brinkmann <soren.brinkmann@xilinx.com> - 2016-02-04 23:40 +0100
Re: [RFC PATCH] ARM: clocksource: make ARM_GLOBAL_TIMER selectable Moritz Fischer <moritz.fischer@ettus.com> - 2016-02-05 00:20 +0100
Re: [RFC PATCH] ARM: clocksource: make ARM_GLOBAL_TIMER selectable Sören Brinkmann <soren.brinkmann@xilinx.com> - 2016-02-05 00:40 +0100
| From | Grygorii Strashko <grygorii.strashko@ti.com> |
|---|---|
| Date | 2016-02-04 19:30 +0100 |
| Subject | [RFC PATCH] ARM: clocksource: make ARM_GLOBAL_TIMER selectable |
| Message-ID | <qYwPf-5Eq-5@gated-at.bofh.it> |
This patch intended to fix following cases:
- SoC-A has ARM GT, defines DT node for ARM GT and selects ARM_GLOBAL_TIMER
statically in Kconfig file. SoC-B has ARM GT and defines DT node for ARM GT,
but do not selects ARM_GLOBAL_TIMER statically in Kconfig file. In case of
multiplatform build ARM GT will be implicitly enabled for SoC-B.
- There is no way to disable ARM GT without modifying Kconfig file,
once ARM_GLOBAL_TIMER is selected statically in Kconfig file.
Hence, fix above case by defining both HAVE_ARM_GLOBAL_TIMER and
ARM_GLOBAL_TIMER as recommended by 'Adding common features and make
the usage configurable' section in kconfig-language.txt. All places in
ARM folder where ARM_GLOBAL_TIMER was used now replaced on
HAVE_ARM_GLOBAL_TIMER.
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Srinivas Kandagatla <srinivas.kandagatla@gmail.com>
Cc: Maxime Coquelin <maxime.coquelin@st.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Jun Nie <jun.nie@linaro.org>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
arch/arm/mach-bcm/Kconfig | 4 ++--
arch/arm/mach-hisi/Kconfig | 2 +-
arch/arm/mach-imx/Kconfig | 2 +-
arch/arm/mach-rockchip/Kconfig | 2 +-
arch/arm/mach-sti/Kconfig | 2 +-
arch/arm/mach-uniphier/Kconfig | 2 +-
arch/arm/mach-vexpress/Kconfig | 2 +-
arch/arm/mach-zx/Kconfig | 2 +-
arch/arm/mach-zynq/Kconfig | 2 +-
drivers/clocksource/Kconfig | 7 ++++++-
10 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index 7ef1214..d4d079a7 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -14,7 +14,7 @@ config ARCH_BCM_IPROC
select CACHE_L2X0
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
select COMMON_CLK_IPROC
select CLKSRC_MMIO
select ARCH_REQUIRE_GPIOLIB
@@ -156,7 +156,7 @@ config ARCH_BCM_63XX
select ARM_ERRATA_754322
select ARM_ERRATA_764369 if SMP
select ARM_GIC
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
select CACHE_L2X0
select HAVE_ARM_ARCH_TIMER
select HAVE_ARM_TWD if SMP
diff --git a/arch/arm/mach-hisi/Kconfig b/arch/arm/mach-hisi/Kconfig
index a3b091a..251bb03 100644
--- a/arch/arm/mach-hisi/Kconfig
+++ b/arch/arm/mach-hisi/Kconfig
@@ -28,7 +28,7 @@ config ARCH_HIP01
depends on ARCH_MULTI_V7
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
help
Support for Hisilicon HIP01 SoC family
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 15df34fb..7ea4c65 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -600,7 +600,7 @@ choice
config VF_USE_ARM_GLOBAL_TIMER
bool "Use ARM Global Timer"
depends on ARCH_MULTI_V7
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
help
Use the ARM Global Timer as clocksource
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index cef42fd..a53b787 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -14,7 +14,7 @@ config ARCH_ROCKCHIP
select DW_APB_TIMER_OF
select REGULATOR if PM
select ROCKCHIP_TIMER
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
help
Support for Rockchip's Cortex-A9 Single-to-Quad-Core-SoCs
diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig
index a196d14..c799f9d 100644
--- a/arch/arm/mach-sti/Kconfig
+++ b/arch/arm/mach-sti/Kconfig
@@ -3,7 +3,7 @@ menuconfig ARCH_STI
depends on ARCH_MULTI_V7
select ARM_GIC
select ST_IRQCHIP
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
select CLKSRC_ST_LPC
select PINCTRL
select PINCTRL_ST
diff --git a/arch/arm/mach-uniphier/Kconfig b/arch/arm/mach-uniphier/Kconfig
index 82dddee..81bdf77 100644
--- a/arch/arm/mach-uniphier/Kconfig
+++ b/arch/arm/mach-uniphier/Kconfig
@@ -2,7 +2,7 @@ config ARCH_UNIPHIER
bool "Socionext UniPhier SoCs"
depends on ARCH_MULTI_V7
select ARM_AMBA
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
select ARM_GIC
select HAVE_ARM_SCU
select HAVE_ARM_TWD if SMP
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
index 398a297..e89941d 100644
--- a/arch/arm/mach-vexpress/Kconfig
+++ b/arch/arm/mach-vexpress/Kconfig
@@ -5,7 +5,7 @@ menuconfig ARCH_VEXPRESS
select ARCH_SUPPORTS_BIG_ENDIAN
select ARM_AMBA
select ARM_GIC
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
select ARM_TIMER_SP804
select COMMON_CLK_VERSATILE
select HAVE_ARM_SCU if SMP
diff --git a/arch/arm/mach-zx/Kconfig b/arch/arm/mach-zx/Kconfig
index 209c979..e84b0c2 100644
--- a/arch/arm/mach-zx/Kconfig
+++ b/arch/arm/mach-zx/Kconfig
@@ -11,7 +11,7 @@ if ARCH_ZX
config SOC_ZX296702
def_bool y
select ARM_GIC
- select ARM_GLOBAL_TIMER
+ select HAVE_ARM_GLOBAL_TIMER
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
select PM_GENERIC_DOMAINS if PM
diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig
index fd0aeeb..3165720 100644
--- a/arch/arm/mach-zynq/Kconfig
+++ b/arch/arm/mach-zynq/Kconfig
@@ -5,7 +5,7 @@ config ARCH_ZYNQ
select ARCH_SUPPORTS_BIG_ENDIAN
select ARM_AMBA
select ARM_GIC
- select ARM_GLOBAL_TIMER if !CPU_FREQ
+ select HAVE_ARM_GLOBAL_TIMER if !CPU_FREQ
select CADENCE_TTC_TIMER
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 33db740..9fcb5a8 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -206,9 +206,14 @@ config ARM_ARCH_TIMER_EVTSTREAM
This must be disabled for hardware validation purposes to detect any
hardware anomalies of missing events.
-config ARM_GLOBAL_TIMER
+config HAVE_ARM_GLOBAL_TIMER
bool
+
+config ARM_GLOBAL_TIMER
+ bool "Support for ARM global timer unit"
select CLKSRC_OF if OF
+ default y
+ depends on HAVE_ARM_GLOBAL_TIMER
help
This options enables support for the ARM global timer unit
--
2.7.0
[toc] | [next] | [standalone]
| From | Sören Brinkmann <soren.brinkmann@xilinx.com> |
|---|---|
| Date | 2016-02-04 23:40 +0100 |
| Message-ID | <qYAJd-8hU-31@gated-at.bofh.it> |
| In reply to | #1327090 |
On Thu, 2016-02-04 at 20:20:17 +0200, Grygorii Strashko wrote: > This patch intended to fix following cases: > - SoC-A has ARM GT, defines DT node for ARM GT and selects ARM_GLOBAL_TIMER > statically in Kconfig file. SoC-B has ARM GT and defines DT node for ARM GT, > but do not selects ARM_GLOBAL_TIMER statically in Kconfig file. In case of > multiplatform build ARM GT will be implicitly enabled for SoC-B. > > - There is no way to disable ARM GT without modifying Kconfig file, > once ARM_GLOBAL_TIMER is selected statically in Kconfig file. > > Hence, fix above case by defining both HAVE_ARM_GLOBAL_TIMER and > ARM_GLOBAL_TIMER as recommended by 'Adding common features and make > the usage configurable' section in kconfig-language.txt. All places in > ARM folder where ARM_GLOBAL_TIMER was used now replaced on > HAVE_ARM_GLOBAL_TIMER. > > Cc: Florian Fainelli <f.fainelli@gmail.com> > Cc: Russell King <linux@arm.linux.org.uk> > Cc: Wei Xu <xuwei5@hisilicon.com> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: Sascha Hauer <kernel@pengutronix.de> > Cc: Srinivas Kandagatla <srinivas.kandagatla@gmail.com> > Cc: Maxime Coquelin <maxime.coquelin@st.com> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Sudeep Holla <sudeep.holla@arm.com> > Cc: Jun Nie <jun.nie@linaro.org> > Cc: Michal Simek <michal.simek@xilinx.com> > Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com> > Cc: Daniel Lezcano <daniel.lezcano@linaro.org> > > Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> > --- [...] > diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig > index fd0aeeb..3165720 100644 > --- a/arch/arm/mach-zynq/Kconfig > +++ b/arch/arm/mach-zynq/Kconfig > @@ -5,7 +5,7 @@ config ARCH_ZYNQ > select ARCH_SUPPORTS_BIG_ENDIAN > select ARM_AMBA > select ARM_GIC > - select ARM_GLOBAL_TIMER if !CPU_FREQ > + select HAVE_ARM_GLOBAL_TIMER if !CPU_FREQ We actually have this issue, as we don't want to use GT when CPU_FREQ is enabled. But with this change the 'if !CPU_FREQ' becomes obsolete. Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com> Sören
[toc] | [prev] | [next] | [standalone]
| From | Moritz Fischer <moritz.fischer@ettus.com> |
|---|---|
| Date | 2016-02-05 00:20 +0100 |
| Message-ID | <qYBlT-lJ-7@gated-at.bofh.it> |
| In reply to | #1327242 |
Hi Soeren, On Thu, Feb 4, 2016 at 2:41 PM, Sören Brinkmann <soren.brinkmann@xilinx.com> wrote: > But with this change the 'if !CPU_FREQ' becomes obsolete. I'm confused, could you explain that statement? You don't want people accidentally running with GT when CPU_FREQ is on, right? Patch looks good to me, FWIW: Acked-by: Moritz Fischer <moritz.fischer@ettus.com> Moritz
[toc] | [prev] | [next] | [standalone]
| From | Sören Brinkmann <soren.brinkmann@xilinx.com> |
|---|---|
| Date | 2016-02-05 00:40 +0100 |
| Message-ID | <qYBFg-u5-21@gated-at.bofh.it> |
| In reply to | #1327331 |
On Thu, 2016-02-04 at 15:14:47 -0800, Moritz Fischer wrote: > Hi Soeren, > > On Thu, Feb 4, 2016 at 2:41 PM, Sören Brinkmann > <soren.brinkmann@xilinx.com> wrote: > > > But with this change the 'if !CPU_FREQ' becomes obsolete. > I'm confused, could you explain that statement? You don't want people > accidentally running with GT when CPU_FREQ is on, right? Correct. But with this Kconfig rework you can just deselect it in Kconfig. The generic HAVE_GT could always be selected. Sören
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web