/* SPDX-License-Identifier: GPL-2.0-only */ /* * Coresight system configuration driver - support for configfs. */ #ifndef CORESIGHT_SYSCFG_CONFIGFS_H #define CORESIGHT_SYSCFG_CONFIGFS_H #include #include "coresight-syscfg.h" #define CSCFG_FS_SUBSYS_NAME "cs-syscfg" /* container for configuration view */ struct cscfg_fs_config { struct cscfg_config_desc *config_desc; struct config_group group; bool active; int preset; }; /* container for feature view */ struct cscfg_fs_feature { struct cscfg_feature_desc *feat_desc; struct config_group group; }; /* container for parameter view */ struct cscfg_fs_param { int param_idx; struct cscfg_feature_desc *feat_desc; struct config_group group; }; /* container for preset view */ struct cscfg_fs_preset { int preset_num; struct cscfg_config_desc *config_desc; struct config_group group; }; int cscfg_configfs_init(struct cscfg_manager *cscfg_mgr); void cscfg_configfs_release(struct cscfg_manager *cscfg_mgr); int cscfg_configfs_add_config(struct cscfg_config_desc *config_desc); int cscfg_configfs_add_feature(struct cscfg_feature_desc *feat_desc); void cscfg_configfs_del_config(struct cscfg_config_desc *config_desc); void cscfg_configfs_del_feature(struct cscfg_feature_desc *feat_desc); #endif /* CORESIGHT_SYSCFG_CONFIGFS_H */