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
17static unsigned int
18lsapic_noop_startup (struct irq_data *data)
19{
20	return 0;
21}
22
23static void
24lsapic_noop (struct irq_data *data)
25{
26	/* nothing to do... */
27}
28
29static int lsapic_retrigger(struct irq_data *data)
30{
31	ia64_resend_irq(data->irq);
32
33	return 1;
34}
35
36struct 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