2 #ifndef __842_DEBUGFS_H__
3 #define __842_DEBUGFS_H__
5 #include <linux/debugfs.h>
7 static bool sw842_template_counts
;
8 module_param_named(template_counts
, sw842_template_counts
, bool, 0444);
10 static atomic_t template_count
[OPS_MAX
], template_repeat_count
,
11 template_zeros_count
, template_short_data_count
, template_end_count
;
13 static struct dentry
*sw842_debugfs_root
;
15 static int __init
sw842_debugfs_create(void)
17 umode_t m
= S_IRUGO
| S_IWUSR
;
20 if (!debugfs_initialized())
23 sw842_debugfs_root
= debugfs_create_dir(MODULE_NAME
, NULL
);
24 if (IS_ERR(sw842_debugfs_root
))
25 return PTR_ERR(sw842_debugfs_root
);
27 for (i
= 0; i
< ARRAY_SIZE(template_count
); i
++) {
30 snprintf(name
, 32, "template_%02x", i
);
31 debugfs_create_atomic_t(name
, m
, sw842_debugfs_root
,
34 debugfs_create_atomic_t("template_repeat", m
, sw842_debugfs_root
,
35 &template_repeat_count
);
36 debugfs_create_atomic_t("template_zeros", m
, sw842_debugfs_root
,
37 &template_zeros_count
);
38 debugfs_create_atomic_t("template_short_data", m
, sw842_debugfs_root
,
39 &template_short_data_count
);
40 debugfs_create_atomic_t("template_end", m
, sw842_debugfs_root
,
46 static void __exit
sw842_debugfs_remove(void)
48 if (sw842_debugfs_root
&& !IS_ERR(sw842_debugfs_root
))
49 debugfs_remove_recursive(sw842_debugfs_root
);