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 */ 15struct cscfg_fs_config { 16 struct cscfg_config_desc *config_desc; 17 struct config_group group; 18}; 19 20/* container for feature view */ 21struct cscfg_fs_feature { 22 struct cscfg_feature_desc *feat_desc; 23 struct config_group group; 24}; 25 26/* container for parameter view */ 27struct cscfg_fs_param { 28 int param_idx; 29 struct cscfg_feature_desc *feat_desc; 30 struct config_group group; 31}; 32 33/* container for preset view */ 34struct cscfg_fs_preset { 35 int preset_num; 36 struct cscfg_config_desc *config_desc; 37 struct config_group group; 38}; 39 40int cscfg_configfs_init(struct cscfg_manager *cscfg_mgr); 41void cscfg_configfs_release(struct cscfg_manager *cscfg_mgr); 42int cscfg_configfs_add_config(struct cscfg_config_desc *config_desc); 43int cscfg_configfs_add_feature(struct cscfg_feature_desc *feat_desc); 44 45#endif /* CORESIGHT_SYSCFG_CONFIGFS_H */ 46