diff options
-rw-r--r-- | arch/microblaze/kernel/prom.c | 31 | ||||
-rw-r--r-- | arch/powerpc/kernel/prom.c | 21 | ||||
-rw-r--r-- | drivers/of/fdt.c | 24 |
3 files changed, 24 insertions, 52 deletions
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c index c76630603058..68f099960ebc 100644 --- a/arch/microblaze/kernel/prom.c +++ b/arch/microblaze/kernel/prom.c | |||
@@ -114,34 +114,3 @@ void __init early_init_devtree(void *params) | |||
114 | 114 | ||
115 | pr_debug(" <- early_init_devtree()\n"); | 115 | pr_debug(" <- early_init_devtree()\n"); |
116 | } | 116 | } |
117 | |||
118 | /******* | ||
119 | * | ||
120 | * New implementation of the OF "find" APIs, return a refcounted | ||
121 | * object, call of_node_put() when done. The device tree and list | ||
122 | * are protected by a rw_lock. | ||
123 | * | ||
124 | * Note that property management will need some locking as well, | ||
125 | * this isn't dealt with yet. | ||
126 | * | ||
127 | *******/ | ||
128 | |||
129 | #if defined(CONFIG_DEBUG_FS) && defined(DEBUG) | ||
130 | static struct debugfs_blob_wrapper flat_dt_blob; | ||
131 | |||
132 | static int __init export_flat_device_tree(void) | ||
133 | { | ||
134 | struct dentry *d; | ||
135 | |||
136 | flat_dt_blob.data = initial_boot_params; | ||
137 | flat_dt_blob.size = initial_boot_params->totalsize; | ||
138 | |||
139 | d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, | ||
140 | of_debugfs_root, &flat_dt_blob); | ||
141 | if (!d) | ||
142 | return 1; | ||
143 | |||
144 | return 0; | ||
145 | } | ||
146 | device_initcall(export_flat_device_tree); | ||
147 | #endif | ||
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 483273e5c3e0..e5e2b6f63567 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -29,7 +29,6 @@ | |||
29 | #include <linux/bitops.h> | 29 | #include <linux/bitops.h> |
30 | #include <linux/export.h> | 30 | #include <linux/export.h> |
31 | #include <linux/kexec.h> | 31 | #include <linux/kexec.h> |
32 | #include <linux/debugfs.h> | ||
33 | #include <linux/irq.h> | 32 | #include <linux/irq.h> |
34 | #include <linux/memblock.h> | 33 | #include <linux/memblock.h> |
35 | #include <linux/of.h> | 34 | #include <linux/of.h> |
@@ -924,23 +923,3 @@ bool arch_match_cpu_phys_id(int cpu, u64 phys_id) | |||
924 | { | 923 | { |
925 | return (int)phys_id == get_hard_smp_processor_id(cpu); | 924 | return (int)phys_id == get_hard_smp_processor_id(cpu); |
926 | } | 925 | } |
927 | |||
928 | #if defined(CONFIG_DEBUG_FS) && defined(DEBUG) | ||
929 | static struct debugfs_blob_wrapper flat_dt_blob; | ||
930 | |||
931 | static int __init export_flat_device_tree(void) | ||
932 | { | ||
933 | struct dentry *d; | ||
934 | |||
935 | flat_dt_blob.data = initial_boot_params; | ||
936 | flat_dt_blob.size = be32_to_cpu(initial_boot_params->totalsize); | ||
937 | |||
938 | d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR, | ||
939 | powerpc_debugfs_root, &flat_dt_blob); | ||
940 | if (!d) | ||
941 | return 1; | ||
942 | |||
943 | return 0; | ||
944 | } | ||
945 | __initcall(export_flat_device_tree); | ||
946 | #endif | ||
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) | ||
921 | static struct debugfs_blob_wrapper flat_dt_blob; | ||
922 | |||
923 | static 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 | } | ||
940 | module_init(of_flat_dt_debugfs_export_fdt); | ||
941 | #endif | ||
942 | |||
919 | #endif /* CONFIG_OF_EARLY_FLATTREE */ | 943 | #endif /* CONFIG_OF_EARLY_FLATTREE */ |