1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * LSAPIC Interrupt Controller 4 * 5 * This takes care of interrupts that are generated by the CPU's 6 * internal Streamlined Advanced Programmable Interrupt Controller 7 * (LSAPIC), such as the ITC and IPI interrupts. 8 * 9 * Copyright (C) 1999 VA Linux Systems 10 * Copyright (C) 1999 Walt Drummond <drummond@valinux.com> 11 * Copyright (C) 2000 Hewlett-Packard Co 12 * Copyright (C) 2000 David Mosberger-Tang <davidm@hpl.hp.com> 13 */ 14 15 #include <linux/sched.h> 16 #include <linux/irq.h> 17 18 static unsigned int 19 lsapic_noop_startup (struct irq_data *data) 20 { 21 return 0; 22 } 23 24 static void 25 lsapic_noop (struct irq_data *data) 26 { 27 /* nothing to do... */ 28 } 29 30 static int lsapic_retrigger(struct irq_data *data) 31 { 32 ia64_resend_irq(data->irq); 33 34 return 1; 35 } 36 37 struct irq_chip irq_type_ia64_lsapic = { 38 .name = "LSAPIC", 39 .irq_startup = lsapic_noop_startup, 40 .irq_shutdown = lsapic_noop, 41 .irq_enable = lsapic_noop, 42 .irq_disable = lsapic_noop, 43 .irq_ack = lsapic_noop, 44 .irq_retrigger = lsapic_retrigger, 45 }; 46