Sync to v4.15-rc3 for security subsystem developers to work against.
[sfrench/cifs-2.6.git] / arch / ia64 / kernel / irq_lsapic.c
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 };