]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/staging/zcache/ramster/debug.c
drivers: staging: zcache: fix compile error
[karo-tx-linux.git] / drivers / staging / zcache / ramster / debug.c
1 #include <linux/atomic.h>
2 #include "debug.h"
3
4 ssize_t ramster_foreign_eph_pages;
5 ssize_t ramster_foreign_pers_pages;
6 #ifdef CONFIG_DEBUG_FS
7 #include <linux/debugfs.h>
8
9 ssize_t ramster_eph_pages_remoted;
10 ssize_t ramster_pers_pages_remoted;
11 ssize_t ramster_eph_pages_remote_failed;
12 ssize_t ramster_pers_pages_remote_failed;
13 ssize_t ramster_remote_eph_pages_succ_get;
14 ssize_t ramster_remote_pers_pages_succ_get;
15 ssize_t ramster_remote_eph_pages_unsucc_get;
16 ssize_t ramster_remote_pers_pages_unsucc_get;
17 ssize_t ramster_pers_pages_remote_nomem;
18 ssize_t ramster_remote_objects_flushed;
19 ssize_t ramster_remote_object_flushes_failed;
20 ssize_t ramster_remote_pages_flushed;
21 ssize_t ramster_remote_page_flushes_failed;
22
23 #define ATTR(x)  { .name = #x, .val = &ramster_##x, }
24 static struct debug_entry {
25         const char *name;
26         ssize_t *val;
27 } attrs[] = {
28         ATTR(eph_pages_remoted),
29         ATTR(pers_pages_remoted),
30         ATTR(eph_pages_remote_failed),
31         ATTR(pers_pages_remote_failed),
32         ATTR(remote_eph_pages_succ_get),
33         ATTR(remote_pers_pages_succ_get),
34         ATTR(remote_eph_pages_unsucc_get),
35         ATTR(remote_pers_pages_unsucc_get),
36         ATTR(pers_pages_remote_nomem),
37         ATTR(remote_objects_flushed),
38         ATTR(remote_pages_flushed),
39         ATTR(remote_object_flushes_failed),
40         ATTR(remote_page_flushes_failed),
41         ATTR(foreign_eph_pages),
42         ATTR(foreign_eph_pages_max),
43         ATTR(foreign_pers_pages),
44         ATTR(foreign_pers_pages_max),
45 };
46 #undef ATTR
47
48 int ramster_debugfs_init(void)
49 {
50         int i;
51         struct dentry *root = debugfs_create_dir("ramster", NULL);
52         if (root == NULL)
53                 return -ENXIO;
54
55         for (i = 0; i < ARRAY_SIZE(attrs); i++)
56                 if (!debugfs_create_size_t(attrs[i].name,
57                                 S_IRUGO, root, attrs[i].val))
58                         goto out;
59         return 0;
60 out:
61         return -ENODEV;
62 }
63 #else
64 static inline int ramster_debugfs_init(void)
65 {
66         return 0;
67 }
68 #endif