38 #include <linux/types.h>
39 #include <linux/kernel.h>
43 #include <linux/module.h>
45 #include <asm/traps.h>
51 #include <asm/entry.h>
69 static int free_vme_vec_bitmap;
78 "falcon_hblhandler:\n\t"
84 static unsigned int atari_irq_startup(
struct irq_data *
data)
86 unsigned int irq = data->
irq;
89 atari_turnon_irq(irq);
90 atari_enable_irq(irq);
96 unsigned int irq = data->
irq;
98 atari_disable_irq(irq);
99 atari_turnoff_irq(irq);
102 if (irq == IRQ_AUTO_4)
106 static void atari_irq_enable(
struct irq_data *data)
108 atari_enable_irq(data->
irq);
111 static void atari_irq_disable(
struct irq_data *data)
113 atari_disable_irq(data->
irq);
116 static struct irq_chip atari_irq_chip = {
118 .irq_startup = atari_irq_startup,
119 .irq_shutdown = atari_irq_shutdown,
120 .irq_enable = atari_irq_enable,
121 .irq_disable = atari_irq_disable,
143 #ifdef ATARI_USE_SOFTWARE_EOI
154 #ifdef ATARI_USE_SOFTWARE_EOI
213 for (i = 0; i < 32; i++)
214 if ((free_vme_vec_bitmap & (1 << i)) == 0)
220 free_vme_vec_bitmap |= 1 <<
i;
230 free_vme_vec_bitmap &= ~(1 << irq);