diff options
Diffstat (limited to 'arch/ppc/amiga/ints.c')
-rw-r--r-- | arch/ppc/amiga/ints.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/arch/ppc/amiga/ints.c b/arch/ppc/amiga/ints.c index c3eabcc83..80c63f7ab 100644 --- a/arch/ppc/amiga/ints.c +++ b/arch/ppc/amiga/ints.c @@ -5,19 +5,22 @@ * Needed to drive the m68k emulating IRQ hardware on the PowerUp boards. */ +#include <linux/config.h> #include <linux/types.h> +#include <linux/sched.h> #include <linux/kernel_stat.h> -#include <linux/kernel.h> #include <linux/errno.h> #include <linux/init.h> #include <asm/setup.h> +#include <asm/system.h> #include <asm/irq.h> #include <asm/traps.h> +#include <asm/page.h> #include <asm/machdep.h> /* table for system interrupt handlers */ -irq_handler_t irq_list[SYS_IRQS]; +static irq_handler_t irq_list[SYS_IRQS]; static const char *default_names[SYS_IRQS] = { "spurious int", "int1 handler", "int2 handler", "int3 handler", @@ -42,14 +45,15 @@ static irq_node_t nodes[NUM_IRQ_NODES]; * the IRQ handling routines. */ -void __init apus_init_IRQ(void) +__init +void m68k_init_IRQ(void) { int i; for (i = 0; i < SYS_IRQS; i++) { if (mach_default_handler) irq_list[i].handler = (*mach_default_handler)[i]; - irq_list[i].flags = IRQ_FLG_STD; + irq_list[i].flags = 0; irq_list[i].dev_id = NULL; irq_list[i].devname = default_names[i]; } @@ -83,6 +87,7 @@ int sys_request_irq(unsigned int irq, return -ENXIO; } +#if 0 if (!(irq_list[irq].flags & IRQ_FLG_STD)) { if (irq_list[irq].flags & IRQ_FLG_LOCK) { printk("%s: IRQ %d from %s is not replaceable\n", @@ -95,6 +100,8 @@ int sys_request_irq(unsigned int irq, return -EBUSY; } } +#endif + irq_list[irq].handler = handler; irq_list[irq].flags = flags; irq_list[irq].dev_id = dev_id; @@ -114,7 +121,7 @@ void sys_free_irq(unsigned int irq, void *dev_id) __FUNCTION__, irq, irq_list[irq].devname); irq_list[irq].handler = (*mach_default_handler)[irq]; - irq_list[irq].flags = IRQ_FLG_STD; + irq_list[irq].flags = 0; irq_list[irq].dev_id = NULL; irq_list[irq].devname = default_names[irq]; } @@ -134,7 +141,7 @@ asmlinkage void process_int(unsigned long vec, struct pt_regs *fp) } } -int get_irq_list(char *buf) +int m68k_get_irq_list(char *buf) { int i, len = 0; @@ -143,9 +150,6 @@ int get_irq_list(char *buf) for (i = 0; i < SYS_IRQS; i++) { len += sprintf(buf+len, "auto %2d: %10u ", i, i ? kstat.irqs[0][i] : num_spurious); - if (irq_list[i].flags & IRQ_FLG_LOCK) - len += sprintf(buf+len, "L "); - else len += sprintf(buf+len, " "); len += sprintf(buf+len, "%s\n", irq_list[i].devname); } |