aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-versatile
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2011-08-04 06:57:04 -0400
committerMarc Zyngier <marc.zyngier@arm.com>2012-03-13 09:29:58 -0400
commit7c380f273cf09b202e4bc9cbe137aef1870b8a20 (patch)
tree1731276247100c90a24462f08bf1c722e1573c39 /arch/arm/plat-versatile
parenta45c983f85328be9d0540a6b8250609dbf16872c (diff)
ARM: plat-versatile: convert to twd_local_timer_register() interface
Add support for the new smp_twd runtime registration interface to the RealView/VE platforms, and remove the old compile-time support. Tested on EB11MP. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm/plat-versatile')
-rw-r--r--arch/arm/plat-versatile/Makefile1
-rw-r--r--arch/arm/plat-versatile/localtimer.c53
2 files changed, 0 insertions, 54 deletions
diff --git a/arch/arm/plat-versatile/Makefile b/arch/arm/plat-versatile/Makefile
index 69714db47c33..a5cb1945bdcc 100644
--- a/arch/arm/plat-versatile/Makefile
+++ b/arch/arm/plat-versatile/Makefile
@@ -1,5 +1,4 @@
1obj-y := clock.o 1obj-y := clock.o
2obj-$(CONFIG_LOCAL_TIMERS) += localtimer.o
3obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o 2obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o
4obj-$(CONFIG_PLAT_VERSATILE_FPGA_IRQ) += fpga-irq.o 3obj-$(CONFIG_PLAT_VERSATILE_FPGA_IRQ) += fpga-irq.o
5obj-$(CONFIG_PLAT_VERSATILE_LEDS) += leds.o 4obj-$(CONFIG_PLAT_VERSATILE_LEDS) += leds.o
diff --git a/arch/arm/plat-versatile/localtimer.c b/arch/arm/plat-versatile/localtimer.c
deleted file mode 100644
index e15668793159..000000000000
--- a/arch/arm/plat-versatile/localtimer.c
+++ /dev/null
@@ -1,53 +0,0 @@
1/*
2 * linux/arch/arm/plat-versatile/localtimer.c
3 *
4 * Copyright (C) 2002 ARM Ltd.
5 * All Rights Reserved
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11#include <linux/init.h>
12#include <linux/smp.h>
13#include <linux/clockchips.h>
14#include <linux/of.h>
15#include <linux/of_address.h>
16
17#include <asm/smp_twd.h>
18#include <asm/localtimer.h>
19#include <mach/irqs.h>
20
21const static struct of_device_id twd_of_match[] __initconst = {
22 { .compatible = "arm,cortex-a9-twd-timer", },
23 { .compatible = "arm,cortex-a5-twd-timer", },
24 { .compatible = "arm,arm11mp-twd-timer", },
25 { },
26};
27
28/*
29 * Setup the local clock events for a CPU.
30 */
31int __cpuinit local_timer_setup(struct clock_event_device *evt)
32{
33#if defined(CONFIG_OF)
34 static int dt_node_probed;
35
36 /* Look for TWD node only once */
37 if (!dt_node_probed) {
38 struct device_node *node = of_find_matching_node(NULL,
39 twd_of_match);
40
41 if (node)
42 twd_base = of_iomap(node, 0);
43
44 dt_node_probed = 1;
45 }
46#endif
47 if (!twd_base)
48 return -ENXIO;
49
50 evt->irq = IRQ_LOCALTIMER;
51 twd_timer_setup(evt);
52 return 0;
53}