|  | /* | 
|  | *  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 | 
|  |  | 
|  | #ifdef CONFIG_HAVE_ARM_TWD | 
|  |  | 
|  | #include "smp_twd.h" | 
|  |  | 
|  | #define local_timer_ack()	twd_timer_ack() | 
|  |  | 
|  | #else | 
|  |  | 
|  | /* | 
|  | * 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); | 
|  |  | 
|  | #endif | 
|  |  | 
|  | /* | 
|  | * Setup a local timer interrupt for a CPU. | 
|  | */ | 
|  | int local_timer_setup(struct clock_event_device *); | 
|  |  | 
|  | #else | 
|  |  | 
|  | static inline int local_timer_setup(struct clock_event_device *evt) | 
|  | { | 
|  | return -ENXIO; | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif |