public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] PCI: starfive: Propagate dev_err_probe return value
@ 2025-10-17 16:14 Anand Moon
  2025-10-18  8:24 ` [PATCH] " Markus Elfring
  0 siblings, 1 reply; 2+ messages in thread
From: Anand Moon @ 2025-10-17 16:14 UTC (permalink / raw)
  To: Kevin Xie, Lorenzo Pieralisi, Krzysztof Wilczyński,
	Manivannan Sadhasivam, Rob Herring, Bjorn Helgaas,
	open list:PCIE DRIVER FOR STARFIVE JH71x0, open list
  Cc: Anand Moon

Ensure that the return value from dev_err_probe() is consistently assigned
back to return in all error paths within starfive_pcie_clk_rst_init() and
starfive_pcie_enable_phy() function. This ensures the original error code
are propagation for debugging.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
---
 drivers/pci/controller/plda/pcie-starfive.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/controller/plda/pcie-starfive.c b/drivers/pci/controller/plda/pcie-starfive.c
index 3caf53c6c082..192d7a6a7c6c 100644
--- a/drivers/pci/controller/plda/pcie-starfive.c
+++ b/drivers/pci/controller/plda/pcie-starfive.c
@@ -180,7 +180,7 @@ static int starfive_pcie_clk_rst_init(struct starfive_jh7110_pcie *pcie)
 	ret = reset_control_deassert(pcie->resets);
 	if (ret) {
 		clk_bulk_disable_unprepare(pcie->num_clks, pcie->clks);
-		dev_err_probe(dev, ret, "failed to deassert resets\n");
+		ret = dev_err_probe(dev, ret, "failed to deassert resets\n");
 	}
 
 	return ret;
@@ -241,13 +241,13 @@ static int starfive_pcie_enable_phy(struct device *dev,
 
 	ret = phy_set_mode(pcie->phy, PHY_MODE_PCIE);
 	if (ret) {
-		dev_err_probe(dev, ret, "failed to set pcie mode\n");
+		ret = dev_err_probe(dev, ret, "failed to set pcie mode\n");
 		goto err_phy_on;
 	}
 
 	ret = phy_power_on(pcie->phy);
 	if (ret) {
-		dev_err_probe(dev, ret, "failed to power on pcie phy\n");
+		ret = dev_err_probe(dev, ret, "failed to power on pcie phy\n");
 		goto err_phy_on;
 	}
 

base-commit: 98ac9cc4b4452ed7e714eddc8c90ac4ae5da1a09
-- 
2.50.1


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

* Re: [PATCH] PCI: starfive: Propagate dev_err_probe return value
  2025-10-17 16:14 [PATCH v1] PCI: starfive: Propagate dev_err_probe return value Anand Moon
@ 2025-10-18  8:24 ` Markus Elfring
  0 siblings, 0 replies; 2+ messages in thread
From: Markus Elfring @ 2025-10-18  8:24 UTC (permalink / raw)
  To: Anand Moon, linux-pci, Bjorn Helgaas, Kevin Xie,
	Krzysztof Wilczyński, Lorenzo Pieralisi,
	Manivannan Sadhasivam, Rob Herring
  Cc: LKML, kernel-janitors

> Ensure that the return value from dev_err_probe() is consistently assigned
> back to return in all error paths within starfive_pcie_clk_rst_init() and
> starfive_pcie_enable_phy() function. This ensures the original error code
> are propagation for debugging.

I find the change description improvable.


I propose to take another source code transformation approach better into account.
https://elixir.bootlin.com/linux/v6.17.1/source/drivers/base/core.c#L5031-L5075

Example:
https://elixir.bootlin.com/linux/v6.17.1/source/drivers/pci/controller/plda/pcie-starfive.c#L171-L187

	ret = dev_err_probe(dev, reset_control_deassert(pcie->resets),
			    "failed to deassert resets\n");
	if (ret)
		clk_bulk_disable_unprepare(pcie->num_clks, pcie->clks);


How do you think about to achieve such a source code variant also with the help of
the semantic patch language (Coccinelle software)?

Regards,
Markus

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

end of thread, other threads:[~2025-10-18  8:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-17 16:14 [PATCH v1] PCI: starfive: Propagate dev_err_probe return value Anand Moon
2025-10-18  8:24 ` [PATCH] " Markus Elfring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox