[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <1472046551-703-2-git-send-email-cw00.choi@samsung.com>
Date: Wed, 24 Aug 2016 22:49:05 +0900
From: Chanwoo Choi <cw00.choi@...sung.com>
To: k.kozlowski@...sung.com, kgene@...nel.org, robh+dt@...nel.org,
mark.rutland@....com, catalin.marinas@....com, will.deacon@....com,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: krzk@...nel.org, cw00.choi@...sung.com, jh80.chung@...sung.com,
sw0312.kim@...sung.com, jy0922.shim@...sung.com,
inki.dae@...sung.com, jonghwa3.lee@...sung.com,
beomho.seo@...sung.com, jaewon02.kim@...sung.com,
human.hwang@...sung.com, ideal.song@...sung.com,
ingi2.kim@...sung.com, m.szyprowski@...sung.com,
a.hajda@...sung.com, s.nawrocki@...sung.com, chanwoo@...nel.org,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: [PATCH v2 1/7] clocksource: exynos_mct: Add the support for ARM64
This patch adds the support for ARM 64bit. The delay_timer is only supported
on ARM 32bit.
Cc: Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Kukjin Kim <kgene@...nel.org>
Cc: Krzysztof Kozlowski <k.kozlowski@...sung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@...sung.com>
---
drivers/clocksource/Kconfig | 2 +-
drivers/clocksource/exynos_mct.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 567788664723..ec443c318c77 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -351,7 +351,7 @@ config CLKSRC_METAG_GENERIC
config CLKSRC_EXYNOS_MCT
bool "Exynos multi core timer driver" if COMPILE_TEST
- depends on ARM
+ depends on ARM || ARM64
help
Support for Multi Core Timer controller on Exynos SoCs.
diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index 41840d02c331..8f3488b80896 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -223,6 +223,7 @@ static u64 notrace exynos4_read_sched_clock(void)
return exynos4_read_count_32();
}
+#if defined(CONFIG_ARM)
static struct delay_timer exynos4_delay_timer;
static cycles_t exynos4_read_current_timer(void)
@@ -231,14 +232,17 @@ static cycles_t exynos4_read_current_timer(void)
"cycles_t needs to move to 32-bit for ARM64 usage");
return exynos4_read_count_32();
}
+#endif
static int __init exynos4_clocksource_init(void)
{
exynos4_mct_frc_start();
+#if defined(CONFIG_ARM)
exynos4_delay_timer.read_current_timer = &exynos4_read_current_timer;
exynos4_delay_timer.freq = clk_rate;
register_current_timer_delay(&exynos4_delay_timer);
+#endif
if (clocksource_register_hz(&mct_frc, clk_rate))
panic("%s: can't register clocksource\n", mct_frc.name);
--
1.9.1
Powered by blists - more mailing lists