On Tue, Oct 08, 2024 at 11:18:23PM +0000, Ilkka Koskinen wrote:
Load DesignWare PCIe PMU driver automatically if the system has a PCI
bridge by Ampere.
Signed-off-by: Ilkka Koskinen <ilkka@xxxxxxxxxxxxxxxxxxxxxx>
---
drivers/perf/dwc_pcie_pmu.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/perf/dwc_pcie_pmu.c b/drivers/perf/dwc_pcie_pmu.c
index 3581d916d851..d752168733cf 100644
--- a/drivers/perf/dwc_pcie_pmu.c
+++ b/drivers/perf/dwc_pcie_pmu.c
@@ -782,6 +782,16 @@ static void __exit dwc_pcie_pmu_exit(void)
module_init(dwc_pcie_pmu_init);
module_exit(dwc_pcie_pmu_exit);
+static const struct pci_device_id dwc_pcie_pmu_table[] = {
+ {
+ PCI_DEVICE(PCI_VENDOR_ID_AMPERE, PCI_ANY_ID),
+ .class = PCI_CLASS_BRIDGE_PCI_NORMAL,
+ .class_mask = ~0,
+ },
+ { }
+};
+MODULE_DEVICE_TABLE(pci, dwc_pcie_pmu_table);
Hmm, won't this only work if the driver is modular? Should we be calling
pci_register_driver() for the builtin case?
Will