1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Coresight system configuration driver - support for configfs.
6 #ifndef CORESIGHT_SYSCFG_CONFIGFS_H
7 #define CORESIGHT_SYSCFG_CONFIGFS_H
9 #include <linux/configfs.h>
10 #include "coresight-syscfg.h"
12 #define CSCFG_FS_SUBSYS_NAME "cs-syscfg"
14 /* container for configuration view */
15 struct cscfg_fs_config
{
16 struct cscfg_config_desc
*config_desc
;
17 struct config_group group
;
22 /* container for feature view */
23 struct cscfg_fs_feature
{
24 struct cscfg_feature_desc
*feat_desc
;
25 struct config_group group
;
28 /* container for parameter view */
29 struct cscfg_fs_param
{
31 struct cscfg_feature_desc
*feat_desc
;
32 struct config_group group
;
35 /* container for preset view */
36 struct cscfg_fs_preset
{
38 struct cscfg_config_desc
*config_desc
;
39 struct config_group group
;
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
);
49 #endif /* CORESIGHT_SYSCFG_CONFIGFS_H */