Re: [PATCH V3 18/22] LoongArch: Add PCI controller support

From: Arnd Bergmann
Date: Fri Sep 17 2021 - 05:02:22 EST


On Fri, Sep 17, 2021 at 5:57 AM Huacai Chen <chenhuacai@xxxxxxxxxxx> wrote:
>
> Loongson64 based systems are PC-like systems which use PCI/PCIe as its
> I/O bus, This patch adds the PCI host controller support for LoongArch.
>
> Signed-off-by: Jianmin Lv <lvjianmin@xxxxxxxxxxx>
> Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>

As discussed before, I think the PCI support should not be part of the
architecture code or this patch series. The headers are ok, but the pci.c
and acpi.c files have nothing loongarch specific in them, and you clearly
just copied most of this from arm64 or x86.

What I would suggest you do instead is:

- start a separate patch series, addressed to the ACPI, PCI host driver
and ARM64 maintainers.

- Move all the bits you need from arch/{arm64,ia64,x86} into
drivers/acpi/pci/pci_root.c, duplicating them with #if/#elif/#else
where they are too different, making the #else path the
default that can be shared with loongarch.

- Move the bits from pci_root_info/acpi_pci_root_info that are
always needed into struct pci_host_bridge, with an
#ifdef CONFIG_ACPI where appropriate.

- Simplify as much as you can easily do.

Arnd