* [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