linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / m68k / bvme6000 / config.c
index d1e916a..3ffc84f 100644 (file)
 #include <asm/machdep.h>
 #include <asm/bvme6000hw.h>
 
+extern irqreturn_t bvme6000_process_int (int level, struct pt_regs *regs);
+extern void bvme6000_init_IRQ (void);
+extern void bvme6000_free_irq (unsigned int, void *);
+extern int  show_bvme6000_interrupts(struct seq_file *, void *);
+extern void bvme6000_enable_irq (unsigned int);
+extern void bvme6000_disable_irq (unsigned int);
 static void bvme6000_get_model(char *model);
 static int  bvme6000_get_hardware_list(char *buffer);
+extern int  bvme6000_request_irq(unsigned int irq, irqreturn_t (*handler)(int, void *, struct pt_regs *), unsigned long flags, const char *devname, void *dev_id);
 extern void bvme6000_sched_init(irqreturn_t (*handler)(int, void *, struct pt_regs *));
 extern unsigned long bvme6000_gettimeoffset (void);
 extern int bvme6000_hwclk (int, struct rtc_time *);
@@ -93,14 +100,6 @@ static int bvme6000_get_hardware_list(char *buffer)
     return 0;
 }
 
-/*
- * This function is called during kernel startup to initialize
- * the bvme6000 IRQ handling routines.
- */
-static void bvme6000_init_IRQ(void)
-{
-       m68k_setup_user_interrupt(VEC_USER, 192, NULL);
-}
 
 void __init config_bvme6000(void)
 {
@@ -128,6 +127,12 @@ void __init config_bvme6000(void)
     mach_hwclk           = bvme6000_hwclk;
     mach_set_clock_mmss         = bvme6000_set_clock_mmss;
     mach_reset          = bvme6000_reset;
+    mach_free_irq       = bvme6000_free_irq;
+    mach_process_int    = bvme6000_process_int;
+    mach_get_irq_list   = show_bvme6000_interrupts;
+    mach_request_irq    = bvme6000_request_irq;
+    enable_irq          = bvme6000_enable_irq;
+    disable_irq          = bvme6000_disable_irq;
     mach_get_model       = bvme6000_get_model;
     mach_get_hardware_list = bvme6000_get_hardware_list;
 
@@ -137,7 +142,7 @@ void __init config_bvme6000(void)
     /* Now do the PIT configuration */
 
     pit->pgcr  = 0x00; /* Unidirectional 8 bit, no handshake for now */
-    pit->psrr  = 0x18; /* PIACK and PIRQ functions enabled */
+    pit->psrr  = 0x18; /* PIACK and PIRQ fucntions enabled */
     pit->pacr  = 0x00; /* Sub Mode 00, H2 i/p, no DMA */
     pit->padr  = 0x00; /* Just to be tidy! */
     pit->paddr = 0x00; /* All inputs for now (safest) */