2021-08-19 03:40:20 +08:00
|
|
|
/* 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 <linux/configfs.h>
|
|
|
|
#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;
|
2021-11-25 04:00:37 +08:00
|
|
|
bool active;
|
|
|
|
int preset;
|
2021-08-19 03:40:20 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
/* 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);
|
2021-11-25 04:00:34 +08:00
|
|
|
void cscfg_configfs_del_config(struct cscfg_config_desc *config_desc);
|
|
|
|
void cscfg_configfs_del_feature(struct cscfg_feature_desc *feat_desc);
|
2021-08-19 03:40:20 +08:00
|
|
|
|
|
|
|
#endif /* CORESIGHT_SYSCFG_CONFIGFS_H */
|