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 #include <linux/errno.h> 14 #include <linux/interrupt.h> 15 16 struct clock_event_device; 17 18 /* 19 * Setup a per-cpu timer, whether it be a local timer or dummy broadcast 20 */ 21 void percpu_timer_setup(void); 22 23 #ifdef CONFIG_LOCAL_TIMERS 24 25 #ifdef CONFIG_HAVE_ARM_TWD 26 27 #include "smp_twd.h" 28 29 #define local_timer_stop(c) twd_timer_stop((c)) 30 31 #else 32 33 /* 34 * Stop the local timer 35 */ 36 void local_timer_stop(struct clock_event_device *); 37 38 #endif 39 40 /* 41 * Setup a local timer interrupt for a CPU. 42 */ 43 int local_timer_setup(struct clock_event_device *); 44 45 #else 46 local_timer_setup(struct clock_event_device * evt)47static inline int local_timer_setup(struct clock_event_device *evt) 48 { 49 return -ENXIO; 50 } 51 local_timer_stop(struct clock_event_device * evt)52static inline void local_timer_stop(struct clock_event_device *evt) 53 { 54 } 55 #endif 56 57 #endif 58