--- a/drivers/pci/Kconfig +++ b/drivers/pci/Kconfig @@ -51,6 +51,12 @@ config XEN_PCIDEV_FRONTEND The PCI device frontend driver allows the kernel to import arbitrary PCI devices from a PCI backend to support PCI driver domains. +config PCI_DISABLE_COMMON_QUIRKS + bool "PCI disable common quirks" + depends on PCI + help + If you don't know what to do here, say N. + config HT_IRQ bool "Interrupts on hypertransport devices" default y --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -105,6 +105,7 @@ static void __devinit quirk_mmio_always_ } DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, quirk_mmio_always_on); +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS /* The Mellanox Tavor device gives false positive parity errors * Mark this device with a broken_parity_status, to allow * PCI scanning code to "skip" this now blacklisted device. @@ -1990,7 +1991,9 @@ static void __devinit fixup_rev1_53c810( } } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); +#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */ +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS /* Enable 1k I/O space granularity on the Intel P64H2 */ static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev) { @@ -2666,6 +2669,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT quirk_msi_intx_disable_bug); #endif /* CONFIG_PCI_MSI */ +#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */ /* Allow manual resource allocation for PCI hotplug bridges * via pci=hpmemsize=nnM and pci=hpiosize=nnM parameters. For