25149885a5911b61f0219d09a6d49ed1acd2c7da
[15.05/openwrt.git] / target / linux / adm5120 / patches-2.6.25 / 202-pci_disable_common_quirks.patch
1 --- a/drivers/pci/Kconfig
2 +++ b/drivers/pci/Kconfig
3 @@ -42,6 +42,12 @@
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 @@ -24,6 +24,7 @@
19  #include <linux/kallsyms.h>
20  #include "pci.h"
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 @@ -1495,6 +1496,7 @@
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  static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end)
33  {
34 @@ -1562,6 +1564,7 @@
35  }
36  EXPORT_SYMBOL(pci_fixup_device);
37  
38 +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
39  /* Enable 1k I/O space granularity on the Intel P64H2 */
40  static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev)
41  {
42 @@ -1875,3 +1878,4 @@
43                         quirk_msi_intx_disable_bug);
44  
45  #endif /* CONFIG_PCI_MSI */
46 +#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */