aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/of/fdt.c
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2014-04-02 17:56:48 -0400
committerRob Herring <robh@kernel.org>2014-04-30 01:59:16 -0400
commitb0a6fb36a49f720c93c3da0b3f040e49e42435ad (patch)
tree3cfd40ed6002d7dfae6f8c4ad2136dcb2c04ee54 /drivers/of/fdt.c
parentc972de14971f1482ab482f0a7abc85679a23326a (diff)
of/fdt: create common debugfs
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>
Diffstat (limited to 'drivers/of/fdt.c')
-rw-r--r--drivers/of/fdt.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 0b38a6aa8603..4129f7442244 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -20,6 +20,7 @@
20#include <linux/errno.h> 20#include <linux/errno.h>
21#include <linux/slab.h> 21#include <linux/slab.h>
22#include <linux/libfdt.h> 22#include <linux/libfdt.h>
23#include <linux/debugfs.h>
23 24
24#include <asm/setup.h> /* for COMMAND_LINE_SIZE */ 25#include <asm/setup.h> /* for COMMAND_LINE_SIZE */
25#include <asm/page.h> 26#include <asm/page.h>
@@ -916,4 +917,27 @@ void __init unflatten_and_copy_device_tree(void)
916 unflatten_device_tree(); 917 unflatten_device_tree();
917} 918}
918 919
920#if defined(CONFIG_DEBUG_FS) && defined(DEBUG)
921static struct debugfs_blob_wrapper flat_dt_blob;
922
923static int __init of_flat_dt_debugfs_export_fdt(void)
924{
925 struct dentry *d = debugfs_create_dir("device-tree", NULL);
926
927 if (!d)
928 return -ENOENT;
929
930 flat_dt_blob.data = initial_boot_params;
931 flat_dt_blob.size = fdt_totalsize(initial_boot_params);
932
933 d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR,
934 d, &flat_dt_blob);
935 if (!d)
936 return -ENOENT;
937
938 return 0;
939}
940module_init(of_flat_dt_debugfs_export_fdt);
941#endif
942
919#endif /* CONFIG_OF_EARLY_FLATTREE */ 943#endif /* CONFIG_OF_EARLY_FLATTREE */