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 lsapic_noop_startup(struct irq_data * data)18lsapic_noop_startup (struct irq_data *data) 19 { 20 return 0; 21 } 22 23 static void lsapic_noop(struct irq_data * data)24lsapic_noop (struct irq_data *data) 25 { 26 /* nothing to do... */ 27 } 28 lsapic_retrigger(struct irq_data * data)29static int lsapic_retrigger(struct irq_data *data) 30 { 31 ia64_resend_irq(data->irq); 32 33 return 1; 34 } 35 36 struct irq_chip irq_type_ia64_lsapic = { 37 .name = "LSAPIC", 38 .irq_startup = lsapic_noop_startup, 39 .irq_shutdown = lsapic_noop, 40 .irq_enable = lsapic_noop, 41 .irq_disable = lsapic_noop, 42 .irq_ack = lsapic_noop, 43 .irq_retrigger = lsapic_retrigger, 44 }; 45