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 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

source code of linux/drivers/hwtracing/coresight/coresight-syscfg-configfs.h