Re: [PATCH v6 31/57] pci: Remove dev_err() usage after platform_get_irq()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[+cc Lorenzo, maintainer of native host bridge drivers]
[+cc maintainers of drivers with additional questions below]

Please run "git log --oneline drivers/pci/controller" and match the
style, e.g.,

  PCI: Remove dev_err() usage after platform_get_irq()

On Tue, Jul 30, 2019 at 11:15:31AM -0700, Stephen Boyd wrote:
> We don't need dev_err() messages when platform_get_irq() fails now that
> platform_get_irq() prints an error message itself when something goes
> wrong. Let's remove these prints with a simple semantic patch.

Lorenzo will take care of this, but it looks good to me.

I *would* like to include the reference for the commit that added the
error message in platform_get_irq() (or maybe it's in something
*called* by platform_get_irq() -- I didn't bother to dig deeper).  But
folks might care about making sure that message is there before
back-porting this patch.

There are a few comments below, but they don't affect *this* patch;
they're incidental comments for things in the context lines that look
wrong.

So, after fixing the subject and adding the commit reference, you can
add my

Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

> // <smpl>
> @@
> expression ret;
> struct platform_device *E;
> @@
> 
> ret =
> (
> platform_get_irq(E, ...)
> |
> platform_get_irq_byname(E, ...)
> );
> 
> if ( \( ret < 0 \| ret <= 0 \) )
> {
> (
> -if (ret != -EPROBE_DEFER)
> -{ ...
> -dev_err(...);
> -... }
> |
> ...
> -dev_err(...);
> )
> ...
> }
> // </smpl>
> 
> While we're here, remove braces on if statements that only have one
> statement (manually).
> 
> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Cc: linux-pci@xxxxxxxxxxxxxxx
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
> 
> Please apply directly to subsystem trees
> 
>  drivers/pci/controller/dwc/pci-dra7xx.c     |  8 ++------
>  drivers/pci/controller/dwc/pci-exynos.c     |  8 ++------
>  drivers/pci/controller/dwc/pci-imx6.c       |  4 +---
>  drivers/pci/controller/dwc/pci-keystone.c   |  4 +---
>  drivers/pci/controller/dwc/pci-meson.c      |  4 +---
>  drivers/pci/controller/dwc/pcie-armada8k.c  |  4 +---
>  drivers/pci/controller/dwc/pcie-artpec6.c   |  4 +---
>  drivers/pci/controller/dwc/pcie-histb.c     |  4 +---
>  drivers/pci/controller/dwc/pcie-kirin.c     |  5 +----
>  drivers/pci/controller/dwc/pcie-spear13xx.c |  4 +---
>  drivers/pci/controller/pci-tegra.c          |  8 ++------
>  drivers/pci/controller/pci-v3-semi.c        |  4 +---
>  drivers/pci/controller/pci-xgene-msi.c      |  2 --
>  drivers/pci/controller/pcie-altera-msi.c    |  1 -
>  drivers/pci/controller/pcie-altera.c        |  4 +---
>  drivers/pci/controller/pcie-mobiveil.c      |  4 +---
>  drivers/pci/controller/pcie-rockchip-host.c | 12 +++---------
>  drivers/pci/controller/pcie-tango.c         |  4 +---
>  drivers/pci/controller/pcie-xilinx-nwl.c    | 11 ++---------
>  19 files changed, 23 insertions(+), 76 deletions(-)
> 
> diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c
> index 4234ddb4722f..5ab34ce963f1 100644
> --- a/drivers/pci/controller/dwc/pci-dra7xx.c
> +++ b/drivers/pci/controller/dwc/pci-dra7xx.c
> @@ -462,10 +462,8 @@ static int __init dra7xx_add_pcie_port(struct dra7xx_pcie *dra7xx,
>  	struct resource *res;
>  
>  	pp->irq = platform_get_irq(pdev, 1);
> -	if (pp->irq < 0) {
> -		dev_err(dev, "missing IRQ resource\n");
> +	if (pp->irq < 0)
>  		return pp->irq;
> -	}
>  
>  	ret = devm_request_irq(dev, pp->irq, dra7xx_pcie_msi_irq_handler,
>  			       IRQF_SHARED | IRQF_NO_THREAD,
> @@ -713,10 +711,8 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev)
>  	pci->ops = &dw_pcie_ops;
>  
>  	irq = platform_get_irq(pdev, 0);
> -	if (irq < 0) {
> -		dev_err(dev, "missing IRQ resource: %d\n", irq);
> +	if (irq < 0)
>  		return irq;
> -	}
>  
>  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ti_conf");
>  	base = devm_ioremap_nocache(dev, res->start, resource_size(res));
> diff --git a/drivers/pci/controller/dwc/pci-exynos.c b/drivers/pci/controller/dwc/pci-exynos.c
> index cee5f2f590e2..a3e005b5f93d 100644
> --- a/drivers/pci/controller/dwc/pci-exynos.c
> +++ b/drivers/pci/controller/dwc/pci-exynos.c
> @@ -402,10 +402,8 @@ static int __init exynos_add_pcie_port(struct exynos_pcie *ep,
>  	int ret;
>  
>  	pp->irq = platform_get_irq(pdev, 1);
> -	if (pp->irq < 0) {
> -		dev_err(dev, "failed to get irq\n");
> +	if (pp->irq < 0)
>  		return pp->irq;
> -	}
>  	ret = devm_request_irq(dev, pp->irq, exynos_pcie_irq_handler,
>  				IRQF_SHARED, "exynos-pcie", ep);
>  	if (ret) {
> @@ -415,10 +413,8 @@ static int __init exynos_add_pcie_port(struct exynos_pcie *ep,
>  
>  	if (IS_ENABLED(CONFIG_PCI_MSI)) {
>  		pp->msi_irq = platform_get_irq(pdev, 0);
> -		if (pp->msi_irq < 0) {
> -			dev_err(dev, "failed to get msi irq\n");
> +		if (pp->msi_irq < 0)
>  			return pp->msi_irq;
> -		}
>  	}
>  
>  	pp->ops = &exynos_pcie_host_ops;
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 9b5cb5b70389..a969ec82ca5f 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -867,10 +867,8 @@ static int imx6_add_pcie_port(struct imx6_pcie *imx6_pcie,
>  
>  	if (IS_ENABLED(CONFIG_PCI_MSI)) {
>  		pp->msi_irq = platform_get_irq_byname(pdev, "msi");
> -		if (pp->msi_irq <= 0) {
> -			dev_err(dev, "failed to get MSI irq\n");
> +		if (pp->msi_irq <= 0)
>  			return -ENODEV;

Why does this return -ENODEV when most of the others return the error
from platform_get_irq()?  Obviously *this* patch is fine; the possible
return change is material for a different patch.

> -		}
>  	}
>  
>  	pp->ops = &imx6_pcie_host_ops;
> diff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/controller/dwc/pci-keystone.c
> index af677254a072..3878208cfd44 100644
> --- a/drivers/pci/controller/dwc/pci-keystone.c
> +++ b/drivers/pci/controller/dwc/pci-keystone.c
> @@ -1247,10 +1247,8 @@ static int __init ks_pcie_probe(struct platform_device *pdev)
>  	pci->version = version;
>  
>  	irq = platform_get_irq(pdev, 0);
> -	if (irq < 0) {
> -		dev_err(dev, "missing IRQ resource: %d\n", irq);
> +	if (irq < 0)
>  		return irq;
> -	}
>  
>  	ret = request_irq(irq, ks_pcie_err_irq_handler, IRQF_SHARED,
>  			  "ks-pcie-error-irq", ks_pcie);
> diff --git a/drivers/pci/controller/dwc/pci-meson.c b/drivers/pci/controller/dwc/pci-meson.c
> index e35e9eaa50ee..419c30034dc8 100644
> --- a/drivers/pci/controller/dwc/pci-meson.c
> +++ b/drivers/pci/controller/dwc/pci-meson.c
> @@ -500,10 +500,8 @@ static int meson_add_pcie_port(struct meson_pcie *mp,
>  
>  	if (IS_ENABLED(CONFIG_PCI_MSI)) {
>  		pp->msi_irq = platform_get_irq(pdev, 0);
> -		if (pp->msi_irq < 0) {
> -			dev_err(dev, "failed to get MSI IRQ\n");
> +		if (pp->msi_irq < 0)
>  			return pp->msi_irq;
> -		}
>  	}
>  
>  	pp->ops = &meson_pcie_host_ops;
> diff --git a/drivers/pci/controller/dwc/pcie-armada8k.c b/drivers/pci/controller/dwc/pcie-armada8k.c
> index 3d55dc78d999..33309ce70ad5 100644
> --- a/drivers/pci/controller/dwc/pcie-armada8k.c
> +++ b/drivers/pci/controller/dwc/pcie-armada8k.c
> @@ -249,10 +249,8 @@ static int armada8k_add_pcie_port(struct armada8k_pcie *pcie,
>  	pp->ops = &armada8k_pcie_host_ops;
>  
>  	pp->irq = platform_get_irq(pdev, 0);
> -	if (pp->irq < 0) {
> -		dev_err(dev, "failed to get irq for port\n");
> +	if (pp->irq < 0)
>  		return pp->irq;
> -	}
>  
>  	ret = devm_request_irq(dev, pp->irq, armada8k_pcie_irq_handler,
>  			       IRQF_SHARED, "armada8k-pcie", pcie);
> diff --git a/drivers/pci/controller/dwc/pcie-artpec6.c b/drivers/pci/controller/dwc/pcie-artpec6.c
> index d00252bd8fae..7fa7f8d134b6 100644
> --- a/drivers/pci/controller/dwc/pcie-artpec6.c
> +++ b/drivers/pci/controller/dwc/pcie-artpec6.c
> @@ -393,10 +393,8 @@ static int artpec6_add_pcie_port(struct artpec6_pcie *artpec6_pcie,
>  
>  	if (IS_ENABLED(CONFIG_PCI_MSI)) {
>  		pp->msi_irq = platform_get_irq_byname(pdev, "msi");
> -		if (pp->msi_irq < 0) {
> -			dev_err(dev, "failed to get MSI irq\n");
> +		if (pp->msi_irq < 0)
>  			return pp->msi_irq;
> -		}
>  	}
>  
>  	pp->ops = &artpec6_pcie_host_ops;
> diff --git a/drivers/pci/controller/dwc/pcie-histb.c b/drivers/pci/controller/dwc/pcie-histb.c
> index 954bc2b74bbc..6612072bd720 100644
> --- a/drivers/pci/controller/dwc/pcie-histb.c
> +++ b/drivers/pci/controller/dwc/pcie-histb.c
> @@ -402,10 +402,8 @@ static int histb_pcie_probe(struct platform_device *pdev)
>  
>  	if (IS_ENABLED(CONFIG_PCI_MSI)) {
>  		pp->msi_irq = platform_get_irq_byname(pdev, "msi");
> -		if (pp->msi_irq < 0) {
> -			dev_err(dev, "Failed to get MSI IRQ\n");
> +		if (pp->msi_irq < 0)
>  			return pp->msi_irq;
> -		}
>  	}
>  
>  	hipcie->phy = devm_phy_get(dev, "phy");
> diff --git a/drivers/pci/controller/dwc/pcie-kirin.c b/drivers/pci/controller/dwc/pcie-kirin.c
> index 8df1914226be..dc08551e3f8d 100644
> --- a/drivers/pci/controller/dwc/pcie-kirin.c
> +++ b/drivers/pci/controller/dwc/pcie-kirin.c
> @@ -455,11 +455,8 @@ static int kirin_pcie_add_msi(struct dw_pcie *pci,
>  
>  	if (IS_ENABLED(CONFIG_PCI_MSI)) {
>  		irq = platform_get_irq(pdev, 0);
> -		if (irq < 0) {
> -			dev_err(&pdev->dev,
> -				"failed to get MSI IRQ (%d)\n", irq);
> +		if (irq < 0)
>  			return irq;
> -		}
>  
>  		pci->pp.msi_irq = irq;
>  	}
> diff --git a/drivers/pci/controller/dwc/pcie-spear13xx.c b/drivers/pci/controller/dwc/pcie-spear13xx.c
> index 7d0cdfd8138b..26d3a734ce0d 100644
> --- a/drivers/pci/controller/dwc/pcie-spear13xx.c
> +++ b/drivers/pci/controller/dwc/pcie-spear13xx.c
> @@ -198,10 +198,8 @@ static int spear13xx_add_pcie_port(struct spear13xx_pcie *spear13xx_pcie,
>  	int ret;
>  
>  	pp->irq = platform_get_irq(pdev, 0);
> -	if (pp->irq < 0) {
> -		dev_err(dev, "failed to get irq\n");
> +	if (pp->irq < 0)
>  		return pp->irq;
> -	}
>  	ret = devm_request_irq(dev, pp->irq, spear13xx_pcie_irq_handler,
>  			       IRQF_SHARED | IRQF_NO_THREAD,
>  			       "spear1340-pcie", spear13xx_pcie);
> diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c
> index 9a917b2456f6..43b6e0848b91 100644
> --- a/drivers/pci/controller/pci-tegra.c
> +++ b/drivers/pci/controller/pci-tegra.c
> @@ -1549,10 +1549,8 @@ static int tegra_pcie_get_resources(struct tegra_pcie *pcie)
>  
>  	/* request interrupt */
>  	err = platform_get_irq_byname(pdev, "intr");
> -	if (err < 0) {
> -		dev_err(dev, "failed to get IRQ: %d\n", err);
> +	if (err < 0)
>  		goto phys_put;
> -	}
>  
>  	pcie->irq = err;
>  
> @@ -1767,10 +1765,8 @@ static int tegra_pcie_msi_setup(struct tegra_pcie *pcie)
>  	}
>  
>  	err = platform_get_irq_byname(pdev, "msi");
> -	if (err < 0) {
> -		dev_err(dev, "failed to get IRQ: %d\n", err);
> +	if (err < 0)
>  		goto free_irq_domain;
> -	}
>  
>  	msi->irq = err;
>  
> diff --git a/drivers/pci/controller/pci-v3-semi.c b/drivers/pci/controller/pci-v3-semi.c
> index d219404bad92..7c9d898cde71 100644
> --- a/drivers/pci/controller/pci-v3-semi.c
> +++ b/drivers/pci/controller/pci-v3-semi.c
> @@ -804,10 +804,8 @@ static int v3_pci_probe(struct platform_device *pdev)
>  
>  	/* Get and request error IRQ resource */
>  	irq = platform_get_irq(pdev, 0);
> -	if (irq <= 0) {
> -		dev_err(dev, "unable to obtain PCIv3 error IRQ\n");
> +	if (irq <= 0)

Why does this test for <= 0 when all the others test for < 0?  Again,
obviously that would be material for a separate patch.

>  		return -ENODEV;
> -	}
>  	ret = devm_request_irq(dev, irq, v3_irq, 0,
>  			"PCIv3 error", v3);
>  	if (ret < 0) {
> diff --git a/drivers/pci/controller/pci-xgene-msi.c b/drivers/pci/controller/pci-xgene-msi.c
> index f4c02da84e59..02271c6d17a1 100644
> --- a/drivers/pci/controller/pci-xgene-msi.c
> +++ b/drivers/pci/controller/pci-xgene-msi.c
> @@ -478,8 +478,6 @@ static int xgene_msi_probe(struct platform_device *pdev)
>  	for (irq_index = 0; irq_index < NR_HW_IRQS; irq_index++) {
>  		virt_msir = platform_get_irq(pdev, irq_index);
>  		if (virt_msir < 0) {
> -			dev_err(&pdev->dev, "Cannot translate IRQ index %d\n",
> -				irq_index);
>  			rc = virt_msir;
>  			goto error;
>  		}
> diff --git a/drivers/pci/controller/pcie-altera-msi.c b/drivers/pci/controller/pcie-altera-msi.c
> index 16d938920ca5..bec666eda1eb 100644
> --- a/drivers/pci/controller/pcie-altera-msi.c
> +++ b/drivers/pci/controller/pcie-altera-msi.c
> @@ -256,7 +256,6 @@ static int altera_msi_probe(struct platform_device *pdev)
>  
>  	msi->irq = platform_get_irq(pdev, 0);
>  	if (msi->irq < 0) {
> -		dev_err(&pdev->dev, "failed to map IRQ: %d\n", msi->irq);
>  		ret = msi->irq;
>  		goto err;
>  	}
> diff --git a/drivers/pci/controller/pcie-altera.c b/drivers/pci/controller/pcie-altera.c
> index d2497ca43828..0ef01b06efda 100644
> --- a/drivers/pci/controller/pcie-altera.c
> +++ b/drivers/pci/controller/pcie-altera.c
> @@ -747,10 +747,8 @@ static int altera_pcie_parse_dt(struct altera_pcie *pcie)
>  
>  	/* setup IRQ */
>  	pcie->irq = platform_get_irq(pdev, 0);
> -	if (pcie->irq < 0) {
> -		dev_err(dev, "failed to get IRQ: %d\n", pcie->irq);
> +	if (pcie->irq < 0)
>  		return pcie->irq;
> -	}
>  
>  	irq_set_chained_handler_and_data(pcie->irq, altera_pcie_isr, pcie);
>  	return 0;
> diff --git a/drivers/pci/controller/pcie-mobiveil.c b/drivers/pci/controller/pcie-mobiveil.c
> index 672e633601c7..34400ea5a7c3 100644
> --- a/drivers/pci/controller/pcie-mobiveil.c
> +++ b/drivers/pci/controller/pcie-mobiveil.c
> @@ -453,10 +453,8 @@ static int mobiveil_pcie_parse_dt(struct mobiveil_pcie *pcie)
>  		pcie->ppio_wins = MAX_PIO_WINDOWS;
>  
>  	pcie->irq = platform_get_irq(pdev, 0);
> -	if (pcie->irq <= 0) {
> -		dev_err(dev, "failed to map IRQ: %d\n", pcie->irq);
> +	if (pcie->irq <= 0)
>  		return -ENODEV;

Why -ENODEV instead of the failure returned by platform_get_irq()?
And why <= 0 instead of < 0?

> -	}
>  
>  	return 0;
>  }
> diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/controller/pcie-rockchip-host.c
> index 8d20f1793a61..edbf872a76d5 100644
> --- a/drivers/pci/controller/pcie-rockchip-host.c
> +++ b/drivers/pci/controller/pcie-rockchip-host.c
> @@ -549,10 +549,8 @@ static int rockchip_pcie_setup_irq(struct rockchip_pcie *rockchip)
>  	struct platform_device *pdev = to_platform_device(dev);
>  
>  	irq = platform_get_irq_byname(pdev, "sys");
> -	if (irq < 0) {
> -		dev_err(dev, "missing sys IRQ resource\n");
> +	if (irq < 0)
>  		return irq;
> -	}
>  
>  	err = devm_request_irq(dev, irq, rockchip_pcie_subsys_irq_handler,
>  			       IRQF_SHARED, "pcie-sys", rockchip);
> @@ -562,20 +560,16 @@ static int rockchip_pcie_setup_irq(struct rockchip_pcie *rockchip)
>  	}
>  
>  	irq = platform_get_irq_byname(pdev, "legacy");
> -	if (irq < 0) {
> -		dev_err(dev, "missing legacy IRQ resource\n");
> +	if (irq < 0)
>  		return irq;
> -	}
>  
>  	irq_set_chained_handler_and_data(irq,
>  					 rockchip_pcie_legacy_int_handler,
>  					 rockchip);
>  
>  	irq = platform_get_irq_byname(pdev, "client");
> -	if (irq < 0) {
> -		dev_err(dev, "missing client IRQ resource\n");
> +	if (irq < 0)
>  		return irq;
> -	}
>  
>  	err = devm_request_irq(dev, irq, rockchip_pcie_client_irq_handler,
>  			       IRQF_SHARED, "pcie-client", rockchip);
> diff --git a/drivers/pci/controller/pcie-tango.c b/drivers/pci/controller/pcie-tango.c
> index 21a208da3f59..b87aa9041480 100644
> --- a/drivers/pci/controller/pcie-tango.c
> +++ b/drivers/pci/controller/pcie-tango.c
> @@ -273,10 +273,8 @@ static int tango_pcie_probe(struct platform_device *pdev)
>  		writel_relaxed(0, pcie->base + SMP8759_ENABLE + offset);
>  
>  	virq = platform_get_irq(pdev, 1);
> -	if (virq <= 0) {
> -		dev_err(dev, "Failed to map IRQ\n");
> +	if (virq <= 0)
>  		return -ENXIO;

Why <= 0 and -ENXIO?

> -	}
>  
>  	irq_dom = irq_domain_create_linear(fwnode, MSI_MAX, &dom_ops, pcie);
>  	if (!irq_dom) {
> diff --git a/drivers/pci/controller/pcie-xilinx-nwl.c b/drivers/pci/controller/pcie-xilinx-nwl.c
> index 45c0f344ccd1..743244db09d1 100644
> --- a/drivers/pci/controller/pcie-xilinx-nwl.c
> +++ b/drivers/pci/controller/pcie-xilinx-nwl.c
> @@ -586,7 +586,6 @@ static int nwl_pcie_enable_msi(struct nwl_pcie *pcie)
>  	/* Get msi_1 IRQ number */
>  	msi->irq_msi1 = platform_get_irq_byname(pdev, "msi1");
>  	if (msi->irq_msi1 < 0) {
> -		dev_err(dev, "failed to get IRQ#%d\n", msi->irq_msi1);
>  		ret = -EINVAL;

Why -EINVAL instead of error from platform_get_irq_byname()?

>  		goto err;
>  	}
> @@ -597,7 +596,6 @@ static int nwl_pcie_enable_msi(struct nwl_pcie *pcie)
>  	/* Get msi_0 IRQ number */
>  	msi->irq_msi0 = platform_get_irq_byname(pdev, "msi0");
>  	if (msi->irq_msi0 < 0) {
> -		dev_err(dev, "failed to get IRQ#%d\n", msi->irq_msi0);
>  		ret = -EINVAL;

Again.

>  		goto err;
>  	}
> @@ -728,11 +726,8 @@ static int nwl_pcie_bridge_init(struct nwl_pcie *pcie)
>  
>  	/* Get misc IRQ number */
>  	pcie->irq_misc = platform_get_irq_byname(pdev, "misc");
> -	if (pcie->irq_misc < 0) {
> -		dev_err(dev, "failed to get misc IRQ %d\n",
> -			pcie->irq_misc);
> +	if (pcie->irq_misc < 0)
>  		return -EINVAL;

Again.

> -	}
>  
>  	err = devm_request_irq(dev, pcie->irq_misc,
>  			       nwl_pcie_misc_handler, IRQF_SHARED,
> @@ -797,10 +792,8 @@ static int nwl_pcie_parse_dt(struct nwl_pcie *pcie,
>  
>  	/* Get intx IRQ number */
>  	pcie->irq_intx = platform_get_irq_byname(pdev, "intx");
> -	if (pcie->irq_intx < 0) {
> -		dev_err(dev, "failed to get intx IRQ %d\n", pcie->irq_intx);
> +	if (pcie->irq_intx < 0)
>  		return pcie->irq_intx;
> -	}
>  
>  	irq_set_chained_handler_and_data(pcie->irq_intx,
>  					 nwl_pcie_leg_handler, pcie);
> -- 
> Sent by a computer through tubes
> 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux