]> git.karo-electronics.de Git - linux-beck.git/commitdiff
of/fdt: create common debugfs
authorRob Herring <robh@kernel.org>
Wed, 2 Apr 2014 21:56:48 +0000 (16:56 -0500)
committerRob Herring <robh@kernel.org>
Wed, 30 Apr 2014 05:59:16 +0000 (00:59 -0500)
Both powerpc and microblaze have the same FDT blob in debugfs feature.
Move this to common location and remove the powerpc and microblaze
implementations. This feature could become more useful when FDT
overlay support is added.

This changes the path of the blob from "$arch/flat-device-tree" to
"device-tree/flat-device-tree".

Signed-off-by: Rob Herring <robh@kernel.org>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Tested-by: Grant Likely <grant.likely@linaro.org>
Tested-by: Stephen Chivers <schivers@csc.com>
arch/microblaze/kernel/prom.c
arch/powerpc/kernel/prom.c
drivers/of/fdt.c

index c766306030588e4d89056cc17c375e6a90bb0ccf..68f099960ebc92af7664435baba2fac23b549de2 100644 (file)
@@ -114,34 +114,3 @@ void __init early_init_devtree(void *params)
 
        pr_debug(" <- early_init_devtree()\n");
 }
-
-/*******
- *
- * New implementation of the OF "find" APIs, return a refcounted
- * object, call of_node_put() when done.  The device tree and list
- * are protected by a rw_lock.
- *
- * Note that property management will need some locking as well,
- * this isn't dealt with yet.
- *
- *******/
-
-#if defined(CONFIG_DEBUG_FS) && defined(DEBUG)
-static struct debugfs_blob_wrapper flat_dt_blob;
-
-static int __init export_flat_device_tree(void)
-{
-       struct dentry *d;
-
-       flat_dt_blob.data = initial_boot_params;
-       flat_dt_blob.size = initial_boot_params->totalsize;
-
-       d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR,
-                               of_debugfs_root, &flat_dt_blob);
-       if (!d)
-               return 1;
-
-       return 0;
-}
-device_initcall(export_flat_device_tree);
-#endif
index 483273e5c3e0b4c63727a7ae049fd3b2aabf8250..e5e2b6f635675165bfec2a4b4fcc44c6abdce313 100644 (file)
@@ -29,7 +29,6 @@
 #include <linux/bitops.h>
 #include <linux/export.h>
 #include <linux/kexec.h>
-#include <linux/debugfs.h>
 #include <linux/irq.h>
 #include <linux/memblock.h>
 #include <linux/of.h>
@@ -924,23 +923,3 @@ bool arch_match_cpu_phys_id(int cpu, u64 phys_id)
 {
        return (int)phys_id == get_hard_smp_processor_id(cpu);
 }
-
-#if defined(CONFIG_DEBUG_FS) && defined(DEBUG)
-static struct debugfs_blob_wrapper flat_dt_blob;
-
-static int __init export_flat_device_tree(void)
-{
-       struct dentry *d;
-
-       flat_dt_blob.data = initial_boot_params;
-       flat_dt_blob.size = be32_to_cpu(initial_boot_params->totalsize);
-
-       d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR,
-                               powerpc_debugfs_root, &flat_dt_blob);
-       if (!d)
-               return 1;
-
-       return 0;
-}
-__initcall(export_flat_device_tree);
-#endif
index 0b38a6aa8603dd9629ebab967db9cfc3dfabd3c9..4129f7442244e09ed03ffae8e6a393e2d9b1b1ab 100644 (file)
@@ -20,6 +20,7 @@
 #include <linux/errno.h>
 #include <linux/slab.h>
 #include <linux/libfdt.h>
+#include <linux/debugfs.h>
 
 #include <asm/setup.h>  /* for COMMAND_LINE_SIZE */
 #include <asm/page.h>
@@ -916,4 +917,27 @@ void __init unflatten_and_copy_device_tree(void)
        unflatten_device_tree();
 }
 
+#if defined(CONFIG_DEBUG_FS) && defined(DEBUG)
+static struct debugfs_blob_wrapper flat_dt_blob;
+
+static int __init of_flat_dt_debugfs_export_fdt(void)
+{
+       struct dentry *d = debugfs_create_dir("device-tree", NULL);
+
+       if (!d)
+               return -ENOENT;
+
+       flat_dt_blob.data = initial_boot_params;
+       flat_dt_blob.size = fdt_totalsize(initial_boot_params);
+
+       d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR,
+                               d, &flat_dt_blob);
+       if (!d)
+               return -ENOENT;
+
+       return 0;
+}
+module_init(of_flat_dt_debugfs_export_fdt);
+#endif
+
 #endif /* CONFIG_OF_EARLY_FLATTREE */