fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / sh / cchips / hd6446x / hd64465 / setup.c
index 68e4c4e..d126e1f 100644 (file)
@@ -9,7 +9,6 @@
  * Copyright (C) 2000 YAEGASHI Takeshi
  */
 
-#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
 
 static void disable_hd64465_irq(unsigned int irq)
 {
-       unsigned long flags;
        unsigned short nimr;
        unsigned short mask = 1 << (irq - HD64465_IRQ_BASE);
 
        pr_debug("disable_hd64465_irq(%d): mask=%x\n", irq, mask);
-       local_irq_save(flags);
        nimr = inw(HD64465_REG_NIMR);
        nimr |= mask;
        outw(nimr, HD64465_REG_NIMR);
-       local_irq_restore(flags);
 }
 
 
 static void enable_hd64465_irq(unsigned int irq)
 {
-       unsigned long flags;
        unsigned short nimr;
        unsigned short mask = 1 << (irq - HD64465_IRQ_BASE);
 
        pr_debug("enable_hd64465_irq(%d): mask=%x\n", irq, mask);
-       local_irq_save(flags);
        nimr = inw(HD64465_REG_NIMR);
        nimr &= ~mask;
        outw(nimr, HD64465_REG_NIMR);
-       local_irq_restore(flags);
 }
 
 
@@ -91,7 +84,7 @@ static struct hw_interrupt_type hd64465_irq_type = {
 };
 
 
-static irqreturn_t hd64465_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t hd64465_interrupt(int irq, void *dev_id)
 {
        printk(KERN_INFO
               "HD64465: spurious interrupt, nirr: 0x%x nimr: 0x%x\n",
@@ -154,7 +147,7 @@ int hd64465_irq_demux(int irq)
        return irq;
 }
 
-static struct irqaction irq0  = { hd64465_interrupt, SA_INTERRUPT, CPU_MASK_NONE, "HD64465", NULL, NULL};
+static struct irqaction irq0  = { hd64465_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "HD64465", NULL, NULL};
 
 
 static int __init setup_hd64465(void)
@@ -182,7 +175,7 @@ static int __init setup_hd64465(void)
        outw(0xffff, HD64465_REG_NIMR);         /* mask all interrupts */
 
        for (i = 0; i < HD64465_IRQ_NUM ; i++) {
-               irq_desc[HD64465_IRQ_BASE + i].handler = &hd64465_irq_type;
+               irq_desc[HD64465_IRQ_BASE + i].chip = &hd64465_irq_type;
        }
 
        setup_irq(CONFIG_HD64465_IRQ, &irq0);