Merge tag 'efi-fixes-for-v6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / hwtracing / coresight / coresight-syscfg-configfs.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Coresight system configuration driver - support for configfs.
4  */
5
6 #ifndef CORESIGHT_SYSCFG_CONFIGFS_H
7 #define CORESIGHT_SYSCFG_CONFIGFS_H
8
9 #include <linux/configfs.h>
10 #include "coresight-syscfg.h"
11
12 #define CSCFG_FS_SUBSYS_NAME "cs-syscfg"
13
14 /* container for configuration view */
15 struct cscfg_fs_config {
16         struct cscfg_config_desc *config_desc;
17         struct config_group group;
18         bool active;
19         int preset;
20 };
21
22 /* container for feature view */
23 struct cscfg_fs_feature {
24         struct cscfg_feature_desc *feat_desc;
25         struct config_group group;
26 };
27
28 /* container for parameter view */
29 struct cscfg_fs_param {
30         int param_idx;
31         struct cscfg_feature_desc *feat_desc;
32         struct config_group group;
33 };
34
35 /* container for preset view */
36 struct cscfg_fs_preset {
37         int preset_num;
38         struct cscfg_config_desc *config_desc;
39         struct config_group group;
40 };
41
42 int cscfg_configfs_init(struct cscfg_manager *cscfg_mgr);
43 void cscfg_configfs_release(struct cscfg_manager *cscfg_mgr);
44 int cscfg_configfs_add_config(struct cscfg_config_desc *config_desc);
45 int cscfg_configfs_add_feature(struct cscfg_feature_desc *feat_desc);
46 void cscfg_configfs_del_config(struct cscfg_config_desc *config_desc);
47 void cscfg_configfs_del_feature(struct cscfg_feature_desc *feat_desc);
48
49 #endif /* CORESIGHT_SYSCFG_CONFIGFS_H */