* [PATCH 1/2] PCI: tegra194: use dev_err_probe() for PERST GPIO
@ 2026-10-07 10:48 phucduc.bui
2026-10-07 10:48 ` [PATCH 2/2] PCI: tegra194: propagate REFCLK select GPIO errors phucduc.bui
2026-10-07 20:46 ` [PATCH 1/2] PCI: tegra194: use dev_err_probe() for PERST GPIO Bjorn Helgaas
0 siblings, 2 replies; 3+ messages in thread
From: phucduc.bui @ 2026-10-07 10:48 UTC (permalink / raw)
To: Lorenzo Pieralisi, kwilczynski, Manivannan Sadhasivam,
Rob Herring, Bjorn Helgaas, Thierry Reding, Jonathan Hunter
Cc: Vidya Sagar, Manikanta Maddireddy, Niklas Cassel, linux-pci,
linux-tegra, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
Use dev_err_probe() when getting the PERST GPIO to simplify error
handling and properly handle -EPROBE_DEFER.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
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 63a0f56cad8e..767e11216196 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -1200,18 +1200,9 @@ static int tegra_pcie_dw_parse_dt(struct tegra_pcie_dw *pcie)
/* Endpoint mode specific DT entries */
pcie->pex_rst_gpiod = devm_gpiod_get(pcie->dev, "reset", GPIOD_IN);
- if (IS_ERR(pcie->pex_rst_gpiod)) {
- int err = PTR_ERR(pcie->pex_rst_gpiod);
- const char *level = KERN_ERR;
-
- if (err == -EPROBE_DEFER)
- level = KERN_DEBUG;
-
- dev_printk(level, pcie->dev,
- dev_fmt("Failed to get PERST GPIO: %d\n"),
- err);
- return err;
- }
+ if (IS_ERR(pcie->pex_rst_gpiod))
+ return dev_err_probe(pcie->dev, PTR_ERR(pcie->pex_rst_gpiod),
+ "Failed to get PERST GPIO\n");
pcie->pex_refclk_sel_gpiod = devm_gpiod_get_optional(pcie->dev,
"nvidia,refclk-select",
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/2] PCI: tegra194: propagate REFCLK select GPIO errors
2026-10-07 10:48 [PATCH 1/2] PCI: tegra194: use dev_err_probe() for PERST GPIO phucduc.bui
@ 2026-10-07 10:48 ` phucduc.bui
2026-10-07 20:46 ` [PATCH 1/2] PCI: tegra194: use dev_err_probe() for PERST GPIO Bjorn Helgaas
1 sibling, 0 replies; 3+ messages in thread
From: phucduc.bui @ 2026-10-07 10:48 UTC (permalink / raw)
To: Lorenzo Pieralisi, kwilczynski, Manivannan Sadhasivam,
Rob Herring, Bjorn Helgaas, Thierry Reding, Jonathan Hunter
Cc: Vidya Sagar, Manikanta Maddireddy, Niklas Cassel, linux-pci,
linux-tegra, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
devm_gpiod_get_optional() returns NULL when the optional GPIO is not
present, but may return -EPROBE_DEFER or other errors.
The current code treats GPIO lookup errors as if the GPIO were not
present.
Check the return value and propagate errors from the REFCLK select GPIO
lookup.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
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 767e11216196..5ebe01f72833 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -1207,18 +1207,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 GPIOs\n");
return 0;
}
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] PCI: tegra194: use dev_err_probe() for PERST GPIO
2026-10-07 10:48 [PATCH 1/2] PCI: tegra194: use dev_err_probe() for PERST GPIO phucduc.bui
2026-10-07 10:48 ` [PATCH 2/2] PCI: tegra194: propagate REFCLK select GPIO errors phucduc.bui
@ 2026-10-07 20:46 ` Bjorn Helgaas
1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2026-10-07 20:46 UTC (permalink / raw)
To: phucduc.bui
Cc: Lorenzo Pieralisi, kwilczynski, Manivannan Sadhasivam,
Rob Herring, Bjorn Helgaas, Thierry Reding, Jonathan Hunter,
Vidya Sagar, Manikanta Maddireddy, Niklas Cassel, linux-pci,
linux-tegra, linux-kernel
On Wed, Oct 07, 2026 at 05:48:46PM +0700, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> Use dev_err_probe() when getting the PERST GPIO to simplify error
> handling and properly handle -EPROBE_DEFER.
>
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
For future posts, please match the subject line capitalization style:
PCI: tegra194: Use ...
And style as "PERST#" in the subject, commit log, and dmesg text to
match spec usage.
No need to repost just for this; we can tweak these when applying.
> ---
> 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 63a0f56cad8e..767e11216196 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -1200,18 +1200,9 @@ static int tegra_pcie_dw_parse_dt(struct tegra_pcie_dw *pcie)
>
> /* Endpoint mode specific DT entries */
> pcie->pex_rst_gpiod = devm_gpiod_get(pcie->dev, "reset", GPIOD_IN);
> - if (IS_ERR(pcie->pex_rst_gpiod)) {
> - int err = PTR_ERR(pcie->pex_rst_gpiod);
> - const char *level = KERN_ERR;
> -
> - if (err == -EPROBE_DEFER)
> - level = KERN_DEBUG;
> -
> - dev_printk(level, pcie->dev,
> - dev_fmt("Failed to get PERST GPIO: %d\n"),
> - err);
> - return err;
> - }
> + if (IS_ERR(pcie->pex_rst_gpiod))
> + return dev_err_probe(pcie->dev, PTR_ERR(pcie->pex_rst_gpiod),
> + "Failed to get PERST GPIO\n");
>
> pcie->pex_refclk_sel_gpiod = devm_gpiod_get_optional(pcie->dev,
> "nvidia,refclk-select",
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-07 20:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-07 10:48 [PATCH 1/2] PCI: tegra194: use dev_err_probe() for PERST GPIO phucduc.bui
2026-10-07 10:48 ` [PATCH 2/2] PCI: tegra194: propagate REFCLK select GPIO errors phucduc.bui
2026-10-07 20:46 ` [PATCH 1/2] PCI: tegra194: use dev_err_probe() for PERST GPIO Bjorn Helgaas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®