Re: [PATCH v2 01/10] PCI: tegra194: Propagate REFCLK select GPIO errors
From: Frank Li
Date: Wed Oct 21 2026 - 11:29:57 EST
On Wed, Oct 21, 2026 at 11:43:40AM +0530, Manikanta Maddireddy wrote:
> devm_gpiod_get_optional() returns NULL only when the optional GPIO is
> absent. Other error pointers, including -EPROBE_DEFER, describe real
> failures and should not be converted to NULL.
>
> Return dev_err_probe() errors for nvidia,refclk-select so probe does not
> continue without a GPIO that exists but is not ready or could not be
> requested.
>
> Fixes: c57247f940e8 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194")
> Signed-off-by: Manikanta Maddireddy <mmaddireddy@xxxxxxxxxx>
> ---
Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
> Changes V1 -> V2: None
>
> drivers/pci/controller/dwc/pcie-tegra194.c | 15 +++------------
> 1 file changed, 3 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> index 9b349b3430f1..6104a22d930e 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -1206,18 +1206,9 @@ static int tegra_pcie_dw_parse_dt(struct tegra_pcie_dw *pcie)
> pcie->pex_refclk_sel_gpiod = devm_gpiod_get_optional(pcie->dev,
> "nvidia,refclk-select",
> GPIOD_OUT_HIGH);
> - if (IS_ERR(pcie->pex_refclk_sel_gpiod)) {
> - int err = PTR_ERR(pcie->pex_refclk_sel_gpiod);
> - const char *level = KERN_ERR;
> -
> - if (err == -EPROBE_DEFER)
> - level = KERN_DEBUG;
> -
> - dev_printk(level, pcie->dev,
> - dev_fmt("Failed to get REFCLK select GPIOs: %d\n"),
> - err);
> - pcie->pex_refclk_sel_gpiod = NULL;
> - }
> + if (IS_ERR(pcie->pex_refclk_sel_gpiod))
> + return dev_err_probe(pcie->dev, PTR_ERR(pcie->pex_refclk_sel_gpiod),
> + "Failed to get REFCLK select GPIO\n");
>
> return 0;
> }
> --
> 2.34.1
>