This is part of a larger effort to modularize ARCH_VEXPRESS. In particular, the Arm FVP platforms use the host-generic driver. This conversion was straight-forward. I didn't convert the other ECAM drivers using host-common to modules, but am happy to do so if there's a strong desire to do so. In the process, I noticed that 'const' was being dropped from the match table .data pointer, so the first patch constifies struct pci_ecam_ops. I started trying to constify pci_ops too, but that became a never ending treewide rabbit hole. So I ended up with a cast when we assign pci_ops from pci_ecam_ops. Rob Rob Herring (3): PCI: Constify struct pci_ecam_ops PCI: host-generic: Support building as modules PCI: host-generic: Eliminate pci_host_common_probe wrappers arch/arm64/kernel/pci.c | 4 ++-- drivers/acpi/pci_mcfg.c | 8 +++---- drivers/pci/controller/Kconfig | 4 ++-- drivers/pci/controller/dwc/pcie-al.c | 2 +- drivers/pci/controller/dwc/pcie-hisi.c | 19 +++++------------ drivers/pci/controller/pci-host-common.c | 18 ++++++++++++---- drivers/pci/controller/pci-host-generic.c | 26 +++++++---------------- drivers/pci/controller/pci-thunder-ecam.c | 14 ++++++------ drivers/pci/controller/pci-thunder-pem.c | 16 ++++++-------- drivers/pci/controller/pci-xgene.c | 4 ++-- drivers/pci/controller/pcie-tango.c | 9 +++++--- drivers/pci/ecam.c | 10 ++++++--- drivers/pci/setup-bus.c | 1 + include/linux/pci-acpi.h | 2 +- include/linux/pci-ecam.h | 25 +++++++++++----------- 15 files changed, 78 insertions(+), 84 deletions(-) -- 2.20.1