46 lines
1 KiB
C
46 lines
1 KiB
C
|
// SPDX-License-Identifier: GPL-2.0
|
||
|
/*
|
||
|
* LSAPIC Interrupt Controller
|
||
|
*
|
||
|
* This takes care of interrupts that are generated by the CPU's
|
||
|
* internal Streamlined Advanced Programmable Interrupt Controller
|
||
|
* (LSAPIC), such as the ITC and IPI interrupts.
|
||
|
*
|
||
|
* Copyright (C) 1999 VA Linux Systems
|
||
|
* Copyright (C) 1999 Walt Drummond <drummond@valinux.com>
|
||
|
* Copyright (C) 2000 Hewlett-Packard Co
|
||
|
* Copyright (C) 2000 David Mosberger-Tang <davidm@hpl.hp.com>
|
||
|
*/
|
||
|
|
||
|
#include <linux/sched.h>
|
||
|
#include <linux/irq.h>
|
||
|
|
||
|
static unsigned int
|
||
|
lsapic_noop_startup (struct irq_data *data)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
static void
|
||
|
lsapic_noop (struct irq_data *data)
|
||
|
{
|
||
|
/* nothing to do... */
|
||
|
}
|
||
|
|
||
|
static int lsapic_retrigger(struct irq_data *data)
|
||
|
{
|
||
|
ia64_resend_irq(data->irq);
|
||
|
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
struct irq_chip irq_type_ia64_lsapic = {
|
||
|
.name = "LSAPIC",
|
||
|
.irq_startup = lsapic_noop_startup,
|
||
|
.irq_shutdown = lsapic_noop,
|
||
|
.irq_enable = lsapic_noop,
|
||
|
.irq_disable = lsapic_noop,
|
||
|
.irq_ack = lsapic_noop,
|
||
|
.irq_retrigger = lsapic_retrigger,
|
||
|
};
|