[PATCH] genirq: add ->retrigger() irq op to consolidate hw_irq_resend()
[linux-2.6.git] / arch / ia64 / kernel / irq_lsapic.c
1 /*
2  * LSAPIC Interrupt Controller
3  *
4  * This takes care of interrupts that are generated by the CPU's
5  * internal Streamlined Advanced Programmable Interrupt Controller
6  * (LSAPIC), such as the ITC and IPI interrupts.
7     *
8  * Copyright (C) 1999 VA Linux Systems
9  * Copyright (C) 1999 Walt Drummond <drummond@valinux.com>
10  * Copyright (C) 2000 Hewlett-Packard Co
11  * Copyright (C) 2000 David Mosberger-Tang <davidm@hpl.hp.com>
12  */
13
14 #include <linux/sched.h>
15 #include <linux/irq.h>
16
17 static unsigned int
18 lsapic_noop_startup (unsigned int irq)
19 {
20         return 0;
21 }
22
23 static void
24 lsapic_noop (unsigned int irq)
25 {
26         /* nuthing to do... */
27 }
28
29 static int lsapic_retrigger(unsigned int irq)
30 {
31         ia64_resend_irq(irq);
32
33         return 1;
34 }
35
36 struct hw_interrupt_type irq_type_ia64_lsapic = {
37         .typename =     "LSAPIC",
38         .startup =      lsapic_noop_startup,
39         .shutdown =     lsapic_noop,
40         .enable =       lsapic_noop,
41         .disable =      lsapic_noop,
42         .ack =          lsapic_noop,
43         .end =          lsapic_noop,
44         .retrigger =    lsapic_retrigger,
45 };