sh: provide generic arch_debugfs_dir.
Paul Mundt [Thu, 23 Sep 2010 19:04:26 +0000 (04:04 +0900)]
While sh previously had its own debugfs root, there now exists a
common arch_debugfs_dir prototype, so we switch everything over to
that.  Presumably once more architectures start making use of this
we'll be able to just kill off the stub kdebugfs wrapper.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>

arch/sh/include/asm/system.h
arch/sh/kernel/Makefile
arch/sh/kernel/kdebugfs.c [new file with mode: 0644]
arch/sh/kernel/setup.c
arch/sh/mm/asids-debugfs.c
arch/sh/mm/cache-debugfs.c
arch/sh/mm/pmb.c
arch/sh/mm/tlb-debugfs.c

index 0bd7a17..1f1af5a 100644 (file)
@@ -140,8 +140,6 @@ extern unsigned int instruction_size(unsigned int insn);
 extern unsigned long cached_to_uncached;
 extern unsigned long uncached_size;
 
-extern struct dentry *sh_debugfs_root;
-
 void per_cpu_trap_init(void);
 void default_idle(void);
 void cpu_idle_wait(void);
index a1effb6..8eed6a4 100644 (file)
@@ -12,8 +12,8 @@ endif
 CFLAGS_REMOVE_return_address.o = -pg
 
 obj-y  := clkdev.o debugtraps.o dma-nommu.o dumpstack.o                \
-          idle.o io.o irq.o                                            \
-          irq_$(BITS).o machvec.o nmi_debug.o process.o                \
+          idle.o io.o irq.o irq_$(BITS).o kdebugfs.o                   \
+          machvec.o nmi_debug.o process.o                              \
           process_$(BITS).o ptrace.o ptrace_$(BITS).o                  \
           reboot.o return_address.o                                    \
           setup.o signal_$(BITS).o sys_sh.o sys_sh$(BITS).o            \
diff --git a/arch/sh/kernel/kdebugfs.c b/arch/sh/kernel/kdebugfs.c
new file mode 100644 (file)
index 0000000..e11c30b
--- /dev/null
@@ -0,0 +1,16 @@
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/debugfs.h>
+
+struct dentry *arch_debugfs_dir;
+EXPORT_SYMBOL(arch_debugfs_dir);
+
+static int __init arch_kdebugfs_init(void)
+{
+       arch_debugfs_dir = debugfs_create_dir("sh", NULL);
+       if (!arch_debugfs_dir)
+               return -ENOMEM;
+
+       return 0;
+}
+arch_initcall(arch_kdebugfs_init);
index e769401..f24d0ea 100644 (file)
@@ -24,7 +24,6 @@
 #include <linux/module.h>
 #include <linux/smp.h>
 #include <linux/err.h>
-#include <linux/debugfs.h>
 #include <linux/crash_dump.h>
 #include <linux/mmzone.h>
 #include <linux/clk.h>
@@ -458,17 +457,3 @@ const struct seq_operations cpuinfo_op = {
        .show   = show_cpuinfo,
 };
 #endif /* CONFIG_PROC_FS */
-
-struct dentry *sh_debugfs_root;
-
-static int __init sh_debugfs_init(void)
-{
-       sh_debugfs_root = debugfs_create_dir("sh", NULL);
-       if (!sh_debugfs_root)
-               return -ENOMEM;
-       if (IS_ERR(sh_debugfs_root))
-               return PTR_ERR(sh_debugfs_root);
-
-       return 0;
-}
-arch_initcall(sh_debugfs_init);
index cd8c3bf..74c03ec 100644 (file)
@@ -63,7 +63,7 @@ static int __init asids_debugfs_init(void)
 {
        struct dentry *asids_dentry;
 
-       asids_dentry = debugfs_create_file("asids", S_IRUSR, sh_debugfs_root,
+       asids_dentry = debugfs_create_file("asids", S_IRUSR, arch_debugfs_dir,
                                           NULL, &asids_debugfs_fops);
        if (!asids_dentry)
                return -ENOMEM;
index 690ed01..5241146 100644 (file)
@@ -126,25 +126,19 @@ static int __init cache_debugfs_init(void)
 {
        struct dentry *dcache_dentry, *icache_dentry;
 
-       dcache_dentry = debugfs_create_file("dcache", S_IRUSR, sh_debugfs_root,
+       dcache_dentry = debugfs_create_file("dcache", S_IRUSR, arch_debugfs_dir,
                                            (unsigned int *)CACHE_TYPE_DCACHE,
                                            &cache_debugfs_fops);
        if (!dcache_dentry)
                return -ENOMEM;
-       if (IS_ERR(dcache_dentry))
-               return PTR_ERR(dcache_dentry);
 
-       icache_dentry = debugfs_create_file("icache", S_IRUSR, sh_debugfs_root,
+       icache_dentry = debugfs_create_file("icache", S_IRUSR, arch_debugfs_dir,
                                            (unsigned int *)CACHE_TYPE_ICACHE,
                                            &cache_debugfs_fops);
        if (!icache_dentry) {
                debugfs_remove(dcache_dentry);
                return -ENOMEM;
        }
-       if (IS_ERR(icache_dentry)) {
-               debugfs_remove(dcache_dentry);
-               return PTR_ERR(icache_dentry);
-       }
 
        return 0;
 }
index 6379091..233c011 100644 (file)
@@ -866,11 +866,9 @@ static int __init pmb_debugfs_init(void)
        struct dentry *dentry;
 
        dentry = debugfs_create_file("pmb", S_IFREG | S_IRUGO,
-                                    sh_debugfs_root, NULL, &pmb_debugfs_fops);
+                                    arch_debugfs_dir, NULL, &pmb_debugfs_fops);
        if (!dentry)
                return -ENOMEM;
-       if (IS_ERR(dentry))
-               return PTR_ERR(dentry);
 
        return 0;
 }
index 229bf75..dea637a 100644 (file)
@@ -151,15 +151,13 @@ static int __init tlb_debugfs_init(void)
 {
        struct dentry *itlb, *utlb;
 
-       itlb = debugfs_create_file("itlb", S_IRUSR, sh_debugfs_root,
+       itlb = debugfs_create_file("itlb", S_IRUSR, arch_debugfs_dir,
                                   (unsigned int *)TLB_TYPE_ITLB,
                                   &tlb_debugfs_fops);
        if (unlikely(!itlb))
                return -ENOMEM;
-       if (IS_ERR(itlb))
-               return PTR_ERR(itlb);
 
-       utlb = debugfs_create_file("utlb", S_IRUSR, sh_debugfs_root,
+       utlb = debugfs_create_file("utlb", S_IRUSR, arch_debugfs_dir,
                                   (unsigned int *)TLB_TYPE_UTLB,
                                   &tlb_debugfs_fops);
        if (unlikely(!utlb)) {
@@ -167,11 +165,6 @@ static int __init tlb_debugfs_init(void)
                return -ENOMEM;
        }
 
-       if (IS_ERR(utlb)) {
-               debugfs_remove(itlb);
-               return PTR_ERR(utlb);
-       }
-
        return 0;
 }
 module_init(tlb_debugfs_init);