aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/localtimer.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2010-12-14 02:56:55 -0500
committerPaul Mundt <lethal@linux-sh.org>2010-12-14 04:15:44 -0500
commit1c51ed4fb9f11fa1e0873aa2d5b28f42a85ac299 (patch)
tree258c5de6db68146a86fc27ae1dc2b8fed2dc40e3 /arch/arm/mach-shmobile/localtimer.c
parent09dd7ded60019d6a4fd2ae20a08c4ad2bc3ed3e9 (diff)
ARM: mach-shmobile: SMP base support
Add SMP base support for R-Mobile / SH-Mobile processors. This patch contains all base code to support CONFIG_SMP regardless of ARCH_SHMOBILE processor type. Both local timer and CPU hotplug are supported, but no processor specific code is included. At this point only the default behavior is in place, so a single core will always be used even though CONFIG_SMP is enabled on multicore systems. The SMP Kconfig entry for arch/arm/Kconfig is excluded from this patch to simplify merging. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/arm/mach-shmobile/localtimer.c')
-rw-r--r--arch/arm/mach-shmobile/localtimer.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/localtimer.c b/arch/arm/mach-shmobile/localtimer.c
new file mode 100644
index 000000000000..2111c28b724e
--- /dev/null
+++ b/arch/arm/mach-shmobile/localtimer.c
@@ -0,0 +1,25 @@
1/*
2 * SMP support for R-Mobile / SH-Mobile - local timer portion
3 *
4 * Copyright (C) 2010 Magnus Damm
5 *
6 * Based on vexpress, Copyright (C) 2002 ARM Ltd, All Rights Reserved
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12#include <linux/init.h>
13#include <linux/smp.h>
14#include <linux/clockchips.h>
15#include <asm/smp_twd.h>
16#include <asm/localtimer.h>
17
18/*
19 * Setup the local clock events for a CPU.
20 */
21void __cpuinit local_timer_setup(struct clock_event_device *evt)
22{
23 evt->irq = 29;
24 twd_timer_setup(evt);
25}