1 /* 2 * arch/arm/include/asm/localtimer.h 3 * 4 * Copyright (C) 2004-2005 ARM Ltd. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 #ifndef __ASM_ARM_LOCALTIMER_H 11 #define __ASM_ARM_LOCALTIMER_H 12 13 struct clock_event_device; 14 15 /* 16 * Setup a per-cpu timer, whether it be a local timer or dummy broadcast 17 */ 18 void percpu_timer_setup(void); 19 20 /* 21 * Called from assembly, this is the local timer IRQ handler 22 */ 23 asmlinkage void do_local_timer(struct pt_regs *); 24 25 26 #ifdef CONFIG_LOCAL_TIMERS 27 28 #ifdef CONFIG_HAVE_ARM_TWD 29 30 #include "smp_twd.h" 31 32 #define local_timer_ack() twd_timer_ack() 33 34 #else 35 36 /* 37 * Platform provides this to acknowledge a local timer IRQ. 38 * Returns true if the local timer IRQ is to be processed. 39 */ 40 int local_timer_ack(void); 41 42 #endif 43 44 /* 45 * Setup a local timer interrupt for a CPU. 46 */ 47 int local_timer_setup(struct clock_event_device *); 48 49 #else 50 local_timer_setup(struct clock_event_device * evt)51static inline int local_timer_setup(struct clock_event_device *evt) 52 { 53 return -ENXIO; 54 } 55 #endif 56 57 #endif 58