linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level
@ 2020-03-19 13:12 Thierry Reding
  2020-03-19 17:04 ` Vidya Sagar
  2020-03-19 18:05 ` Lorenzo Pieralisi
  0 siblings, 2 replies; 5+ messages in thread
From: Thierry Reding @ 2020-03-19 13:12 UTC (permalink / raw)
  To: Lorenzo Pieralisi, Andrew Murray, Bjorn Helgaas
  Cc: Jon Hunter, Vidya Sagar, linux-pci, linux-tegra

From: Thierry Reding <treding@nvidia.com>

Probe deferral is an expected error condition that will usually be
recovered from. Print such error messages at debug level to make them
available for diagnostic purposes when building with debugging enabled
and hide them otherwise to not spam the kernel log with them.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 drivers/pci/controller/dwc/pcie-tegra194.c | 42 ++++++++++++++++++----
 1 file changed, 35 insertions(+), 7 deletions(-)

diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
index 97d3f3db1020..e4870fa6ce9c 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -1159,17 +1159,31 @@ 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)) {
-		dev_err(pcie->dev, "Failed to get PERST GPIO: %ld\n",
-			PTR_ERR(pcie->pex_rst_gpiod));
-		return PTR_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;
 	}
 
 	pcie->pex_refclk_sel_gpiod = devm_gpiod_get(pcie->dev,
 						    "nvidia,refclk-select",
 						    GPIOD_OUT_HIGH);
 	if (IS_ERR(pcie->pex_refclk_sel_gpiod)) {
-		dev_info(pcie->dev, "Failed to get REFCLK select GPIOs: %ld\n",
-			 PTR_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;
 	}
 
@@ -2058,13 +2072,27 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
 
 	ret = tegra_pcie_dw_parse_dt(pcie);
 	if (ret < 0) {
-		dev_err(dev, "Failed to parse device tree: %d\n", ret);
+		const char *level = KERN_ERR;
+
+		if (ret == -EPROBE_DEFER)
+			level = KERN_DEBUG;
+
+		dev_printk(level, dev,
+			   dev_fmt("Failed to parse device tree: %d\n"),
+			   ret);
 		return ret;
 	}
 
 	ret = tegra_pcie_get_slot_regulators(pcie);
 	if (ret < 0) {
-		dev_err(dev, "Failed to get slot regulators: %d\n", ret);
+		const char *level = KERN_ERR;
+
+		if (ret == -EPROBE_DEFER)
+			level = KERN_DEBUG;
+
+		dev_printk(level, dev,
+			   dev_fmt("Failed to get slot regulators: %d\n"),
+			   ret);
 		return ret;
 	}
 
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level
  2020-03-19 13:12 [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level Thierry Reding
@ 2020-03-19 17:04 ` Vidya Sagar
  2020-03-19 18:05 ` Lorenzo Pieralisi
  1 sibling, 0 replies; 5+ messages in thread
From: Vidya Sagar @ 2020-03-19 17:04 UTC (permalink / raw)
  To: Thierry Reding, Lorenzo Pieralisi, Andrew Murray, Bjorn Helgaas
  Cc: Jon Hunter, linux-pci, linux-tegra



On 3/19/2020 6:42 PM, Thierry Reding wrote:
> External email: Use caution opening links or attachments
> 
> 
> From: Thierry Reding <treding@nvidia.com>
> 
> Probe deferral is an expected error condition that will usually be
> recovered from. Print such error messages at debug level to make them
> available for diagnostic purposes when building with debugging enabled
> and hide them otherwise to not spam the kernel log with them.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>   drivers/pci/controller/dwc/pcie-tegra194.c | 42 ++++++++++++++++++----
>   1 file changed, 35 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> index 97d3f3db1020..e4870fa6ce9c 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -1159,17 +1159,31 @@ 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)) {
> -               dev_err(pcie->dev, "Failed to get PERST GPIO: %ld\n",
> -                       PTR_ERR(pcie->pex_rst_gpiod));
> -               return PTR_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;
>          }
> 
>          pcie->pex_refclk_sel_gpiod = devm_gpiod_get(pcie->dev,
>                                                      "nvidia,refclk-select",
>                                                      GPIOD_OUT_HIGH);
>          if (IS_ERR(pcie->pex_refclk_sel_gpiod)) {
> -               dev_info(pcie->dev, "Failed to get REFCLK select GPIOs: %ld\n",
> -                        PTR_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;
>          }
> 
> @@ -2058,13 +2072,27 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
> 
>          ret = tegra_pcie_dw_parse_dt(pcie);
>          if (ret < 0) {
> -               dev_err(dev, "Failed to parse device tree: %d\n", ret);
> +               const char *level = KERN_ERR;
> +
> +               if (ret == -EPROBE_DEFER)
> +                       level = KERN_DEBUG;
> +
> +               dev_printk(level, dev,
> +                          dev_fmt("Failed to parse device tree: %d\n"),
> +                          ret);
>                  return ret;
>          }
> 
>          ret = tegra_pcie_get_slot_regulators(pcie);
>          if (ret < 0) {
> -               dev_err(dev, "Failed to get slot regulators: %d\n", ret);
> +               const char *level = KERN_ERR;
> +
> +               if (ret == -EPROBE_DEFER)
> +                       level = KERN_DEBUG;
> +
> +               dev_printk(level, dev,
> +                          dev_fmt("Failed to get slot regulators: %d\n"),
> +                          ret);
>                  return ret;
>          }
> 
> --
> 2.24.1
> 

Reviewed-by: Vidya Sagar <vidyas@nvidia.com>
Tested-by: Vidya Sagar <vidyas@nvidia.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level
  2020-03-19 13:12 [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level Thierry Reding
  2020-03-19 17:04 ` Vidya Sagar
@ 2020-03-19 18:05 ` Lorenzo Pieralisi
  2020-03-23 13:34   ` Thierry Reding
  1 sibling, 1 reply; 5+ messages in thread
From: Lorenzo Pieralisi @ 2020-03-19 18:05 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Andrew Murray, Bjorn Helgaas, Jon Hunter, Vidya Sagar, linux-pci,
	linux-tegra

On Thu, Mar 19, 2020 at 02:12:30PM +0100, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
> 
> Probe deferral is an expected error condition that will usually be
> recovered from. Print such error messages at debug level to make them
> available for diagnostic purposes when building with debugging enabled
> and hide them otherwise to not spam the kernel log with them.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  drivers/pci/controller/dwc/pcie-tegra194.c | 42 ++++++++++++++++++----
>  1 file changed, 35 insertions(+), 7 deletions(-)

Hi Thierry,

what tree/branch is it based on ? I assume it may depend on some
patches queued in one of my branches so please let me know and
I will apply accordingly.

Thanks,
Lorenzo

> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> index 97d3f3db1020..e4870fa6ce9c 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -1159,17 +1159,31 @@ 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)) {
> -		dev_err(pcie->dev, "Failed to get PERST GPIO: %ld\n",
> -			PTR_ERR(pcie->pex_rst_gpiod));
> -		return PTR_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;
>  	}
>  
>  	pcie->pex_refclk_sel_gpiod = devm_gpiod_get(pcie->dev,
>  						    "nvidia,refclk-select",
>  						    GPIOD_OUT_HIGH);
>  	if (IS_ERR(pcie->pex_refclk_sel_gpiod)) {
> -		dev_info(pcie->dev, "Failed to get REFCLK select GPIOs: %ld\n",
> -			 PTR_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;
>  	}
>  
> @@ -2058,13 +2072,27 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
>  
>  	ret = tegra_pcie_dw_parse_dt(pcie);
>  	if (ret < 0) {
> -		dev_err(dev, "Failed to parse device tree: %d\n", ret);
> +		const char *level = KERN_ERR;
> +
> +		if (ret == -EPROBE_DEFER)
> +			level = KERN_DEBUG;
> +
> +		dev_printk(level, dev,
> +			   dev_fmt("Failed to parse device tree: %d\n"),
> +			   ret);
>  		return ret;
>  	}
>  
>  	ret = tegra_pcie_get_slot_regulators(pcie);
>  	if (ret < 0) {
> -		dev_err(dev, "Failed to get slot regulators: %d\n", ret);
> +		const char *level = KERN_ERR;
> +
> +		if (ret == -EPROBE_DEFER)
> +			level = KERN_DEBUG;
> +
> +		dev_printk(level, dev,
> +			   dev_fmt("Failed to get slot regulators: %d\n"),
> +			   ret);
>  		return ret;
>  	}
>  
> -- 
> 2.24.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level
  2020-03-19 18:05 ` Lorenzo Pieralisi
@ 2020-03-23 13:34   ` Thierry Reding
  2020-03-23 17:21     ` Lorenzo Pieralisi
  0 siblings, 1 reply; 5+ messages in thread
From: Thierry Reding @ 2020-03-23 13:34 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: Andrew Murray, Bjorn Helgaas, Jon Hunter, Vidya Sagar, linux-pci,
	linux-tegra

[-- Attachment #1: Type: text/plain, Size: 4140 bytes --]

On Thu, Mar 19, 2020 at 06:05:30PM +0000, Lorenzo Pieralisi wrote:
> On Thu, Mar 19, 2020 at 02:12:30PM +0100, Thierry Reding wrote:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > Probe deferral is an expected error condition that will usually be
> > recovered from. Print such error messages at debug level to make them
> > available for diagnostic purposes when building with debugging enabled
> > and hide them otherwise to not spam the kernel log with them.
> > 
> > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > ---
> >  drivers/pci/controller/dwc/pcie-tegra194.c | 42 ++++++++++++++++++----
> >  1 file changed, 35 insertions(+), 7 deletions(-)
> 
> Hi Thierry,
> 
> what tree/branch is it based on ? I assume it may depend on some
> patches queued in one of my branches so please let me know and
> I will apply accordingly.

Hi Lorenzo,

This should apply on top of commit 5b645b7fade9 ("PCI: tegra: Add
support for PCIe endpoint mode in Tegra194") which is currently in
linux-next.

Looking at your "pci" tree, that commit seems to be in a branch
called pci/endpoint, though the equivalent commit there has a slightly
different SHA:

    f4746b0ccef9 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194")

git range-diff shows that the only difference is that in the patch in
linux-next there are a couple of additional exported symbols that are
not in your pci/endpoint branch. That shouldn't be relevant, though,
since this patch touches another area of the code, so applying this to
your pci/endpoint branch should work.

Thierry

> > diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> > index 97d3f3db1020..e4870fa6ce9c 100644
> > --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> > +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> > @@ -1159,17 +1159,31 @@ 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)) {
> > -		dev_err(pcie->dev, "Failed to get PERST GPIO: %ld\n",
> > -			PTR_ERR(pcie->pex_rst_gpiod));
> > -		return PTR_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;
> >  	}
> >  
> >  	pcie->pex_refclk_sel_gpiod = devm_gpiod_get(pcie->dev,
> >  						    "nvidia,refclk-select",
> >  						    GPIOD_OUT_HIGH);
> >  	if (IS_ERR(pcie->pex_refclk_sel_gpiod)) {
> > -		dev_info(pcie->dev, "Failed to get REFCLK select GPIOs: %ld\n",
> > -			 PTR_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;
> >  	}
> >  
> > @@ -2058,13 +2072,27 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
> >  
> >  	ret = tegra_pcie_dw_parse_dt(pcie);
> >  	if (ret < 0) {
> > -		dev_err(dev, "Failed to parse device tree: %d\n", ret);
> > +		const char *level = KERN_ERR;
> > +
> > +		if (ret == -EPROBE_DEFER)
> > +			level = KERN_DEBUG;
> > +
> > +		dev_printk(level, dev,
> > +			   dev_fmt("Failed to parse device tree: %d\n"),
> > +			   ret);
> >  		return ret;
> >  	}
> >  
> >  	ret = tegra_pcie_get_slot_regulators(pcie);
> >  	if (ret < 0) {
> > -		dev_err(dev, "Failed to get slot regulators: %d\n", ret);
> > +		const char *level = KERN_ERR;
> > +
> > +		if (ret == -EPROBE_DEFER)
> > +			level = KERN_DEBUG;
> > +
> > +		dev_printk(level, dev,
> > +			   dev_fmt("Failed to get slot regulators: %d\n"),
> > +			   ret);
> >  		return ret;
> >  	}
> >  
> > -- 
> > 2.24.1
> > 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level
  2020-03-23 13:34   ` Thierry Reding
@ 2020-03-23 17:21     ` Lorenzo Pieralisi
  0 siblings, 0 replies; 5+ messages in thread
From: Lorenzo Pieralisi @ 2020-03-23 17:21 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Andrew Murray, Bjorn Helgaas, Jon Hunter, Vidya Sagar, linux-pci,
	linux-tegra

On Mon, Mar 23, 2020 at 02:34:56PM +0100, Thierry Reding wrote:
> On Thu, Mar 19, 2020 at 06:05:30PM +0000, Lorenzo Pieralisi wrote:
> > On Thu, Mar 19, 2020 at 02:12:30PM +0100, Thierry Reding wrote:
> > > From: Thierry Reding <treding@nvidia.com>
> > > 
> > > Probe deferral is an expected error condition that will usually be
> > > recovered from. Print such error messages at debug level to make them
> > > available for diagnostic purposes when building with debugging enabled
> > > and hide them otherwise to not spam the kernel log with them.
> > > 
> > > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > > ---
> > >  drivers/pci/controller/dwc/pcie-tegra194.c | 42 ++++++++++++++++++----
> > >  1 file changed, 35 insertions(+), 7 deletions(-)
> > 
> > Hi Thierry,
> > 
> > what tree/branch is it based on ? I assume it may depend on some
> > patches queued in one of my branches so please let me know and
> > I will apply accordingly.
> 
> Hi Lorenzo,
> 
> This should apply on top of commit 5b645b7fade9 ("PCI: tegra: Add
> support for PCIe endpoint mode in Tegra194") which is currently in
> linux-next.
> 
> Looking at your "pci" tree, that commit seems to be in a branch
> called pci/endpoint, though the equivalent commit there has a slightly
> different SHA:
> 
>     f4746b0ccef9 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194")
> 
> git range-diff shows that the only difference is that in the patch in
> linux-next there are a couple of additional exported symbols that are
> not in your pci/endpoint branch. That shouldn't be relevant, though,
> since this patch touches another area of the code, so applying this to
> your pci/endpoint branch should work.

Applied to pci/endpoint, thanks !

Lorenzo

> Thierry
> 
> > > diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> > > index 97d3f3db1020..e4870fa6ce9c 100644
> > > --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> > > +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> > > @@ -1159,17 +1159,31 @@ 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)) {
> > > -		dev_err(pcie->dev, "Failed to get PERST GPIO: %ld\n",
> > > -			PTR_ERR(pcie->pex_rst_gpiod));
> > > -		return PTR_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;
> > >  	}
> > >  
> > >  	pcie->pex_refclk_sel_gpiod = devm_gpiod_get(pcie->dev,
> > >  						    "nvidia,refclk-select",
> > >  						    GPIOD_OUT_HIGH);
> > >  	if (IS_ERR(pcie->pex_refclk_sel_gpiod)) {
> > > -		dev_info(pcie->dev, "Failed to get REFCLK select GPIOs: %ld\n",
> > > -			 PTR_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;
> > >  	}
> > >  
> > > @@ -2058,13 +2072,27 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
> > >  
> > >  	ret = tegra_pcie_dw_parse_dt(pcie);
> > >  	if (ret < 0) {
> > > -		dev_err(dev, "Failed to parse device tree: %d\n", ret);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (ret == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, dev,
> > > +			   dev_fmt("Failed to parse device tree: %d\n"),
> > > +			   ret);
> > >  		return ret;
> > >  	}
> > >  
> > >  	ret = tegra_pcie_get_slot_regulators(pcie);
> > >  	if (ret < 0) {
> > > -		dev_err(dev, "Failed to get slot regulators: %d\n", ret);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (ret == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, dev,
> > > +			   dev_fmt("Failed to get slot regulators: %d\n"),
> > > +			   ret);
> > >  		return ret;
> > >  	}
> > >  
> > > -- 
> > > 2.24.1
> > > 



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-03-23 17:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-19 13:12 [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level Thierry Reding
2020-03-19 17:04 ` Vidya Sagar
2020-03-19 18:05 ` Lorenzo Pieralisi
2020-03-23 13:34   ` Thierry Reding
2020-03-23 17:21     ` Lorenzo Pieralisi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).