hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/edac/debugfs.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 #include "edac_module.h"
23
34 static struct dentry *edac_debugfs;
....@@ -41,14 +42,9 @@
4142 .llseek = generic_file_llseek,
4243 };
4344
44
-int __init edac_debugfs_init(void)
45
+void __init edac_debugfs_init(void)
4546 {
4647 edac_debugfs = debugfs_create_dir("edac", NULL);
47
- if (IS_ERR(edac_debugfs)) {
48
- edac_debugfs = NULL;
49
- return -ENOMEM;
50
- }
51
- return 0;
5248 }
5349
5450 void edac_debugfs_exit(void)
....@@ -56,50 +52,31 @@
5652 debugfs_remove_recursive(edac_debugfs);
5753 }
5854
59
-int edac_create_debugfs_nodes(struct mem_ctl_info *mci)
55
+void edac_create_debugfs_nodes(struct mem_ctl_info *mci)
6056 {
61
- struct dentry *d, *parent;
57
+ struct dentry *parent;
6258 char name[80];
6359 int i;
6460
65
- if (!edac_debugfs)
66
- return -ENODEV;
67
-
68
- d = debugfs_create_dir(mci->dev.kobj.name, edac_debugfs);
69
- if (!d)
70
- return -ENOMEM;
71
- parent = d;
61
+ parent = debugfs_create_dir(mci->dev.kobj.name, edac_debugfs);
7262
7363 for (i = 0; i < mci->n_layers; i++) {
7464 sprintf(name, "fake_inject_%s",
7565 edac_layer_name[mci->layers[i].type]);
76
- d = debugfs_create_u8(name, S_IRUGO | S_IWUSR, parent,
77
- &mci->fake_inject_layer[i]);
78
- if (!d)
79
- goto nomem;
66
+ debugfs_create_u8(name, S_IRUGO | S_IWUSR, parent,
67
+ &mci->fake_inject_layer[i]);
8068 }
8169
82
- d = debugfs_create_bool("fake_inject_ue", S_IRUGO | S_IWUSR, parent,
83
- &mci->fake_inject_ue);
84
- if (!d)
85
- goto nomem;
70
+ debugfs_create_bool("fake_inject_ue", S_IRUGO | S_IWUSR, parent,
71
+ &mci->fake_inject_ue);
8672
87
- d = debugfs_create_u16("fake_inject_count", S_IRUGO | S_IWUSR, parent,
88
- &mci->fake_inject_count);
89
- if (!d)
90
- goto nomem;
73
+ debugfs_create_u16("fake_inject_count", S_IRUGO | S_IWUSR, parent,
74
+ &mci->fake_inject_count);
9175
92
- d = debugfs_create_file("fake_inject", S_IWUSR, parent,
93
- &mci->dev,
94
- &debug_fake_inject_fops);
95
- if (!d)
96
- goto nomem;
76
+ debugfs_create_file("fake_inject", S_IWUSR, parent, &mci->dev,
77
+ &debug_fake_inject_fops);
9778
9879 mci->debugfs = parent;
99
- return 0;
100
-nomem:
101
- edac_debugfs_remove_recursive(mci->debugfs);
102
- return -ENOMEM;
10380 }
10481
10582 /* Create a toplevel dir under EDAC's debugfs hierarchy */
....@@ -141,23 +118,34 @@
141118 EXPORT_SYMBOL_GPL(edac_debugfs_create_file);
142119
143120 /* Wrapper for debugfs_create_x8() */
144
-struct dentry *edac_debugfs_create_x8(const char *name, umode_t mode,
145
- struct dentry *parent, u8 *value)
121
+void edac_debugfs_create_x8(const char *name, umode_t mode,
122
+ struct dentry *parent, u8 *value)
146123 {
147124 if (!parent)
148125 parent = edac_debugfs;
149126
150
- return debugfs_create_x8(name, mode, parent, value);
127
+ debugfs_create_x8(name, mode, parent, value);
151128 }
152129 EXPORT_SYMBOL_GPL(edac_debugfs_create_x8);
153130
154131 /* Wrapper for debugfs_create_x16() */
155
-struct dentry *edac_debugfs_create_x16(const char *name, umode_t mode,
156
- struct dentry *parent, u16 *value)
132
+void edac_debugfs_create_x16(const char *name, umode_t mode,
133
+ struct dentry *parent, u16 *value)
157134 {
158135 if (!parent)
159136 parent = edac_debugfs;
160137
161
- return debugfs_create_x16(name, mode, parent, value);
138
+ debugfs_create_x16(name, mode, parent, value);
162139 }
163140 EXPORT_SYMBOL_GPL(edac_debugfs_create_x16);
141
+
142
+/* Wrapper for debugfs_create_x32() */
143
+void edac_debugfs_create_x32(const char *name, umode_t mode,
144
+ struct dentry *parent, u32 *value)
145
+{
146
+ if (!parent)
147
+ parent = edac_debugfs;
148
+
149
+ debugfs_create_x32(name, mode, parent, value);
150
+}
151
+EXPORT_SYMBOL_GPL(edac_debugfs_create_x32);