aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwtracing/coresight/coresight-config.h
diff options
context:
space:
mode:
authorMike Leach <mike.leach@linaro.org>2021-11-24 20:00:33 +0000
committerMathieu Poirier <mathieu.poirier@linaro.org>2021-11-26 11:27:21 -0700
commitda7000e8b83bb8dbdf8f01fd3fe4c4190974bfdc (patch)
tree5e648a953e552eaa1d114a9b34cf7e5b99200acd /drivers/hwtracing/coresight/coresight-config.h
parentDocumentation: coresight: Fix documentation issue (diff)
downloadlinux-dev-da7000e8b83bb8dbdf8f01fd3fe4c4190974bfdc.tar.xz
linux-dev-da7000e8b83bb8dbdf8f01fd3fe4c4190974bfdc.zip
coresight: configuration: Update API to introduce load owner concept
Update the existing load API to introduce a "load owner" concept. This allows the tracking of the loaded configurations and features against the loading owner type, to allow later unload according to owner. A list of loaded configurations by owner is created. The load owner infrastructure will be used in following patches to implement dynanic load and unload, alongside dependency tracking. Signed-off-by: Mike Leach <mike.leach@linaro.org> Link: https://lore.kernel.org/r/20211124200038.28662-2-mike.leach@linaro.org Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Diffstat (limited to 'drivers/hwtracing/coresight/coresight-config.h')
-rw-r--r--drivers/hwtracing/coresight/coresight-config.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/hwtracing/coresight/coresight-config.h b/drivers/hwtracing/coresight/coresight-config.h
index 25eb6c632692..6e0d43901d66 100644
--- a/drivers/hwtracing/coresight/coresight-config.h
+++ b/drivers/hwtracing/coresight/coresight-config.h
@@ -97,6 +97,7 @@ struct cscfg_regval_desc {
* @params_desc: array of parameters used.
* @nr_regs: number of registers used.
* @regs_desc: array of registers used.
+ * @load_owner: handle to load owner for dynamic load and unload of features.
*/
struct cscfg_feature_desc {
const char *name;
@@ -107,6 +108,7 @@ struct cscfg_feature_desc {
struct cscfg_parameter_desc *params_desc;
int nr_regs;
struct cscfg_regval_desc *regs_desc;
+ void *load_owner;
};
/**
@@ -128,7 +130,7 @@ struct cscfg_feature_desc {
* @presets: Array of preset values.
* @event_ea: Extended attribute for perf event value
* @active_cnt: ref count for activate on this configuration.
- *
+ * @load_owner: handle to load owner for dynamic load and unload of configs.
*/
struct cscfg_config_desc {
const char *name;
@@ -141,6 +143,7 @@ struct cscfg_config_desc {
const u64 *presets; /* nr_presets * nr_total_params */
struct dev_ext_attribute *event_ea;
atomic_t active_cnt;
+ void *load_owner;
};
/**