On 2023/7/19 23:26, Bjorn Helgaas wrote: > On Wed, Jul 19, 2023 at 06:20:48PM +0800, Minda Chen wrote: >> This patchset final purpose is add PCIe driver for StarFive JH7110 SoC. >> dt-bindings: PCI: Add PLDA XpressRICH PCIe host common properties >> JH7110 using PLDA XpressRICH PCIe IP. Microchip PolarFire Using the >> same IP and have commit their codes, which are mixed with PLDA >> controller codes and Microchip platform codes. > > I guess this actually adds TWO drivers: PCIE_PLDA_PLAT_HOST (claims > "plda,xpressrich-pcie-host" devices) and PCIE_STARFIVE_HOST (claims > "starfive,jh7110-pcie" devices), right? > Yes, plda,xpressrich-pcie-host is IP controller driver. Do it like designware/cadence/mobiveil, (pcie-(ip)-plat.c) But I can't test it. I don't whether need it. If it not required, I will delete it. >> For re-use the PLDA controller codes, I request refactoring microchip >> codes, move PLDA common codes to PLDA files. >> Desigware and Cadence is good example for refactoring codes. >> >> So first step is extract the PLDA common codes from microchip, and >> refactoring the microchip codes.(patch1 - 4) >> Then add the PLDA platform codes. (patch5, 6) >> At last, add Starfive codes. (patch7 - 9) >> >> This patchset is base on v6.5-rc1 > > Doesn't quite apply cleanly for me: > I am sorry, The driver need stg clk and syscon driver, which are have't be merge to main line. mainly dts is(patch9) rejected, Must apply this series patch first. (I forget add this link in cover letter) https://patchwork.kernel.org/project/linux-riscv/cover/20230712092007.31013-1-xingyu.wu@xxxxxxxxxxxxxxxx/ and this syscon patch https://patchwork.kernel.org/project/linux-riscv/patch/20230717023040.78860-7-xingyu.wu@xxxxxxxxxxxxxxxx/ > 10:10:15 ~/linux (main)$ git checkout -b wip/minda-starfive-v1 v6.5-rc1 > Switched to a new branch 'wip/minda-starfive-v1' > 10:10:33 ~/linux (wip/minda-starfive-v1)$ git am m/20230719_minda_chen_refactoring_microchip_polarfire_pcie_driver.mbx > Applying: dt-bindings: PCI: Add PLDA XpressRICH PCIe host common properties > Applying: dt-bindings: PCI: microchip: Remove the PLDA common properties > Applying: PCI: PLDA: Get PLDA common codes from Microchip PolarFire host > Applying: PCI: microchip: Move PCIe driver to PLDA directory > Applying: dt-bindings: PLDA: Add PLDA XpressRICH PCIe host controller > Applying: PCI: PLDA: Add host conroller platform driver > Applying: dt-bindings: PCI: Add StarFive JH7110 PCIe controller > Applying: PCI: PLDA: starfive: Add JH7110 PCIe controller > Applying: riscv: dts: starfive: add PCIe dts configuration for JH7110 > error: patch failed: arch/riscv/boot/dts/starfive/jh7110.dtsi:629 > error: arch/riscv/boot/dts/starfive/jh7110.dtsi: patch does not apply > Patch failed at 0009 riscv: dts: starfive: add PCIe dts configuration for JH7110 > >> dt-bindings: PCI: Add PLDA XpressRICH PCIe host common properties >> dt-bindings: PCI: microchip: Remove the PLDA common properties >> PCI: PLDA: Get PLDA common codes from Microchip PolarFire host >> PCI: microchip: Move PCIe driver to PLDA directory >> dt-bindings: PLDA: Add PLDA XpressRICH PCIe host controller >> PCI: PLDA: Add host conroller platform driver > > "controller" >ok >> dt-bindings: PCI: Add StarFive JH7110 PCIe controller >> PCI: PLDA: starfive: Add JH7110 PCIe controller >> riscv: dts: starfive: add PCIe dts configuration for JH7110 > > Use "PCI: plda: " prefix for PLDA things that are shared across > multiple drivers. > > Use "PCI: starfive: " prefix for starfive-specific things. > > This is the same as how drivers/pci/controller/dwc/* looks. > ok, thanks. > Bjorn