1 /* SPDX-License-Identifier: GPL-2.0 */
3 #ifndef __842_DEBUGFS_H__
4 #define __842_DEBUGFS_H__
6 #include <linux/debugfs.h>
8 static bool sw842_template_counts
;
9 module_param_named(template_counts
, sw842_template_counts
, bool, 0444);
11 static atomic_t template_count
[OPS_MAX
], template_repeat_count
,
12 template_zeros_count
, template_short_data_count
, template_end_count
;
14 static struct dentry
*sw842_debugfs_root
;
16 static int __init
sw842_debugfs_create(void)
18 umode_t m
= S_IRUGO
| S_IWUSR
;
21 if (!debugfs_initialized())
24 sw842_debugfs_root
= debugfs_create_dir(MODULE_NAME
, NULL
);
25 if (IS_ERR(sw842_debugfs_root
))
26 return PTR_ERR(sw842_debugfs_root
);
28 for (i
= 0; i
< ARRAY_SIZE(template_count
); i
++) {
31 snprintf(name
, 32, "template_%02x", i
);
32 debugfs_create_atomic_t(name
, m
, sw842_debugfs_root
,
35 debugfs_create_atomic_t("template_repeat", m
, sw842_debugfs_root
,
36 &template_repeat_count
);
37 debugfs_create_atomic_t("template_zeros", m
, sw842_debugfs_root
,
38 &template_zeros_count
);
39 debugfs_create_atomic_t("template_short_data", m
, sw842_debugfs_root
,
40 &template_short_data_count
);
41 debugfs_create_atomic_t("template_end", m
, sw842_debugfs_root
,
47 static void __exit
sw842_debugfs_remove(void)
49 if (sw842_debugfs_root
&& !IS_ERR(sw842_debugfs_root
))
50 debugfs_remove_recursive(sw842_debugfs_root
);