blob: b63ccd7386f18230293c036acddab148f22b015a [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * linux/arch/alpha/kernel/irq_impl.h
3 *
4 * Copyright (C) 1995 Linus Torvalds
5 * Copyright (C) 1998, 2000 Richard Henderson
6 *
7 * This file contains declarations and inline functions for interfacing
8 * with the IRQ handling routines in irq.c.
9 */
10
11#include <linux/interrupt.h>
12#include <linux/irq.h>
13#include <linux/profile.h>
14
15
16#define RTC_IRQ 8
17
Al Viro7ca56052006-10-08 14:36:08 +010018extern void isa_device_interrupt(unsigned long);
Al Viro3dbb8c62006-10-08 14:37:32 +010019extern void isa_no_iack_sc_device_interrupt(unsigned long);
Al Viro7ca56052006-10-08 14:36:08 +010020extern void srm_device_interrupt(unsigned long);
21extern void pyxis_device_interrupt(unsigned long);
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
23extern struct irqaction timer_irqaction;
24extern struct irqaction isa_cascade_irqaction;
25extern struct irqaction timer_cascade_irqaction;
26extern struct irqaction halt_switch_irqaction;
27
28extern void init_srm_irqs(long, unsigned long);
29extern void init_pyxis_irqs(unsigned long);
30extern void init_rtc_irq(void);
31
32extern void common_init_isa_dma(void);
33
34extern void i8259a_enable_irq(unsigned int);
35extern void i8259a_disable_irq(unsigned int);
36extern void i8259a_mask_and_ack_irq(unsigned int);
37extern unsigned int i8259a_startup_irq(unsigned int);
38extern void i8259a_end_irq(unsigned int);
Thomas Gleixner44377f62009-06-16 15:33:25 -070039extern struct irq_chip i8259a_irq_type;
Linus Torvalds1da177e2005-04-16 15:20:36 -070040extern void init_i8259a_irqs(void);
41
Al Viro3dbb8c62006-10-08 14:37:32 +010042extern void handle_irq(int irq);