xref: /kernel/linux/linux-6.6/arch/ia64/include/asm/irq.h (revision 62306a36)
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_IA64_IRQ_H
3#define _ASM_IA64_IRQ_H
4
5/*
6 * Copyright (C) 1999-2000, 2002 Hewlett-Packard Co
7 *	David Mosberger-Tang <davidm@hpl.hp.com>
8 *	Stephane Eranian <eranian@hpl.hp.com>
9 *
10 * 11/24/98	S.Eranian 	updated TIMER_IRQ and irq_canonicalize
11 * 01/20/99	S.Eranian	added keyboard interrupt
12 * 02/29/00     D.Mosberger	moved most things into hw_irq.h
13 */
14
15#include <linux/types.h>
16#include <linux/cpumask.h>
17#include <asm/native/irq.h>
18
19#define NR_IRQS		IA64_NATIVE_NR_IRQS
20
21static __inline__ int
22irq_canonicalize (int irq)
23{
24	/*
25	 * We do the legacy thing here of pretending that irqs < 16
26	 * are 8259 irqs.  This really shouldn't be necessary at all,
27	 * but we keep it here as serial.c still uses it...
28	 */
29	return ((irq == 2) ? 9 : irq);
30}
31
32extern void set_irq_affinity_info (unsigned int irq, int dest, int redir);
33
34int create_irq(void);
35void destroy_irq(unsigned int irq);
36
37#endif /* _ASM_IA64_IRQ_H */
38