Skip to contentSkip to conversation

Remove surplus dev_err() when handing an error from platform_get_irq()

PATCH In review Krzysztof Wilczyński 4 participants 16 messages Aug 2, 2020 – Aug 3, 2020

Subsystems (25)
lore
Share & tools
lore
#0 lore raw

cover Remove surplus dev_err() when handing an error from platform_get_irq()

At the moment a lot of error handling code would print a duplicated error message should either the platform_get_irq() or platform_get_irq_byname() function fails to obtain an IRQ for a device.

There is no need to call the dev_err() function directly to print a custom message when handling an error from either of these functions as both are going to display an appropriate error message in case of a failure.

This series aims to remove surplus call to dev_err() when handing an error originating from either platform_get_irq() or platform_get_irq_byname() function as per suggestion from Coccinelle.

Related commits are commit 7723f4c5ecdb ("driver core: platform: Add an error message to platform_get_irq*()") and commit 98051ba2b28b ("coccinelle: Add script to check for platform_get_irq() excessive prints").

Krzysztof Wilczyński (10):
PCI: dwc: Remove dev_err() when handing an error from
platform_get_irq()
PCI: mobiveil: Remove dev_err() when handing an error from
platform_get_irq()
PCI: tegra: Remove dev_err() when handing an error from
platform_get_irq()
PCI: altera: Remove dev_err() when handing an error from
platform_get_irq()
PCI: host-generic: Remove dev_err() when handing an error from
platform_get_irq()
PCI: v3-semi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: altera-msi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: xgene-msi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: rockchip: Remove dev_err() when handing an error from
platform_get_irq()
PCI: xilinx-nwl: Remove dev_err() when handing an error from
platform_get_irq()

 drivers/pci/controller/dwc/pci-dra7xx.c              |  8 ++------
 drivers/pci/controller/dwc/pci-exynos.c              |  9 +++------
 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          |  5 ++---
 drivers/pci/controller/dwc/pcie-tegra194.c           |  4 +---
 .../pci/controller/mobiveil/pcie-layerscape-gen4.c   |  5 ++---
 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c |  4 +---
 drivers/pci/controller/pci-tegra.c                   |  8 ++------
 drivers/pci/controller/pci-v3-semi.c                 |  5 ++---
 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-rockchip-host.c          | 12 +++---------
 drivers/pci/controller/pcie-tango.c                  |  4 +---
 drivers/pci/controller/pcie-xilinx-nwl.c             | 11 ++---------
 21 files changed, 29 insertions(+), 82 deletions(-)
Signature · 1 line
2.27.0
#1 lore raw

PATCH 1/10 PCI: dwc: Remove dev_err() when handing an error from platform_get_irq()

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/dwc/pcie-armada8k.c:252:2-9: line 252 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-kirin.c:459:3-10: line 459 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-imx6.c:872:3-10: line 872 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-artpec6.c:391:3-10: line 391 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-spear13xx.c:202:2-9: line 202 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-keystone.c:1254:2-9: line 1254 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-exynos.c:406:2-9: line 406 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-exynos.c:419:3-10: line 419 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-tegra194.c:2193:2-9: line 2193 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-histb.c:406:3-10: line 406 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-meson.c:492:3-10: line 492 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-dra7xx.c:633:2-9: line 633 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-dra7xx.c:875:2-9: line 875 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/dwc/pci-dra7xx.c     | 8 ++------
 drivers/pci/controller/dwc/pci-exynos.c     | 9 +++------
 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 | 5 ++---
 drivers/pci/controller/dwc/pcie-tegra194.c  | 4 +---
 11 files changed, 15 insertions(+), 40 deletions(-)
drivers/pci/controller/dwc/pci-dra7xx.c +2 -6
index 6184ebc9392d..66465dd69858 100644
@@ -629,10 +629,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 = dra7xx_pcie_init_irq_domain(pp);
 	if (ret < 0)
@@ -871,10 +869,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;
-	}
 
 	base = devm_platform_ioremap_resource_byname(pdev, "ti_conf");
 	if (IS_ERR(base))
