This source file includes following definitions.
- mic_intr_show
- mic_create_card_debug_dir
- mic_delete_card_debug_dir
- mic_init_card_debugfs
- mic_exit_card_debugfs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <linux/debugfs.h>
16 #include <linux/delay.h>
17 #include <linux/seq_file.h>
18 #include <linux/interrupt.h>
19 #include <linux/device.h>
20
21 #include "../common/mic_dev.h"
22 #include "mic_device.h"
23
24
25 static struct dentry *mic_dbg;
26
27
28
29
30 static int mic_intr_show(struct seq_file *s, void *unused)
31 {
32 struct mic_driver *mdrv = s->private;
33 struct mic_device *mdev = &mdrv->mdev;
34
35 mic_send_intr(mdev, 0);
36 msleep(1000);
37 mic_send_intr(mdev, 1);
38 msleep(1000);
39 mic_send_intr(mdev, 2);
40 msleep(1000);
41 mic_send_intr(mdev, 3);
42 msleep(1000);
43
44 return 0;
45 }
46
47 DEFINE_SHOW_ATTRIBUTE(mic_intr);
48
49
50
51
52 void __init mic_create_card_debug_dir(struct mic_driver *mdrv)
53 {
54 if (!mic_dbg)
55 return;
56
57 mdrv->dbg_dir = debugfs_create_dir(mdrv->name, mic_dbg);
58
59 debugfs_create_file("intr_test", 0444, mdrv->dbg_dir, mdrv,
60 &mic_intr_fops);
61 }
62
63
64
65
66 void mic_delete_card_debug_dir(struct mic_driver *mdrv)
67 {
68 if (!mdrv->dbg_dir)
69 return;
70
71 debugfs_remove_recursive(mdrv->dbg_dir);
72 }
73
74
75
76
77 void __init mic_init_card_debugfs(void)
78 {
79 mic_dbg = debugfs_create_dir(KBUILD_MODNAME, NULL);
80 }
81
82
83
84
85 void mic_exit_card_debugfs(void)
86 {
87 debugfs_remove(mic_dbg);
88 }