]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
PCI: layerscape: Fix arg_count to syscon_regmap_lookup_by_phandle_args()
authorIoana Ciornei <ioana.ciornei@nxp.com>
Thu, 27 Mar 2025 15:19:49 +0000 (17:19 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 27 Mar 2025 18:11:14 +0000 (13:11 -0500)
The arg_count parameter to syscon_regmap_lookup_by_phandle_args()
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 this:

  fsl,pcie-scfg = <&scfg 0>;

Without this fix, layerscape-pcie fails with the following message on
LS1043A:

  OF: /soc/pcie@3500000: phandle scfg@1570000 needs 2, found 1
  layerscape-pcie 3500000.pcie: No syscfg phandle specified
  layerscape-pcie 3500000.pcie: probe with driver layerscape-pcie failed with error -22

Link: https://lore.kernel.org/r/20250327151949.2765193-1-ioana.ciornei@nxp.com
Fixes: 149fc35734e5 ("PCI: layerscape: Use syscon_regmap_lookup_by_phandle_args")
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Roy Zang <Roy.Zang@nxp.com>
Cc: stable@vger.kernel.org
drivers/pci/controller/dwc/pci-layerscape.c

index 239a05b36e8e6291b195f1253289af79f4a86d36..a44b5c256d6e2a0913b6d1a0b59066612866991f 100644 (file)
@@ -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");