coresight-syscfg-configfs.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Coresight system configuration driver - support for configfs.
  4. */
  5. #ifndef CORESIGHT_SYSCFG_CONFIGFS_H
  6. #define CORESIGHT_SYSCFG_CONFIGFS_H
  7. #include <linux/configfs.h>
  8. #include "coresight-syscfg.h"
  9. #define CSCFG_FS_SUBSYS_NAME "cs-syscfg"
  10. /* container for configuration view */
  11. struct cscfg_fs_config {
  12. struct cscfg_config_desc *config_desc;
  13. struct config_group group;
  14. bool active;
  15. int preset;
  16. };
  17. /* container for feature view */
  18. struct cscfg_fs_feature {
  19. struct cscfg_feature_desc *feat_desc;
  20. struct config_group group;
  21. };
  22. /* container for parameter view */
  23. struct cscfg_fs_param {
  24. int param_idx;
  25. struct cscfg_feature_desc *feat_desc;
  26. struct config_group group;
  27. };
  28. /* container for preset view */
  29. struct cscfg_fs_preset {
  30. int preset_num;
  31. struct cscfg_config_desc *config_desc;
  32. struct config_group group;
  33. };
  34. int cscfg_configfs_init(struct cscfg_manager *cscfg_mgr);
  35. void cscfg_configfs_release(struct cscfg_manager *cscfg_mgr);
  36. int cscfg_configfs_add_config(struct cscfg_config_desc *config_desc);
  37. int cscfg_configfs_add_feature(struct cscfg_feature_desc *feat_desc);
  38. void cscfg_configfs_del_config(struct cscfg_config_desc *config_desc);
  39. void cscfg_configfs_del_feature(struct cscfg_feature_desc *feat_desc);
  40. #endif /* CORESIGHT_SYSCFG_CONFIGFS_H */