drivers/pci/controller/dwc/pci-exynos.c +3 -6
index c5043d951e80..f721fddc521e 100644
@@ -402,10 +402,9 @@ 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 +414,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;
drivers/pci/controller/dwc/pci-imx6.c +1 -3
index 8f08ae53f53e..aba0a1514a86 100644
@@ -868,10 +868,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 pp->msi_irq;
-		}
 	}
 
 	pp->ops = &imx6_pcie_host_ops;
drivers/pci/controller/dwc/pci-keystone.c +1 -3
index 790679fdfa48..99df9aeece1f 100644
@@ -1250,10 +1250,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);
drivers/pci/controller/dwc/pci-meson.c +1 -3
index ca59ba9e0ecd..4f183b96afbb 100644
@@ -488,10 +488,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;
drivers/pci/controller/dwc/pcie-armada8k.c +1 -3
index 49596547e8c2..66ec21cd9487 100644
@@ -248,10 +248,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);
drivers/pci/controller/dwc/pcie-artpec6.c +1 -3
index 28d5a1095200..d429bd2b2406 100644
@@ -387,10 +387,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;
drivers/pci/controller/dwc/pcie-histb.c +1 -3
index 811b5c6d62ea..006437eadc31 100644
@@ -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");
drivers/pci/controller/dwc/pcie-kirin.c +1 -4
index c19617a912bd..2e0181ce6895 100644
@@ -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;
 	}
drivers/pci/controller/dwc/pcie-spear13xx.c +2 -3
index 7d0cdfd8138b..ad5d08d19926 100644
@@ -198,10 +198,9 @@ 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);
drivers/pci/controller/dwc/pcie-tegra194.c +1 -3
index 92b77f7d8354..70498689d0c0 100644
@@ -2189,10 +2189,8 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
 	}
 
 	pp->irq = platform_get_irq_byname(pdev, "intr");
-	if (pp->irq < 0) {
-		dev_err(dev, "Failed to get \"intr\" interrupt\n");
+	if (pp->irq < 0)
 		return pp->irq;
-	}
 
 	pcie->bpmp = tegra_bpmp_get(dev);
 	if (IS_ERR(pcie->bpmp))
Signature · 1 line
2.27.0
maintainer Acked-by on v1 1/10
#2 lore raw

Re: [PATCH 01/10] PCI: dwc: Remove dev_err() when handing an error from platform_get_irq()

Quoted 40 lines · Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/dwc/pcie-armada8k.c:252:2-9: line 252 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-kirin.c:459:3-10: line 459 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-imx6.c:872:3-10: line 872 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-artpec6.c:391:3-10: line 391 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-spear13xx.c:202:2-9: line 202 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-keystone.c:1254:2-9: line 1254 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-exynos.c:406:2-9: line 406 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-exynos.c:419:3-10: line 419 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-tegra194.c:2193:2-9: line 2193 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pcie-histb.c:406:3-10: line 406 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-meson.c:492:3-10: line 492 is redundant because platform_get_irq() already prints an error

Quoted 8 lines

drivers/pci/controller/dwc/pci-dra7xx.c:633:2-9: line 633 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/dwc/pci-dra7xx.c:875:2-9: line 875 is redundant because platform_get_irq() already prints an error

Looks good,

/^JN - Jesper Nilsson

Signature · 1 line
               Jesper Nilsson -- [email protected]
#3 lore raw

PATCH 2/10 PCI: mobiveil: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c:174:2-9: line 174 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:526:2-9: line 526 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c | 5 ++---
 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c   | 4 +---
 2 files changed, 3 insertions(+), 6 deletions(-)
drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c +2 -3
index a6d2190a6753..ee0156921ebc 100644
@@ -170,10 +170,9 @@ static int ls_pcie_g4_interrupt_init(struct mobiveil_pcie *mv_pci)
 	int ret;
 
 	pcie->irq = platform_get_irq_byname(pdev, "intr");
