1) API updated to allow dynamic load and unload of configurations and features. Dependency management between loaded sets is added.
2) New configuration and feature sets can be added using a loadable module. An example in /samples/coresight is provided to demonstrate this.
3) configfs can be used to activate a configuration which will then be used when controlling tracing using sysfs.
Applies and tested on coresight/next - which is 5.16-rc1
Changes since v2: (requested by Mathieu)
a) Split first patch into two patches to introduce the concept of owner, then use it to implement dynamic load / unload.
b) Renamed configfs configuration attributes used to enable and set preset on configurations when using CoreSight with sysfs
c) Updated docs to reflect use of enable and preset attributes for sysfs CoreSight control.
Changes since v1:
a) Original set split to divide related changes into smaller sets. Removed RFC flag.
b) Revised config activation for sysfs to simplify common function. (patch 4).
c) Minor changes requested by Mathieu added.
Mike Leach (6): coresight: configuration: Update API to introduce load owner concept coresight: configuration: Update API to permit dynamic load/unload coresight: syscfg: Update load API for config loadable modules coresight: syscfg: Example CoreSight configuration loadable module coresight: configfs: Allow configfs to activate configuration Documentation: coresight: Update coresight configuration docs
.../trace/coresight/coresight-config.rst | 62 +++- MAINTAINERS | 1 + .../coresight/coresight-cfg-preload.c | 9 +- .../hwtracing/coresight/coresight-config.h | 9 +- .../coresight/coresight-etm4x-core.c | 11 +- .../coresight/coresight-syscfg-configfs.c | 87 +++++ .../coresight/coresight-syscfg-configfs.h | 4 + .../hwtracing/coresight/coresight-syscfg.c | 315 ++++++++++++++++-- .../hwtracing/coresight/coresight-syscfg.h | 39 ++- samples/Kconfig | 9 + samples/Makefile | 1 + samples/coresight/Makefile | 4 + samples/coresight/coresight-cfg-sample.c | 73 ++++ 13 files changed, 586 insertions(+), 38 deletions(-) create mode 100644 samples/coresight/Makefile create mode 100644 samples/coresight/coresight-cfg-sample.c