From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Move pp->cfg0 setup to dw_pcie_cfg0_setup(). No functional change intended. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxx> --- Change from v9 to v10 v9 means https://lore.kernel.org/linux-pci/20250307233744.440476-1-helgaas@xxxxxxxxxx/T/#maa0134c1826bffcccab6028c7732a13f7adcec4d - move dw_pcie_cfg0_setup() ahead of dw_pcie_host_request_msg_tlp_res() to nice git diff and easy to review. --- drivers/pci/controller/dwc/pcie-designware-host.c | 40 +++++++++++++++-------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 1206b26bff3f2..c57831902686e 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -392,6 +392,29 @@ static int dw_pcie_msi_host_init(struct dw_pcie_rp *pp) return 0; } +static int dw_pcie_cfg0_setup(struct dw_pcie_rp *pp) +{ + struct dw_pcie *pci = to_dw_pcie_from_pp(pp); + struct device *dev = pci->dev; + struct platform_device *pdev = to_platform_device(dev); + struct resource *res; + + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "config"); + if (!res) { + dev_err(dev, "Missing \"config\" reg space\n"); + return -ENODEV; + } + + pp->cfg0_size = resource_size(res); + pp->cfg0_base = res->start; + + pp->va_cfg0_base = devm_pci_remap_cfg_resource(dev, res); + if (IS_ERR(pp->va_cfg0_base)) + return PTR_ERR(pp->va_cfg0_base); + + return 0; +} + static void dw_pcie_host_request_msg_tlp_res(struct dw_pcie_rp *pp) { struct dw_pcie *pci = to_dw_pcie_from_pp(pp); @@ -423,10 +446,8 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) struct dw_pcie *pci = to_dw_pcie_from_pp(pp); struct device *dev = pci->dev; struct device_node *np = dev->of_node; - struct platform_device *pdev = to_platform_device(dev); struct resource_entry *win; struct pci_host_bridge *bridge; - struct resource *res; int ret; raw_spin_lock_init(&pp->lock); @@ -435,18 +456,9 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) if (ret) return ret; - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "config"); - if (!res) { - dev_err(dev, "Missing \"config\" reg space\n"); - return -ENODEV; - } - - pp->cfg0_size = resource_size(res); - pp->cfg0_base = res->start; - - pp->va_cfg0_base = devm_pci_remap_cfg_resource(dev, res); - if (IS_ERR(pp->va_cfg0_base)) - return PTR_ERR(pp->va_cfg0_base); + ret = dw_pcie_cfg0_setup(pp); + if (ret) + return ret; bridge = devm_pci_alloc_host_bridge(dev, 0); if (!bridge) -- 2.34.1