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