Pull altix-fpga-reset into release branch
[sfrench/cifs-2.6.git] / arch / i386 / pci / irq.c
index 766b104ac1a1a55917c435698f25ec5992ff5b88..cddafe33ff7c522ca007569e0d73faade5465fc7 100644 (file)
 #include <linux/init.h>
 #include <linux/slab.h>
 #include <linux/interrupt.h>
-#include <linux/irq.h>
 #include <linux/dmi.h>
 #include <asm/io.h>
 #include <asm/smp.h>
 #include <asm/io_apic.h>
-#include <asm/hw_irq.h>
+#include <linux/irq.h>
 #include <linux/acpi.h>
 
 #include "pci.h"
@@ -56,6 +55,7 @@ struct irq_router_handler {
 };
 
 int (*pcibios_enable_irq)(struct pci_dev *dev) = NULL;
+void (*pcibios_disable_irq)(struct pci_dev *dev) = NULL;
 
 /*
  *  Check passed address for the PCI IRQ Routing Table signature
@@ -550,6 +550,13 @@ static __init int intel_router_probe(struct irq_router *r, struct pci_dev *route
 static __init int via_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
 {
        /* FIXME: We should move some of the quirk fixup stuff here */
+
+       if (router->device == PCI_DEVICE_ID_VIA_82C686 &&
+                       device == PCI_DEVICE_ID_VIA_82C586_0) {
+               /* Asus k7m bios wrongly reports 82C686A as 586-compatible */
+               device = PCI_DEVICE_ID_VIA_82C686;
+       }
+
        switch(device)
        {
                case PCI_DEVICE_ID_VIA_82C586_0:
@@ -1067,7 +1074,7 @@ static void pirq_penalize_isa_irq(int irq, int active)
 
 void pcibios_penalize_isa_irq(int irq, int active)
 {
-#ifdef CONFIG_ACPI_PCI
+#ifdef CONFIG_ACPI
        if (!acpi_noirq)
                acpi_penalize_isa_irq(irq, active);
        else