coresight: etm4x: Drop iomem 'base' argument from etm4_probe()
authorAnshuman Khandual <anshuman.khandual@arm.com>
Mon, 10 Jul 2023 06:24:56 +0000 (11:54 +0530)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Wed, 26 Jul 2023 15:46:25 +0000 (16:46 +0100)
'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@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Reviewed-by: James Clark <james.clark@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20230710062500.45147-3-anshuman.khandual@arm.com
drivers/hwtracing/coresight/coresight-etm4x-core.c

index 264242ba345bd3b7f68b287b880a48b0260eb6b3..bf93147c23cab7649925b156a10f1387beaae7e7 100644 (file)
@@ -2044,7 +2044,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 };
@@ -2065,8 +2065,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);
@@ -2120,8 +2118,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);
 
@@ -2137,6 +2136,7 @@ static int etm4_probe_platform_dev(struct platform_device *pdev)
        if (!drvdata)
                return -ENOMEM;
 
+       drvdata->base = NULL;
        dev_set_drvdata(&pdev->dev, drvdata);
        pm_runtime_get_noresume(&pdev->dev);
        pm_runtime_set_active(&pdev->dev);
@@ -2147,7 +2147,7 @@ static int etm4_probe_platform_dev(struct platform_device *pdev)
         * HW by reading appropriate registers on the HW
         * and thus we could skip the PID.
         */
-       ret = etm4_probe(&pdev->dev, NULL, 0);
+       ret = etm4_probe(&pdev->dev, 0);
 
        pm_runtime_put(&pdev->dev);
        return ret;