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 */ 50