-	if (pcie->irq < 0) {
-		dev_err(dev, "Can't get 'intr' IRQ, errno = %d\n", pcie->irq);
+	if (pcie->irq < 0)
 		return pcie->irq;
-	}
+
 	ret = devm_request_irq(dev, pcie->irq, ls_pcie_g4_isr,
 			       IRQF_SHARED, pdev->name, pcie);
 	if (ret) {
drivers/pci/controller/mobiveil/pcie-mobiveil-host.c +1 -3
index 5907baa9b1f2..fa321fcdd4bc 100644
@@ -522,10 +522,8 @@ static int mobiveil_pcie_integrated_interrupt_init(struct mobiveil_pcie *pcie)
 	mobiveil_pcie_enable_msi(pcie);
 
 	rp->irq = platform_get_irq(pdev, 0);
-	if (rp->irq < 0) {
-		dev_err(dev, "failed to map IRQ: %d\n", rp->irq);
+	if (rp->irq < 0)
 		return rp->irq;
-	}
 
 	/* initialize the IRQ domains */
 	ret = mobiveil_pcie_init_irq_domain(pcie);
Signature · 1 line
2.27.0
#4 lore raw

PATCH 3/10 PCI: tegra: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pci-tegra.c:1524:2-9: line 1524 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/pci-tegra.c:1742:2-9: line 1742 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/pci-tegra.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
drivers/pci/controller/pci-tegra.c +2 -6
index 235b456698fc..b11397475a4d 100644
@@ -1520,10 +1520,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;
 
@@ -1738,10 +1736,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;
 
Signature · 1 line
2.27.0
#5 lore raw

PATCH 4/10 PCI: altera: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pcie-altera.c:717:2-9: line 717 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/pcie-altera.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/pci/controller/pcie-altera.c +1 -3
index 24cb1c331058..f6d73d282230 100644
@@ -713,10 +713,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;
Signature · 1 line
2.27.0
Reviewed-by on v1 4/10
#6 lore raw

RE: [PATCH 04/10] PCI: altera: Remove dev_err() when handing an error from platform_get_irq()

Quoted 32 lines

-----Original Message-----
From: Krzysztof Wilczyński <[email protected]>
Sent: Sunday, August 2, 2020 10:26 PM
To: Bjorn Helgaas <[email protected]>
Cc: Jingoo Han <[email protected]>; Kukjin Kim <[email protected]>; Krzysztof Kozlowski <[email protected]>; Richard Zhu <[email protected]>; Lucas Stach <[email protected]>; Shawn Guo <[email protected]>; Sascha Hauer <[email protected]>; Murali Karicheri <[email protected]>; Yue Wang <[email protected]>; Kevin Hilman <[email protected]>; Thomas Petazzoni <[email protected]>; Jesper Nilsson <[email protected]>; Xiaowei Song <[email protected]>; Binghui Wang <[email protected]>; Pratyush Anand <[email protected]>; Hou Zhiqiang <[email protected]>; Linus Walleij <[email protected]>; Toan Le <[email protected]>; Tan, Ley Foon <[email protected]>; Shawn Lin <[email protected]>; Heiko Stuebner <[email protected]>; [email protected]; linux-arm- [email protected]; [email protected]; linux- [email protected]; [email protected]; linux- [email protected]; [email protected]; linux- [email protected]; [email protected]
Subject: [PATCH 04/10] PCI: altera: Remove dev_err() when handing an error from platform_get_irq()

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

Quoted 8 lines

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pcie-altera.c:717:2-9: line 717 is redundant because platform_get_irq() already prints an error

---

#7 lore raw

PATCH 5/10 PCI: host-generic: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pcie-tango.c:277:2-9: line 277 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/pcie-tango.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/pci/controller/pcie-tango.c +1 -3
index 8f640c70f936..d093a8ce4bb1 100644
@@ -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 virq;
-	}
 
 	irq_dom = irq_domain_create_linear(fwnode, MSI_MAX, &dom_ops, pcie);
 	if (!irq_dom) {
Signature · 1 line
2.27.0
#8 lore raw

PATCH 6/10 PCI: v3-semi: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pci-v3-semi.c:781:2-9: line 781 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/pci-v3-semi.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/pci/controller/pci-v3-semi.c +2 -3
index 3681e5af3878..2a19f2a98945 100644
@@ -777,10 +777,9 @@ 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)
 		return irq;
