On 4/4/23 20:52, James Clark wrote: > > On 27/03/2023 06:05, Anshuman Khandual wrote: >> 'struct etm4_drvdata' itself can carry the base address before etm4_probe() >> gets called. Just drop that redundant argument from etm4_probe(). >> >> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> >> Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx> >> Cc: Mike Leach <mike.leach@xxxxxxxxxx> >> Cc: Leo Yan <leo.yan@xxxxxxxxxx> >> Cc: coresight@xxxxxxxxxxxxxxxx >> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx >> Cc: linux-kernel@xxxxxxxxxxxxxxx >> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> >> --- >> drivers/hwtracing/coresight/coresight-etm4x-core.c | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c >> index 10119c223fbe..5d77571a8df9 100644 >> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c >> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c >> @@ -2048,7 +2048,7 @@ static int etm4_add_coresight_dev(struct etm4_init_arg *init_arg) >> return 0; >> } >> >> -static int etm4_probe(struct device *dev, void __iomem *base, u32 etm_pid) >> +static int etm4_probe(struct device *dev, u32 etm_pid) >> { >> struct etmv4_drvdata *drvdata = dev_get_drvdata(dev); >> struct csdev_access access = { 0 }; >> @@ -2069,8 +2069,6 @@ static int etm4_probe(struct device *dev, void __iomem *base, u32 etm_pid) >> return -ENOMEM; >> } >> >> - drvdata->base = base; >> - >> spin_lock_init(&drvdata->spinlock); >> >> drvdata->cpu = coresight_get_cpu(dev); >> @@ -2124,8 +2122,9 @@ static int etm4_probe_amba(struct amba_device *adev, const struct amba_id *id) >> if (!drvdata) >> return -ENOMEM; >> >> + drvdata->base = base; >> dev_set_drvdata(dev, drvdata); >> - ret = etm4_probe(dev, base, id->id); >> + ret = etm4_probe(dev, id->id); >> if (!ret) >> pm_runtime_put(&adev->dev); >> >> @@ -2141,6 +2140,7 @@ static int etm4_probe_platform_dev(struct platform_device *pdev) >> if (!drvdata) >> return -ENOMEM; >> >> + drvdata->base = NULL; > Very minor point, drvdata is zero alloced so it doesn't make sense to > zero this field but not the others. It's harmless, but it might imply > something and confuse someone. Just to keep changes to both call sites of etm4_probe() similar i.e etm4_probe()'s 'base' argument being pre-assigned as drvdata->base, let's keep the NULL assignment above unchanged. > > Either way: > Reviewed-by: James Clark <james.clark@xxxxxxx> >