Most ECAM host drivers are just different pci_ecam_ops which can be DT match table data. That's already the case in some cases, but let's do that for all the ECAM drivers. Then we can use of_device_get_match_data() in pci_host_common_probe() and eliminate the probe wrapper functions and use pci_host_common_probe() directly for probe.
Showing the changes to include/linux (1 of 7 files). Show all
Unified · Split
| @@ -61,8 +61,7 @@ extern const struct pci_ecam_ops al_pcie_ops; /* Amazon Annapurna Labs PCIe */ · 60 unmodified lines | ||
| 61 | 61 | |
| 62 | 62 | #if IS_ENABLED(CONFIG_PCI_HOST_COMMON) |
| 63 | 63 | /* for DT-based PCI controllers that support ECAM */ |
| 64 | −int pci_host_common_probe(struct platform_device *pdev, | |
| 65 | − const struct pci_ecam_ops *ops); | |
| 64 | +int pci_host_common_probe(struct platform_device *pdev); | |
| 66 | 65 | int pci_host_common_remove(struct platform_device *pdev); |
| 67 | 66 | #endif |
| 68 | 67 | #endif |