[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190730215626.GA151852@google.com>
Date: Tue, 30 Jul 2019 16:56:26 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Stephen Boyd <swboyd@...omium.org>
Cc: linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Richard Zhu <hongxing.zhu@....com>,
Lucas Stach <l.stach@...gutronix.de>,
Linus Walleij <linus.walleij@...aro.org>,
Karthikeyan Mitran <m.karthikeyan@...iveil.co.in>,
Hou Zhiqiang <Zhiqiang.Hou@....com>,
Marc Gonzalez <marc.w.gonzalez@...e.fr>,
Mans Rullgard <mans@...sr.com>,
Michal Simek <michal.simek@...inx.com>
Subject: Re: [PATCH v6 31/57] pci: Remove dev_err() usage after
platform_get_irq()
[+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@...gle.com>
> // <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@...gle.com>
> Cc: linux-pci@...r.kernel.org
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Signed-off-by: Stephen Boyd <swboyd@...omium.org>
> ---
>
> 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
>
Powered by blists - more mailing lists