| 1 | --- a/drivers/pci/Kconfig |
| 2 | +++ b/drivers/pci/Kconfig |
| 3 | @@ -61,6 +61,12 @@ config XEN_PCIDEV_FE_DEBUG |
| 4 | |
| 5 | When in doubt, say N. |
| 6 | |
| 7 | +config PCI_DISABLE_COMMON_QUIRKS |
| 8 | + bool "PCI disable common quirks" |
| 9 | + depends on PCI |
| 10 | + help |
| 11 | + If you don't know what to do here, say N. |
| 12 | + |
| 13 | config HT_IRQ |
| 14 | bool "Interrupts on hypertransport devices" |
| 15 | default y |
| 16 | --- a/drivers/pci/quirks.c |
| 17 | +++ b/drivers/pci/quirks.c |
| 18 | @@ -104,6 +104,7 @@ static void __devinit quirk_mmio_always_ |
| 19 | } |
| 20 | DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, quirk_mmio_always_on); |
| 21 | |
| 22 | +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS |
| 23 | /* The Mellanox Tavor device gives false positive parity errors |
| 24 | * Mark this device with a broken_parity_status, to allow |
| 25 | * PCI scanning code to "skip" this now blacklisted device. |
| 26 | @@ -1989,7 +1990,9 @@ static void __devinit fixup_rev1_53c810( |
| 27 | } |
| 28 | } |
| 29 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); |
| 30 | +#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */ |
| 31 | |
| 32 | +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS |
| 33 | /* Enable 1k I/O space granularity on the Intel P64H2 */ |
| 34 | static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev) |
| 35 | { |
| 36 | @@ -2662,6 +2665,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT |
| 37 | quirk_msi_intx_disable_bug); |
| 38 | |
| 39 | #endif /* CONFIG_PCI_MSI */ |
| 40 | +#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */ |
| 41 | |
| 42 | /* Allow manual resource allocation for PCI hotplug bridges |
| 43 | * via pci=hpmemsize=nnM and pci=hpiosize=nnM parameters. For |
| 44 | |