[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220830172614.340962-1-james.clark@arm.com>
Date: Tue, 30 Aug 2022 18:26:08 +0100
From: James Clark <james.clark@....com>
To: suzuki.poulose@....com, coresight@...ts.linaro.org,
mathieu.poirier@...aro.org
Cc: mike.leach@...aro.org, leo.yan@...aro.org,
linux-kernel@...r.kernel.org, german.gomez@....com,
James Clark <james.clark@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
linux-arm-kernel@...ts.infradead.org,
linux-stm32@...md-mailman.stormreply.com
Subject: [PATCH v2 0/5] coresight: Reduce duplicated sysfs accessors
Changes since v1:
* Keep existing signed offset value types until the very last commit
and then remove them all at once
* Also split out usages of read_pair() and read32() into separate
functions in the last commit
* Whitespace fixes
* Replaced any touched scnprintf() with sysfs_emit()
======
The intent of this change is to reduce the large number identical of
functions created by macros for sysfs accessors. It's possible to re-use
the same function but pass in the register to access as an argument.
This reduces the size of the coresight modules folder by 244KB.
The first two patches are refactors to simplify and remove some dead
code, and the second two are the changes to use a shared function.
Testing
=======
No changes in any of the outputs:
cat /sys/bus/coresight/devices/*/mgmt/* > before.txt
cat /sys/bus/coresight/devices/*/mgmt/* > after.txt
diff before.txt after.txt
With the following modules loaded:
ls /sys/bus/coresight/devices/
etm0 etm2 funnel0 funnel2 replicator0 tmc_etf0 tmc_etf2 tpiu0
etm1 etm3 funnel1 funnel3 stm0 tmc_etf1 tmc_etr0
James Clark (5):
coresight: Remove unused function parameter
coresight: Simplify sysfs accessors by using csdev_access abstraction
coresight: Re-use same function for similar sysfs register accessors
coresight: cti-sysfs: Re-use same functions for similar sysfs register
accessors
coresight: Make new csdev_access offsets unsigned
drivers/hwtracing/coresight/coresight-catu.c | 27 +--
drivers/hwtracing/coresight/coresight-catu.h | 8 +-
drivers/hwtracing/coresight/coresight-core.c | 28 +++
.../hwtracing/coresight/coresight-cti-sysfs.c | 213 +++++++-----------
drivers/hwtracing/coresight/coresight-etb10.c | 28 +--
.../coresight/coresight-etm3x-sysfs.c | 34 +--
drivers/hwtracing/coresight/coresight-priv.h | 74 +++---
.../coresight/coresight-replicator.c | 10 +-
drivers/hwtracing/coresight/coresight-stm.c | 40 +---
.../hwtracing/coresight/coresight-tmc-core.c | 48 ++--
drivers/hwtracing/coresight/coresight-tmc.h | 4 +-
include/linux/coresight.h | 23 ++
12 files changed, 227 insertions(+), 310 deletions(-)
--
2.28.0
Powered by blists - more mailing lists