]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/kernel/i8259.c
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[linux-2.6-omap-h63xx.git] / arch / mips / kernel / i8259.c
index 2125ba5f1d9b20b2d2e0fe282e6513b399546478..2526c0ca4d817a5b89a04bda1da164bbc07eb252 100644 (file)
@@ -40,21 +40,10 @@ static void end_8259A_irq (unsigned int irq)
                enable_8259A_irq(irq);
 }
 
-#define shutdown_8259A_irq     disable_8259A_irq
-
 void mask_and_ack_8259A(unsigned int);
 
-static unsigned int startup_8259A_irq(unsigned int irq)
-{
-       enable_8259A_irq(irq);
-
-       return 0; /* never anything pending */
-}
-
-static struct hw_interrupt_type i8259A_irq_type = {
+static struct irq_chip i8259A_irq_type = {
        .typename = "XT-PIC",
-       .startup = startup_8259A_irq,
-       .shutdown = shutdown_8259A_irq,
        .enable = enable_8259A_irq,
        .disable = disable_8259A_irq,
        .ack = mask_and_ack_8259A,
@@ -120,7 +109,7 @@ int i8259A_irq_pending(unsigned int irq)
 void make_8259A_irq(unsigned int irq)
 {
        disable_irq_nosync(irq);
-       irq_desc[irq].handler = &i8259A_irq_type;
+       set_irq_chip(irq, &i8259A_irq_type);
        enable_irq(irq);
 }
 
@@ -302,11 +291,11 @@ static struct irqaction irq2 = {
 };
 
 static struct resource pic1_io_resource = {
-       "pic1", 0x20, 0x3f, IORESOURCE_BUSY
+       .name = "pic1", .start = 0x20, .end = 0x21, .flags = IORESOURCE_BUSY
 };
 
 static struct resource pic2_io_resource = {
-       "pic2", 0xa0, 0xbf, IORESOURCE_BUSY
+       .name = "pic2", .start = 0xa0, .end = 0xa1, .flags = IORESOURCE_BUSY
 };
 
 /*
@@ -323,12 +312,8 @@ void __init init_i8259_irqs (void)
 
        init_8259A(0);
 
-       for (i = 0; i < 16; i++) {
-               irq_desc[i].status = IRQ_DISABLED;
-               irq_desc[i].action = NULL;
-               irq_desc[i].depth = 1;
-               irq_desc[i].handler = &i8259A_irq_type;
-       }
+       for (i = 0; i < 16; i++)
+               set_irq_chip(i, &i8259A_irq_type);
 
        setup_irq(2, &irq2);
 }