On Mon, 4 May 2020 18:43:29 -0500 Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > On Tue, Apr 28, 2020 at 09:14:17AM +0800, Jiaxun Yang wrote: > > This controller can be found on Loongson-2K SoC, Loongson-3 > > systems with RS780E/LS7A PCH. > > > > The RS780E part of code was previously located at > > arch/mips/pci/ops-loongson3.c and now it can use generic PCI > > driver implementation. > > > > Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> > > > > -- > > v2: > > - Clean up according to rob's suggestions > > - Claim that it can't work as a module > > v3: > > - Fix a typo > > v4: > > - More clean-ups: Drop flag check, use devfn > > v7: > > - Fix ordering according to huacai's suggestion > > --- > > drivers/pci/controller/Kconfig | 10 + > > drivers/pci/controller/Makefile | 1 + > > drivers/pci/controller/pci-loongson.c | 251 > > ++++++++++++++++++++++++++ 3 files changed, 262 insertions(+) > > create mode 100644 drivers/pci/controller/pci-loongson.c > > > > diff --git a/drivers/pci/controller/Kconfig > > b/drivers/pci/controller/Kconfig index 91bfdb784829..ae36edb1d7db > > 100644 --- a/drivers/pci/controller/Kconfig > > +++ b/drivers/pci/controller/Kconfig > > @@ -258,6 +258,16 @@ config PCI_HYPERV_INTERFACE > > The Hyper-V PCI Interface is a helper driver allows > > other drivers to have a common interface with the Hyper-V PCI > > frontend driver. > > +config PCI_LOONGSON > > + bool "LOONGSON PCI Controller" > > + depends on MACH_LOONGSON64 || COMPILE_TEST > > + depends on OF > > + depends on PCI_QUIRKS > > + default MACH_LOONGSON64 > > + help > > + Say Y here if you want to enable PCI controller support > > on > > + Loongson systems. > > + > > source "drivers/pci/controller/dwc/Kconfig" > > source "drivers/pci/controller/mobiveil/Kconfig" > > source "drivers/pci/controller/cadence/Kconfig" > > diff --git a/drivers/pci/controller/Makefile > > b/drivers/pci/controller/Makefile index 158c59771824..fbac4b0190a0 > > 100644 --- a/drivers/pci/controller/Makefile > > +++ b/drivers/pci/controller/Makefile > > @@ -28,6 +28,7 @@ obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o > > obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o > > obj-$(CONFIG_VMD) += vmd.o > > obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o > > +obj-$(CONFIG_PCI_LOONGSON) += pci-loongson.o > > This is apparently a PCIe controller, not a Conventional PCI > controller, since you reference PCIe-specific things like MRRS below. > > If that's the case, I'd name it pcie-loongson.c. > Hi Bjorn, Thanks for your careful review. I'll resolve other comments, for the naming as it's exactly a PCI host bridge with some on-chip devices like AHCI, Ethernet, VGA controller attached on it, also some PCI to PCIe bridges are attached on it to provide PCIe port. I'd still prefer pci-loongson as it's name. -- Jiaxun Yang