-	}
+
 	ret = devm_request_irq(dev, irq, v3_irq, 0,
 			"PCIv3 error", v3);
 	if (ret < 0) {
Signature · 1 line
2.27.0
#9 lore raw

PATCH 7/10 PCI: altera-msi: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pcie-altera-msi.c:259:2-9: line 259 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/pcie-altera-msi.c | 1 -
 1 file changed, 1 deletion(-)
drivers/pci/controller/pcie-altera-msi.c +0 -1
index 16d938920ca5..bec666eda1eb 100644
@@ -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;
 	}
Signature · 1 line
2.27.0
#10 lore raw

PATCH 8/10 PCI: xgene-msi: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pci-xgene-msi.c:481:3-10: line 481 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/pci-xgene-msi.c | 2 --
 1 file changed, 2 deletions(-)
drivers/pci/controller/pci-xgene-msi.c +0 -2
index f4c02da84e59..02271c6d17a1 100644
@@ -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;
 		}
Signature · 1 line
2.27.0
#11 lore raw

PATCH 9/10 PCI: rockchip: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pcie-rockchip-host.c:553:2-9: line 553 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/pcie-rockchip-host.c:566:2-9: line 566 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/pcie-rockchip-host.c:576:2-9: line 576 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/pcie-rockchip-host.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)
drivers/pci/controller/pcie-rockchip-host.c +3 -9
index 94af6f5828a3..eebe05ab354f 100644
@@ -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);
Signature · 1 line
2.27.0
#12 lore raw
In reply to Krzysztof Wilczyński
Quoted 54 lines · Krzysztof Wilczyński

At the moment a lot of error handling code would print a duplicated error message should either the platform_get_irq() or platform_get_irq_byname() function fails to obtain an IRQ for a device.

There is no need to call the dev_err() function directly to print a custom message when handling an error from either of these functions as both are going to display an appropriate error message in case of a failure.

This series aims to remove surplus call to dev_err() when handing an error originating from either platform_get_irq() or platform_get_irq_byname() function as per suggestion from Coccinelle.

Related commits are commit 7723f4c5ecdb ("driver core: platform: Add an error message to platform_get_irq*()") and commit 98051ba2b28b ("coccinelle: Add script to check for platform_get_irq() excessive prints").

Krzysztof Wilczyński (10):
PCI: dwc: Remove dev_err() when handing an error from
platform_get_irq()
PCI: mobiveil: Remove dev_err() when handing an error from
platform_get_irq()
PCI: tegra: Remove dev_err() when handing an error from
platform_get_irq()
PCI: altera: Remove dev_err() when handing an error from
platform_get_irq()
PCI: host-generic: Remove dev_err() when handing an error from
platform_get_irq()
PCI: v3-semi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: altera-msi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: xgene-msi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: rockchip: Remove dev_err() when handing an error from
platform_get_irq()
PCI: xilinx-nwl: Remove dev_err() when handing an error from
platform_get_irq()

 drivers/pci/controller/dwc/pci-dra7xx.c              |  8 ++------
 drivers/pci/controller/dwc/pci-exynos.c              |  9 +++------
 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          |  5 ++---
 drivers/pci/controller/dwc/pcie-tegra194.c           |  4 +---
 .../pci/controller/mobiveil/pcie-layerscape-gen4.c   |  5 ++---
 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c |  4 +---
 drivers/pci/controller/pci-tegra.c                   |  8 ++------
Quoted 8 lines
 drivers/pci/controller/pci-v3-semi.c                 |  5 ++---
 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-rockchip-host.c          | 12 +++---------
 drivers/pci/controller/pcie-tango.c                  |  4 +---
 drivers/pci/controller/pcie-xilinx-nwl.c             | 11 ++---------
 21 files changed, 29 insertions(+), 82 deletions(-)

I squashed these together and applied them to pci/irq-error for v5.9, thanks!

The cover letter claims there should be 10 patches, but I only got 9. Just FYI.

#13 lore raw

On 20-08-02 21:01:51, Bjorn Helgaas wrote:

Hi Bjorn,

[...]

Quoted 3 lines

I squashed these together and applied them to pci/irq-error for v5.9, thanks!

Thank you!

Quoted 2 lines

