From: haojian.zhuang@gmail.com (Haojian Zhuang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 11/11] ARCH: mmp: support clocksource in timer
Date: Mon, 3 Jun 2013 17:30:45 +0800 [thread overview]
Message-ID: <1370251845-31373-12-git-send-email-haojian.zhuang@gmail.com> (raw)
In-Reply-To: <1370251845-31373-1-git-send-email-haojian.zhuang@gmail.com>
Support clocksource in timer-mmp driver.
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
---
arch/arm/mach-mmp/mmp-dt.c | 4 +---
arch/arm/mach-mmp/mmp2-dt.c | 2 +-
drivers/clocksource/Kconfig | 6 ++++++
drivers/clocksource/Makefile | 2 +-
drivers/clocksource/timer-mmp.c | 16 +++-------------
5 files changed, 12 insertions(+), 18 deletions(-)
diff --git a/arch/arm/mach-mmp/mmp-dt.c b/arch/arm/mach-mmp/mmp-dt.c
index 2b8f1f6..ff4a70b 100644
--- a/arch/arm/mach-mmp/mmp-dt.c
+++ b/arch/arm/mach-mmp/mmp-dt.c
@@ -18,8 +18,6 @@
#include "common.h"
-extern void __init mmp_dt_init_timer(void);
-
static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
@@ -63,7 +61,7 @@ static const char *mmp_dt_board_compat[] __initdata = {
static void __init mmp_init_timer(void)
{
of_clk_init(NULL);
- mmp_dt_init_timer();
+ clocksource_of_init();
}
DT_MACHINE_START(PXA168_DT, "Marvell PXA168 (Device Tree Support)")
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 68a7642..9495105 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -40,7 +40,7 @@ static void __init mmp2_dt_init(void)
static void __init mmp2_init_timer(void)
{
of_clk_init(NULL);
- mmp_dt_init_timer();
+ clocksource_of_init();
}
static const char *mmp2_dt_board_compat[] __initdata = {
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index f151c6c..f429f68 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -72,6 +72,12 @@ config CLKSRC_METAG_GENERIC
help
This option enables support for the Meta per-thread timers.
+config CLKSRC_MMP
+ def_bool y if ARCH_MMP
+ select CLKSRC_OF if OF
+ help
+ This option enables support for the MMP timer.
+
config CLKSRC_EXYNOS_MCT
def_bool y if ARCH_EXYNOS
help
diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile
index f6aa3b6..d154705 100644
--- a/drivers/clocksource/Makefile
+++ b/drivers/clocksource/Makefile
@@ -10,6 +10,7 @@ obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o
obj-$(CONFIG_EM_TIMER_STI) += em_sti.o
obj-$(CONFIG_CLKBLD_I8253) += i8253.o
obj-$(CONFIG_CLKSRC_MMIO) += mmio.o
+obj-$(CONFIG_CLKSRC_MMP) += timer-mmp.o
obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o
obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o
obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o
@@ -17,7 +18,6 @@ obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o
obj-$(CONFIG_ARMADA_370_XP_TIMER) += time-armada-370-xp.o
obj-$(CONFIG_ARCH_BCM2835) += bcm2835_timer.o
obj-$(CONFIG_ARCH_MARCO) += timer-marco.o
-obj-$(CONFIG_ARCH_MMP) += timer-mmp.o
obj-$(CONFIG_ARCH_MXS) += mxs_timer.o
obj-$(CONFIG_ARCH_PRIMA2) += timer-prima2.o
obj-$(CONFIG_SUN4I_TIMER) += sun4i_timer.o
diff --git a/drivers/clocksource/timer-mmp.c b/drivers/clocksource/timer-mmp.c
index 39b8968..7ae4f95 100644
--- a/drivers/clocksource/timer-mmp.c
+++ b/drivers/clocksource/timer-mmp.c
@@ -235,22 +235,12 @@ void __init timer_init(int irq, int mmp2_mode)
MIN_DELTA, MAX_DELTA);
}
-#ifdef CONFIG_OF
-static struct of_device_id mmp_timer_dt_ids[] = {
- { .compatible = "mrvl,mmp-timer", },
- {}
-};
-
-void __init mmp_dt_init_timer(void)
+static void __init mmp_dt_init_timer(struct device_node *np)
{
- struct device_node *np;
struct clk *clk;
- int irq, ret;
+ int irq;
u32 rate = 0;
- np = of_find_matching_node(NULL, mmp_timer_dt_ids);
- if (!np)
- return;
if (!of_device_is_available(np))
return;
if (of_property_read_u32(np, "clock-frequency", &rate)) {
@@ -288,4 +278,4 @@ void __init mmp_dt_init_timer(void)
out:
clk_put(clk);
}
-#endif
+CLOCKSOURCE_OF_DECLARE(mmp_timer, "mrvl,mmp-timer", mmp_dt_init_timer);
--
1.8.1.2
next prev parent reply other threads:[~2013-06-03 9:30 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-03 9:30 [PATCH v3 00/11] update irqchip, clocksource, clk in mmp Haojian Zhuang
2013-06-03 9:30 ` [PATCH v3 01/11] irqchip: move mmp irq driver Haojian Zhuang
2013-06-03 9:30 ` [PATCH v3 02/11] irqchip: mmp: support irqchip Haojian Zhuang
2013-06-03 9:42 ` Russell King - ARM Linux
2013-06-03 10:06 ` Haojian Zhuang
2013-06-03 9:30 ` [PATCH v3 03/11] irqchip: mmp: support MULTI_IRQ_HANDLER Haojian Zhuang
2013-06-03 9:30 ` [PATCH v3 04/11] ARM: mmp: avoid to include head file in mach-mmp Haojian Zhuang
2013-06-03 22:28 ` Arnd Bergmann
2013-06-03 9:30 ` [PATCH v3 05/11] irqchip: mmp: avoid to include irqs head file Haojian Zhuang
2013-06-03 9:30 ` [PATCH v3 06/11] clocksource: mmp: move mmp timer driver Haojian Zhuang
2013-06-03 9:30 ` [PATCH v3 07/11] ARM: mmp: move timer registers into driver Haojian Zhuang
2013-06-03 22:31 ` Arnd Bergmann
2013-06-03 9:30 ` [PATCH v3 08/11] ARM: pxa: init dma debugfs in late level Haojian Zhuang
2013-06-03 9:30 ` [PATCH v3 09/11] clk: mmp: parse clock from dts Haojian Zhuang
2013-06-03 9:30 ` [PATCH v3 10/11] ARM: mmp: avoid to use cpu_is_xxx in timer Haojian Zhuang
2013-06-03 22:34 ` Arnd Bergmann
2013-06-04 1:24 ` Haojian Zhuang
2013-06-03 9:30 ` Haojian Zhuang [this message]
2013-06-03 17:07 ` [PATCH v3 11/11] ARCH: mmp: support clocksource " John Stultz
2013-06-04 1:25 ` Haojian Zhuang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1370251845-31373-12-git-send-email-haojian.zhuang@gmail.com \
--to=haojian.zhuang@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).