[PATCH] PCI: layerscape: fix index passed to syscon_regmap_lookup_by_phandle_args
From: Ioana Ciornei
Date: Thu Mar 27 2025 - 11:20:31 EST
The arg_count variable passed to the
syscon_regmap_lookup_by_phandle_args() function represents the number of
argument cells following the phandle. In this case, the number of
arguments should be 1 instead of 2 since the dt property looks like
below.
fsl,pcie-scfg = <&scfg 0>;
Without this fix, layerscape-pcie fails with the following message on
LS1043A:
[ 0.157041] OF: /soc/pcie@3500000: phandle scfg@1570000 needs 2, found 1
[ 0.157050] layerscape-pcie 3500000.pcie: No syscfg phandle specified
[ 0.157053] layerscape-pcie 3500000.pcie: probe with driver layerscape-pcie failed with error -22
Fixes: 149fc35734e5 ("PCI: layerscape: Use syscon_regmap_lookup_by_phandle_args")
Signed-off-by: Ioana Ciornei <ioana.ciornei@xxxxxxx>
---
drivers/pci/controller/dwc/pci-layerscape.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pci-layerscape.c b/drivers/pci/controller/dwc/pci-layerscape.c
index 239a05b36e8e..a44b5c256d6e 100644
--- a/drivers/pci/controller/dwc/pci-layerscape.c
+++ b/drivers/pci/controller/dwc/pci-layerscape.c
@@ -356,7 +356,7 @@ static int ls_pcie_probe(struct platform_device *pdev)
if (pcie->drvdata->scfg_support) {
pcie->scfg =
syscon_regmap_lookup_by_phandle_args(dev->of_node,
- "fsl,pcie-scfg", 2,
+ "fsl,pcie-scfg", 1,
index);
if (IS_ERR(pcie->scfg)) {
dev_err(dev, "No syscfg phandle specified\n");
--
2.34.1