add 3.7-rc6 support (patch 820 still has to be fixed)
[openwrt/staging/chunkeey.git] / target / linux / generic / patches-3.7 / 810-pci_disable_common_quirks.patch
1 --- a/drivers/pci/Kconfig
2 +++ b/drivers/pci/Kconfig
3 @@ -63,6 +63,12 @@ config XEN_PCIDEV_FRONTEND
4 The PCI device frontend driver allows the kernel to import arbitrary
5 PCI devices from a PCI backend to support PCI driver domains.
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 @@ -44,6 +44,7 @@ static void __devinit quirk_mmio_always_
19 DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
20 PCI_CLASS_BRIDGE_HOST, 8, 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 @@ -1933,7 +1934,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 @@ -2605,6 +2608,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT
37 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1083,
38 quirk_msi_intx_disable_bug);
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