e9e2cdb412
Add clockevent drivers for i386: lapic (local) and PIT/HPET (global). Update the timer IRQ to call into the PIT/HPET driver's event handler and the lapic-timer IRQ to call into the lapic clockevent driver. The assignement of timer functionality is delegated to the core framework code and replaces the compile and runtime evalution in do_timer_interrupt_hook() Use the clockevents broadcast support and implement the lapic_broadcast function for ACPI. No changes to existing functionality. [ kdump fix from Vivek Goyal <vgoyal@in.ibm.com> ] [ fixes based on review feedback from Arjan van de Ven <arjan@infradead.org> ] Cleanups-from: Adrian Bunk <bunk@stusta.de> Build-fixes-from: Andrew Morton <akpm@osdl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: john stultz <johnstul@us.ibm.com> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
22 lines
441 B
C
22 lines
441 B
C
#ifndef __ASM_I8253_H__
|
|
#define __ASM_I8253_H__
|
|
|
|
#include <linux/clockchips.h>
|
|
|
|
extern spinlock_t i8253_lock;
|
|
|
|
extern struct clock_event_device *global_clock_event;
|
|
|
|
/**
|
|
* pit_interrupt_hook - hook into timer tick
|
|
* @regs: standard registers from interrupt
|
|
*
|
|
* Call the global clock event handler.
|
|
**/
|
|
static inline void pit_interrupt_hook(void)
|
|
{
|
|
global_clock_event->event_handler(global_clock_event);
|
|
}
|
|
|
|
#endif /* __ASM_I8253_H__ */
|