RAS: Export helper to get ras_debugfs_dir
authorBorislav Petkov (AMD) <bp@alien8.de>
Fri, 1 Mar 2024 14:37:46 +0000 (08:37 -0600)
committerBorislav Petkov (AMD) <bp@alien8.de>
Fri, 1 Mar 2024 15:55:10 +0000 (16:55 +0100)
Export a getter instead of the debugfs node directly so that, other
in-tree-only RAS modules can use it.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Link: https://lore.kernel.org/r/20240301143748.854090-2-yazen.ghannam@amd.com
drivers/ras/cec.c
drivers/ras/debugfs.c
drivers/ras/debugfs.h

index 321af498ee119d62610b308901932848124b1230..e440b15fbabccbb9ccd53de6f7f36307db28497b 100644 (file)
@@ -480,9 +480,15 @@ DEFINE_SHOW_ATTRIBUTE(array);
 
 static int __init create_debugfs_nodes(void)
 {
-       struct dentry *d, *pfn, *decay, *count, *array;
+       struct dentry *d, *pfn, *decay, *count, *array, *dfs;
 
-       d = debugfs_create_dir("cec", ras_debugfs_dir);
+       dfs = ras_get_debugfs_root();
+       if (!dfs) {
+               pr_warn("Error getting RAS debugfs root!\n");
+               return -1;
+       }
+
+       d = debugfs_create_dir("cec", dfs);
        if (!d) {
                pr_warn("Error creating cec debugfs node!\n");
                return -1;
index ffb973c328e36003c6dd729a1d9140a2b18feb8c..42afd3de68b22edcf52af72177040b2048c498c4 100644 (file)
@@ -3,10 +3,16 @@
 #include <linux/ras.h>
 #include "debugfs.h"
 
-struct dentry *ras_debugfs_dir;
+static struct dentry *ras_debugfs_dir;
 
 static atomic_t trace_count = ATOMIC_INIT(0);
 
+struct dentry *ras_get_debugfs_root(void)
+{
+       return ras_debugfs_dir;
+}
+EXPORT_SYMBOL_GPL(ras_get_debugfs_root);
+
 int ras_userspace_consumers(void)
 {
        return atomic_read(&trace_count);
index c07443b462ad5ebdf06c9e0967baca4890c0e19e..4749ccdeeba12236aff3f8178dbed8582764272a 100644 (file)
@@ -4,6 +4,6 @@
 
 #include <linux/debugfs.h>
 
-extern struct dentry *ras_debugfs_dir;
+struct dentry *ras_get_debugfs_root(void);
 
 #endif /* __RAS_DEBUGFS_H__ */