2020-01-17 14:41:41

by Yousaf Kaukab

[permalink] [raw]
Subject: [PATCH RFC 00/15] coresight: make drivers modular

Goal of this patchset is to make coresight drivers modular and enable
them by default in the arm64 and arm defconfigs. This is work-in-progress
and completely untested. Mainly, module exit calls are incomplete or
missing. Posting here to get early feedback.

Please review.

Thanks you,

Best regards,
Yousaf

Mian Yousaf Kaukab (15):
Revert "drivers/hwtracing: make coresight-* explicitly non-modular"
coresight: remove multiple init calls from funnel driver
coresight: remove multiple init calls from replicator driver
coresight: make API private
coresight: rename coresight.c to coresight-bus.c
coresight: combine bus and PMU init calls
coresight: Makefile: regroup object files
coresight: tmc-etr: add function to register catu ops
coresight: etm-perf: remove unnecessary configuration check
coresight: export global symbols
coresight: add coresight prefix to barrier_pkt
coresight: use IS_ENABLED macro for configuration symbols
coresight: Kconfig: make all configurations tristate
arm64: defconfig: enable coresight
arm: config: enable coresight in v5 and v7 defconfigs

arch/arm/configs/multi_v5_defconfig | 8 +
arch/arm/configs/multi_v7_defconfig | 8 +
arch/arm64/configs/defconfig | 8 +
drivers/hwtracing/coresight/Kconfig | 47 +-
drivers/hwtracing/coresight/Makefile | 23 +-
drivers/hwtracing/coresight/coresight-bus.c | 1368 ++++++++++++++++++++
drivers/hwtracing/coresight/coresight-catu.c | 9 +-
drivers/hwtracing/coresight/coresight-catu.h | 2 -
drivers/hwtracing/coresight/coresight-etb10.c | 9 +-
drivers/hwtracing/coresight/coresight-etm-perf.c | 4 +-
drivers/hwtracing/coresight/coresight-etm-perf.h | 13 +-
drivers/hwtracing/coresight/coresight-etm3x.c | 12 +-
drivers/hwtracing/coresight/coresight-etm4x.c | 7 +-
drivers/hwtracing/coresight/coresight-funnel.c | 34 +-
drivers/hwtracing/coresight/coresight-priv.h | 32 +-
drivers/hwtracing/coresight/coresight-replicator.c | 34 +-
drivers/hwtracing/coresight/coresight-stm.c | 4 +-
drivers/hwtracing/coresight/coresight-tmc-etf.c | 2 +-
drivers/hwtracing/coresight/coresight-tmc-etr.c | 23 +-
drivers/hwtracing/coresight/coresight-tmc.c | 6 +-
drivers/hwtracing/coresight/coresight-tmc.h | 3 +
drivers/hwtracing/coresight/coresight-tpiu.c | 6 +-
drivers/hwtracing/coresight/coresight.c | 1338 -------------------
include/linux/amba/bus.h | 9 -
include/linux/coresight.h | 50 -
25 files changed, 1602 insertions(+), 1457 deletions(-)
create mode 100644 drivers/hwtracing/coresight/coresight-bus.c
delete mode 100644 drivers/hwtracing/coresight/coresight.c

--
2.16.4


2020-01-17 14:41:44

by Yousaf Kaukab

[permalink] [raw]
Subject: [PATCH RFC 12/15] coresight: use IS_ENABLED macro for configuration symbols

Prepare to change configuration symbols type from bool to
tristate in Kconfig.

Signed-off-by: Mian Yousaf Kaukab <[email protected]>
---
drivers/hwtracing/coresight/coresight-priv.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwtracing/coresight/coresight-priv.h b/drivers/hwtracing/coresight/coresight-priv.h
index 9212bc8a20c8..714bee6590ff 100644
--- a/drivers/hwtracing/coresight/coresight-priv.h
+++ b/drivers/hwtracing/coresight/coresight-priv.h
@@ -153,7 +153,7 @@ struct list_head *coresight_build_path(struct coresight_device *csdev,
struct coresight_device *sink);
void coresight_release_path(struct list_head *path);

-#ifdef CONFIG_CORESIGHT_SOURCE_ETM3X
+#if IS_ENABLED(CONFIG_CORESIGHT_SOURCE_ETM3X)
extern int etm_readl_cp14(u32 off, unsigned int *val);
extern int etm_writel_cp14(u32 off, u32 val);
#else
--
2.16.4