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? > 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: 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" > 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. Bjorn