Hi all, MIPS specific code can be removed from driver and put into ralink mt7621 instead which is a more accurate place to do this. To make this possible we need to have access to 'bridge->windows' in 'pcibios_root_bridge_prepare()' which has been implemented for ralink mt7621 platform (there is no real need to implement this for any other platforms since those ones haven't got I/O coherency units). This also allow us to properly enable this driver to completely be enabled for COMPILE_TEST. This patchset appoarch: - Move windows list splice in 'pci_register_host_bridge()' after function 'pcibios_root_bridge_prepare()' is called. - Implement 'pcibios_root_bridge_prepare()' for ralink mt7621. - Avoid custom MIPs code in pcie-mt7621 driver. - Add missing 'MODULE_LICENSE()' to pcie-mt7621 driver to avoid compile test module compilation to complain (already sent patch from Yanteng Si that I have rewrite commit message and long description a bit. - Remove MIPS conditional code from Kconfig. This patchset also fix some errors reported by Kernel Test Robot about implicit mips functions used in driver code and fix errors in driver when is compiled as a module [1] (mips:allmodconfig). There was an ongoing discussion about this here [0] but I preferred to send my proposal for better review and understanding. Changes in v2: - Collect Acked-by from Arnd Bergmann for PATCH 1. - Collect Reviewed-by from Krzysztof Wilczyński for PATCH 4. - Adjust some patches commit subject and message as pointed out by Bjorn in review of v1 of the series[2]. This patchset is the good way of properly compile driver as a module removing all MIPS specific code into arch ralink mt7621 place. To avoid mips:allmodconfig reported problems for v5.16 the following patch has been sent [3]. This patch should be reverted for properly add this series. [0]: https://lore.kernel.org/linux-mips/CAMhs-H8ShoaYiFOOzJaGC68nZz=V365RXN_Kjuj=fPFENGJiiw@xxxxxxxxxxxxxx/T/#t [1]: https://lkml.org/lkml/2021/11/14/436 [2]: https://lore.kernel.org/r/20211115070809.15529-1-sergio.paracuellos@xxxxxxxxx [3]: https://lore.kernel.org/linux-pci/20211201214343.23307-1-sergio.paracuellos@xxxxxxxxx/T/#u Thanks in advance for your time. Best regards, Sergio Paracuellos Sergio Paracuellos (5): PCI: Let pcibios_root_bridge_prepare() access to 'bridge->windows' MIPS: ralink: implement 'pcibios_root_bridge_prepare()' PCI: mt7621: Avoid custom MIPS code in driver code PCI: mt7621: Add missing 'MODULE_LICENSE()' definition PCI: mt7621: Kconfig: Allow COMPILE_TEST for all arches arch/mips/ralink/mt7621.c | 30 +++++++++++++++++++++ drivers/pci/controller/Kconfig | 2 +- drivers/pci/controller/pcie-mt7621.c | 39 ++-------------------------- drivers/pci/probe.c | 4 +-- 4 files changed, 35 insertions(+), 40 deletions(-) -- 2.33.0