diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-11-08 23:43:44 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-11-08 23:43:44 +0100 |
commit | 72274c9e24d58d09489d37e732545e52395da270 (patch) | |
tree | 9c47a583b38a4996bda2dbe182547f8409bb65e8 /include | |
parent | [ARM] 3135/1: harden SA11x0 and PXA2xx timer init code (diff) | |
parent | [ARM SMP] Add core ARM support for local timers (diff) | |
download | linux-72274c9e24d58d09489d37e732545e52395da270.tar.xz linux-72274c9e24d58d09489d37e732545e52395da270.zip |
Merge with ARM SMP tree
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-arm/hardirq.h | 1 | ||||
-rw-r--r-- | include/asm-arm/smp.h | 38 |
2 files changed, 39 insertions, 0 deletions
diff --git a/include/asm-arm/hardirq.h b/include/asm-arm/hardirq.h index e5ccb6b8ff83..1cbb173bf5b1 100644 --- a/include/asm-arm/hardirq.h +++ b/include/asm-arm/hardirq.h @@ -8,6 +8,7 @@ typedef struct { unsigned int __softirq_pending; + unsigned int local_timer_irqs; } ____cacheline_aligned irq_cpustat_t; #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ diff --git a/include/asm-arm/smp.h b/include/asm-arm/smp.h index 52e7c8d830b2..5a72e50ca9fc 100644 --- a/include/asm-arm/smp.h +++ b/include/asm-arm/smp.h @@ -92,4 +92,42 @@ extern void platform_cpu_die(unsigned int cpu); extern int platform_cpu_kill(unsigned int cpu); extern void platform_cpu_enable(unsigned int cpu); +#ifdef CONFIG_LOCAL_TIMERS +/* + * Setup a local timer interrupt for a CPU. + */ +extern void local_timer_setup(unsigned int cpu); + +/* + * Stop a local timer interrupt. + */ +extern void local_timer_stop(unsigned int cpu); + +/* + * Platform provides this to acknowledge a local timer IRQ + */ +extern int local_timer_ack(void); + +#else + +static inline void local_timer_setup(unsigned int cpu) +{ +} + +static inline void local_timer_stop(unsigned int cpu) +{ +} + +#endif + +/* + * 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 */ |