The cover letter claims there should be 10 patches, but I only got 9. Just FYI.

There indeed should be 10 patches. I sent the missing one (not should why it didn't go through) this morning making sure it falls under the thread with the cover letter.

Sorry about that!

The missing patch can be seen here:
https://patchwork.kernel.org/patch/11697463/

Krzysztof

#14 lore raw
In reply to Bjorn Helgaas
Quoted 64 lines · Bjorn Helgaas
Quoted 54 lines · Krzysztof Wilczyński

At the moment a lot of error handling code would print a duplicated error message should either the platform_get_irq() or platform_get_irq_byname() function fails to obtain an IRQ for a device.

There is no need to call the dev_err() function directly to print a custom message when handling an error from either of these functions as both are going to display an appropriate error message in case of a failure.

This series aims to remove surplus call to dev_err() when handing an error originating from either platform_get_irq() or platform_get_irq_byname() function as per suggestion from Coccinelle.

Related commits are commit 7723f4c5ecdb ("driver core: platform: Add an error message to platform_get_irq*()") and commit 98051ba2b28b ("coccinelle: Add script to check for platform_get_irq() excessive prints").

Krzysztof Wilczyński (10):
PCI: dwc: Remove dev_err() when handing an error from
platform_get_irq()
PCI: mobiveil: Remove dev_err() when handing an error from
platform_get_irq()
PCI: tegra: Remove dev_err() when handing an error from
platform_get_irq()
PCI: altera: Remove dev_err() when handing an error from
platform_get_irq()
PCI: host-generic: Remove dev_err() when handing an error from
platform_get_irq()
PCI: v3-semi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: altera-msi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: xgene-msi: Remove dev_err() when handing an error from
platform_get_irq()
PCI: rockchip: Remove dev_err() when handing an error from
platform_get_irq()
PCI: xilinx-nwl: Remove dev_err() when handing an error from
platform_get_irq()

 drivers/pci/controller/dwc/pci-dra7xx.c              |  8 ++------
 drivers/pci/controller/dwc/pci-exynos.c              |  9 +++------
 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          |  5 ++---
 drivers/pci/controller/dwc/pcie-tegra194.c           |  4 +---
 .../pci/controller/mobiveil/pcie-layerscape-gen4.c   |  5 ++---
 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c |  4 +---
 drivers/pci/controller/pci-tegra.c                   |  8 ++------
Quoted 8 lines
 drivers/pci/controller/pci-v3-semi.c                 |  5 ++---
 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-rockchip-host.c          | 12 +++---------
 drivers/pci/controller/pcie-tango.c                  |  4 +---
 drivers/pci/controller/pcie-xilinx-nwl.c             | 11 ++---------
 21 files changed, 29 insertions(+), 82 deletions(-)
Quoted 5 lines

I squashed these together and applied them to pci/irq-error for v5.9, thanks!

The cover letter claims there should be 10 patches, but I only got 9. Just FYI.

I picked up and applied 10/10 as well. And added Jesper & Ley Foon's reviewed-by and acked-by. Thanks!

#15 lore raw

PATCH 10/10 PCI: xilinx-nwl: Remove dev_err() when handing an error from platform_get_irq()

In reply to Krzysztof Wilczyński

There is no need to call the dev_err() function directly to print a custom message when handling an error from either the platform_get_irq() or platform_get_irq_byname() functions as both are going to display an appropriate error message in case of a failure.

This change is as per suggestion from Coccinelle:

drivers/pci/controller/pcie-xilinx-nwl.c:732:2-9: line 732 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/pcie-xilinx-nwl.c:589:2-9: line 589 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/pcie-xilinx-nwl.c:600:2-9: line 600 is redundant because platform_get_irq() already prints an error

drivers/pci/controller/pcie-xilinx-nwl.c:801:2-9: line 801 is redundant because platform_get_irq() already prints an error

---
 drivers/pci/controller/pcie-xilinx-nwl.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)
drivers/pci/controller/pcie-xilinx-nwl.c +2 -9
index 9bd1427f2fd6..55489b728484 100644
@@ -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;
 		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;
 		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;
-	}
 
 	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);
Signature · 1 line
2.27.0