linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / ppc / platforms / 85xx / mpc85xx_cds_common.c
index 7520458..1801ab3 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * arch/ppc/platform/85xx/mpc85xx_cds_common.c
+ *
  * MPC85xx CDS board specific routines
  *
  * Maintainer: Kumar Gala <galak@kernel.crashing.org>
@@ -11,6 +13,7 @@
  * option) any later version.
  */
 
+#include <linux/config.h>
 #include <linux/stddef.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
@@ -136,7 +139,7 @@ static irqreturn_t cpm2_cascade(int irq, void *dev_id, struct pt_regs *regs)
 
 static struct irqaction cpm2_irqaction = {
        .handler = cpm2_cascade,
-       .flags = IRQF_DISABLED,
+       .flags = SA_INTERRUPT,
        .mask = CPU_MASK_NONE,
        .name = "cpm2_cascade",
 };
@@ -378,12 +381,13 @@ mpc85xx_cds_pcibios_fixup(void)
                                         PCI_DEVICE_ID_VIA_82C586_2, NULL))) {
                 dev->irq = 10;
                 pci_write_config_byte(dev, PCI_INTERRUPT_LINE, 10);
+               pci_dev_put(dev);
+        }
 
-               if ((dev = pci_get_device(PCI_VENDOR_ID_VIA,
+       if ((dev = pci_get_device(PCI_VENDOR_ID_VIA,
                                         PCI_DEVICE_ID_VIA_82C586_2, dev))) {
-                       dev->irq = 11;
-                       pci_write_config_byte(dev, PCI_INTERRUPT_LINE, 11);
-               }
+                dev->irq = 11;
+                pci_write_config_byte(dev, PCI_INTERRUPT_LINE, 11);
                pci_dev_put(dev);
         }
 }