50 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Coresight system configuration driver - support for configfs.4 */5 6#ifndef CORESIGHT_SYSCFG_CONFIGFS_H7#define CORESIGHT_SYSCFG_CONFIGFS_H8 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 bool active;19 int preset;20};21 22/* container for feature view */23struct cscfg_fs_feature {24 struct cscfg_feature_desc *feat_desc;25 struct config_group group;26};27 28/* container for parameter view */29struct 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 */36struct cscfg_fs_preset {37 int preset_num;38 struct cscfg_config_desc *config_desc;39 struct config_group group;40};41 42int cscfg_configfs_init(struct cscfg_manager *cscfg_mgr);43void cscfg_configfs_release(struct cscfg_manager *cscfg_mgr);44int cscfg_configfs_add_config(struct cscfg_config_desc *config_desc);45int cscfg_configfs_add_feature(struct cscfg_feature_desc *feat_desc);46void cscfg_configfs_del_config(struct cscfg_config_desc *config_desc);47void cscfg_configfs_del_feature(struct cscfg_feature_desc *feat_desc);48 49#endif /* CORESIGHT_SYSCFG_CONFIGFS_H */50