|
@@ -61,7 +61,8 @@ DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_p
|
|
|
|
|
|
This appears to be BIOS not version dependent. So presumably there is a
|
|
|
chipset level fix */
|
|
|
-int isa_dma_bridge_buggy; /* Exported */
|
|
|
+int isa_dma_bridge_buggy;
|
|
|
+EXPORT_SYMBOL(isa_dma_bridge_buggy);
|
|
|
|
|
|
static void __devinit quirk_isa_dma_hangs(struct pci_dev *dev)
|
|
|
{
|
|
@@ -83,6 +84,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_d
|
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs );
|
|
|
|
|
|
int pci_pci_problems;
|
|
|
+EXPORT_SYMBOL(pci_pci_problems);
|
|
|
|
|
|
/*
|
|
|
* Chipsets where PCI->PCI transfers vanish or hang
|
|
@@ -94,6 +96,8 @@ static void __devinit quirk_nopcipci(struct pci_dev *dev)
|
|
|
pci_pci_problems |= PCIPCI_FAIL;
|
|
|
}
|
|
|
}
|
|
|
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, quirk_nopcipci );
|
|
|
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496, quirk_nopcipci );
|
|
|
|
|
|
static void __devinit quirk_nopciamd(struct pci_dev *dev)
|
|
|
{
|
|
@@ -105,9 +109,6 @@ static void __devinit quirk_nopciamd(struct pci_dev *dev)
|
|
|
pci_pci_problems |= PCIAGP_FAIL;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, quirk_nopcipci );
|
|
|
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496, quirk_nopcipci );
|
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8151_0, quirk_nopciamd );
|
|
|
|
|
|
/*
|
|
@@ -1136,6 +1137,14 @@ static void quirk_sis_96x_smbus(struct pci_dev *dev)
|
|
|
pci_write_config_byte(dev, 0x77, val & ~0x10);
|
|
|
}
|
|
|
}
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, quirk_sis_96x_smbus );
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_smbus );
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, quirk_sis_96x_smbus );
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, quirk_sis_96x_smbus );
|
|
|
+DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, quirk_sis_96x_smbus );
|
|
|
+DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_smbus );
|
|
|
+DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, quirk_sis_96x_smbus );
|
|
|
+DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, quirk_sis_96x_smbus );
|
|
|
|
|
|
/*
|
|
|
* ... This is further complicated by the fact that some SiS96x south
|
|
@@ -1173,6 +1182,8 @@ static void quirk_sis_503(struct pci_dev *dev)
|
|
|
dev->device = devid;
|
|
|
quirk_sis_96x_smbus(dev);
|
|
|
}
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, quirk_sis_503 );
|
|
|
+DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, quirk_sis_503 );
|
|
|
|
|
|
static void __init quirk_sis_96x_compatible(struct pci_dev *dev)
|
|
|
{
|
|
@@ -1185,8 +1196,6 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_650, quirk_sis_96x_
|
|
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_651, quirk_sis_96x_compatible );
|
|
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_735, quirk_sis_96x_compatible );
|
|
|
|
|
|
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, quirk_sis_503 );
|
|
|
-DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, quirk_sis_503 );
|
|
|
/*
|
|
|
* On ASUS A8V and A8V Deluxe boards, the onboard AC97 audio controller
|
|
|
* and MC97 modem controller are disabled when a second PCI soundcard is
|
|
@@ -1217,21 +1226,8 @@ static void asus_hides_ac97_lpc(struct pci_dev *dev)
|
|
|
}
|
|
|
}
|
|
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, asus_hides_ac97_lpc );
|
|
|
-
|
|
|
-
|
|
|
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, quirk_sis_96x_smbus );
|
|
|
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_smbus );
|
|
|
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, quirk_sis_96x_smbus );
|
|
|
-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, quirk_sis_96x_smbus );
|
|
|
-
|
|
|
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, asus_hides_ac97_lpc );
|
|
|
|
|
|
-
|
|
|
-DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, quirk_sis_96x_smbus );
|
|
|
-DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_smbus );
|
|
|
-DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, quirk_sis_96x_smbus );
|
|
|
-DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, quirk_sis_96x_smbus );
|
|
|
-
|
|
|
#if defined(CONFIG_ATA) || defined(CONFIG_ATA_MODULE)
|
|
|
|
|
|
/*
|
|
@@ -1276,7 +1272,6 @@ static void quirk_jmicron_dualfn(struct pci_dev *pdev)
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, quirk_jmicron_dualfn);
|
|
|
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, quirk_jmicron_dualfn);
|
|
|
|
|
@@ -1420,6 +1415,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_intel_ide_co
|
|
|
|
|
|
|
|
|
int pcie_mch_quirk;
|
|
|
+EXPORT_SYMBOL(pcie_mch_quirk);
|
|
|
|
|
|
static void __devinit quirk_pcie_mch(struct pci_dev *pdev)
|
|
|
{
|
|
@@ -1646,6 +1642,7 @@ void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev)
|
|
|
}
|
|
|
pci_do_fixups(dev, start, end);
|
|
|
}
|
|
|
+EXPORT_SYMBOL(pci_fixup_device);
|
|
|
|
|
|
/* Enable 1k I/O space granularity on the Intel P64H2 */
|
|
|
static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev)
|
|
@@ -1788,8 +1785,3 @@ static void __devinit quirk_nvidia_ck804_msi_ht_cap(struct pci_dev *dev)
|
|
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_CK804_PCIE,
|
|
|
quirk_nvidia_ck804_msi_ht_cap);
|
|
|
#endif /* CONFIG_PCI_MSI */
|
|
|
-
|
|
|
-EXPORT_SYMBOL(pcie_mch_quirk);
|
|
|
-#ifdef CONFIG_HOTPLUG
|
|
|
-EXPORT_SYMBOL(pci_fixup_device);
|
|
|
-#endif
|