diff options
author | Mike Leach <mike.leach@linaro.org> | 2021-11-24 20:00:33 +0000 |
---|---|---|
committer | Mathieu Poirier <mathieu.poirier@linaro.org> | 2021-11-26 11:27:21 -0700 |
commit | da7000e8b83bb8dbdf8f01fd3fe4c4190974bfdc (patch) | |
tree | 5e648a953e552eaa1d114a9b34cf7e5b99200acd /drivers/hwtracing/coresight/coresight-config.h | |
parent | Documentation: coresight: Fix documentation issue (diff) | |
download | linux-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.h | 5 |
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; }; /** |