diff options
author | Gary King <gking@nvidia.com> | 2009-12-08 10:08:53 -0800 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2009-12-08 11:01:34 -0800 |
commit | 7bf8427b20b500f07aebf6f4b2ca69b700491d4f (patch) | |
tree | 3d9ce7553355a24c1ea89a5c7dc99bdd169ad039 /arch/arm/include | |
parent | 3d75c203e23751cb8201371d82e6236a58a2d2ca (diff) |
cherry-pick bc28248ee2525... from torvalds/linux-2.6.git
[ARM] smp: move core localtimer support out of platform specific files
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Conflicts:
arch/arm/Kconfig
arch/arm/include/asm/smp.h
arch/arm/kernel/smp.c
arch/arm/mach-realview/localtimer.c
arch/arm/mach-realview/platsmp.c
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/localtimer.h | 51 | ||||
-rw-r--r-- | arch/arm/include/asm/smp.h | 35 |
2 files changed, 51 insertions, 35 deletions
diff --git a/arch/arm/include/asm/localtimer.h b/arch/arm/include/asm/localtimer.h new file mode 100644 index 000000000000..3f8c9ebb646c --- /dev/null +++ b/arch/arm/include/asm/localtimer.h @@ -0,0 +1,51 @@ +/* + * arch/arm/include/asm/localtimer.h + * + * Copyright (C) 2004-2005 ARM Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef __ASM_ARM_LOCALTIMER_H +#define __ASM_ARM_LOCALTIMER_H + +struct clock_event_device; + +/* + * Setup a per-cpu timer, whether it be a local timer or dummy broadcast + */ +void percpu_timer_setup(void); + +/* + * Called from assembly, this is the local timer IRQ handler + */ +asmlinkage void do_local_timer(struct pt_regs *); + + +#ifdef CONFIG_LOCAL_TIMERS +/* + * Platform provides this to acknowledge a local timer IRQ. + * Returns true if the local timer IRQ is to be processed. + */ +int local_timer_ack(void); + +/* + * Stop a local timer interrupt. + */ +void local_timer_stop(void); + +/* + * Setup a local timer interrupt for a CPU. + */ +void local_timer_setup(struct clock_event_device *); + +#else + +static inline void local_timer_stop(void) +{ +} + +#endif + +#endif diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h index fad70da5911d..f3c4c37d036c 100644 --- a/arch/arm/include/asm/smp.h +++ b/arch/arm/include/asm/smp.h @@ -105,43 +105,8 @@ extern void arch_send_call_function_single_ipi(int cpu); extern void arch_send_call_function_ipi(cpumask_t mask); /* - * Local timer interrupt handling function (can be IPI'ed). - */ -extern void local_timer_interrupt(void); - -#ifdef CONFIG_LOCAL_TIMERS - -/* - * Stop a local timer interrupt. - */ -extern void local_timer_stop(void); - -/* - * Platform provides this to acknowledge a local timer IRQ - */ -extern int local_timer_ack(void); - -#else - -static inline void local_timer_stop(void) -{ -} - -#endif - -/* - * Setup a local timer interrupt for a CPU. - */ -extern void local_timer_setup(void); - -/* * show local interrupt info */ extern void show_local_irqs(struct seq_file *); -/* - * Called from assembly, this is the local timer IRQ handler - */ -asmlinkage void do_local_timer(struct pt_regs *); - #endif /* ifndef __ASM_ARM_SMP_H */ |