diff mbox series

soundwire: amd: Improve error message in remove callback

Message ID 20230518200823.249795-1-u.kleine-koenig@pengutronix.de (mailing list archive)
State New, archived
Headers show
Series soundwire: amd: Improve error message in remove callback | expand

Commit Message

Uwe Kleine-König May 18, 2023, 8:08 p.m. UTC
Returning an error code in the remove callback yields to an error
message

	remove callback returned a non-zero value. This will be ignored.

After that the device is removed anyhow. Improve the error message to at
least say what the actual problem is. While touching that code, convert
the driver to the .remove_new() callback which returns no value with the
same effect as returning zero in a .remove() callback.

As the return value is ignored by the core the only effect of this patch
is to improve the error message. (And the motivating effect is that
there is one less driver using .remove().)

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/soundwire/amd_manager.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)


base-commit: ac9a78681b921877518763ba0e89202254349d1b

Comments

Vinod Koul May 29, 2023, 5:14 a.m. UTC | #1
On 18-05-23, 22:08, Uwe Kleine-König wrote:
> Returning an error code in the remove callback yields to an error
> message
> 
> 	remove callback returned a non-zero value. This will be ignored.
> 
> After that the device is removed anyhow. Improve the error message to at
> least say what the actual problem is. While touching that code, convert
> the driver to the .remove_new() callback which returns no value with the
> same effect as returning zero in a .remove() callback.
> 
> As the return value is ignored by the core the only effect of this patch
> is to improve the error message. (And the motivating effect is that
> there is one less driver using .remove().)

Applied, thanks
diff mbox series

Patch

diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c
index 9fb7f91ca182..08aeb7ed00e1 100644
--- a/drivers/soundwire/amd_manager.c
+++ b/drivers/soundwire/amd_manager.c
@@ -972,15 +972,18 @@  static int amd_sdw_manager_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int amd_sdw_manager_remove(struct platform_device *pdev)
+static void amd_sdw_manager_remove(struct platform_device *pdev)
 {
 	struct amd_sdw_manager *amd_manager = dev_get_drvdata(&pdev->dev);
+	int ret;
 
 	pm_runtime_disable(&pdev->dev);
 	cancel_work_sync(&amd_manager->probe_work);
 	amd_disable_sdw_interrupts(amd_manager);
 	sdw_bus_master_delete(&amd_manager->bus);
-	return amd_disable_sdw_manager(amd_manager);
+	ret = amd_disable_sdw_manager(amd_manager);
+	if (ret)
+		dev_err(&pdev->dev, "Failed to disable device (%pe)\n", ERR_PTR(ret));
 }
 
 static int amd_sdw_clock_stop(struct amd_sdw_manager *amd_manager)
@@ -1194,7 +1197,7 @@  static const struct dev_pm_ops amd_pm = {
 
 static struct platform_driver amd_sdw_driver = {
 	.probe	= &amd_sdw_manager_probe,
-	.remove = &amd_sdw_manager_remove,
+	.remove_new = &amd_sdw_manager_remove,
 	.driver = {
 		.name	= "amd_sdw_manager",
 		.pm = &amd_pm,