Re: [PATCH] coresight: etm4x: return 0 instead of using local ret variable
From: Shile Zhang
Date: Thu Apr 21 2022 - 21:43:54 EST
On 2022/4/22 00:42, Mathieu Poirier wrote:
Hi Shile,
On Wed, Apr 20, 2022 at 01:28:31PM +0800, Shile Zhang wrote:
The etm4_remove function (now it's rename to etm4_remove_dev) always
return 0, and it has been changed to void in commit 4fd269e74f2f
("amba: Make the remove callback return void"). But its weird that the
changes is gone in mainline. which is remained in 5.10.y branch.
Commit 4fd269e74f2f is not valid upstream. Changes that don't have a critical
impact on user experience or fix a bug aren't backported to longterm kernels.
Sorry, I used wrong commit id, but this patch is merged in mainline with
3fd269e74f2fe ("amba: Make the remove callback return void")
It can be checked from here:
https://github.com/torvalds/linux/commit/3fd269e74f2fe#diff-937c525e02a9fea8fe99b3d91b9f87ca097b3392de5fea3d4ff56cec8b08c94aL1683
Just backport the changes of etm4_remove_dev and return 0 directly in it's
caller function etm4_remove_platform_dev.
I'm not sure why the work "backport" is used here since this patch is destine
for mainline.
Yes, maybe "backport" here is not OK, I'll re-work it in next version
later. Thanks!
Signed-off-by: Shile Zhang <shile.zhang@xxxxxxxxxxxxxxxxx>
---
drivers/hwtracing/coresight/coresight-etm4x-core.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
index 7f416a12000e..141f8209a152 100644
--- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
+++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
@@ -2104,7 +2104,7 @@ static void clear_etmdrvdata(void *info)
etmdrvdata[cpu] = NULL;
}
-static int __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
+static void __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
{
etm_perf_symlink(drvdata->csdev, false);
/*
@@ -2125,8 +2125,6 @@ static int __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
cscfg_unregister_csdev(drvdata->csdev);
coresight_unregister(drvdata->csdev);
-
- return 0;
}
static void __exit etm4_remove_amba(struct amba_device *adev)
@@ -2139,13 +2137,14 @@ static void __exit etm4_remove_amba(struct amba_device *adev)
static int __exit etm4_remove_platform_dev(struct platform_device *pdev)
{
- int ret = 0;
struct etmv4_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
if (drvdata)
- ret = etm4_remove_dev(drvdata);
+ etm4_remove_dev(drvdata);
+
pm_runtime_disable(&pdev->dev);
- return ret;
+
+ return 0;
I'm fine with the code but the changelog needs to be re-worked. The only
rational for this patch is that the return value for function etm4_remove_dev()
is never used and as such being removed.
Thanks for your comments, I'll send V2 later.
Thanks,
Mathieu
}
static const struct amba_id etm4_ids[] = {
--
2.33.0.rc2