Skip to content

Commit b0a6fb3

Browse files
committed
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 <[email protected]> Tested-by: Michal Simek <[email protected]> Cc: Michal Simek <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: [email protected] Tested-by: Grant Likely <[email protected]> Tested-by: Stephen Chivers <[email protected]>
1 parent c972de1 commit b0a6fb3

File tree

3 files changed

+24
-52
lines changed

3 files changed

+24
-52
lines changed

arch/microblaze/kernel/prom.c

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -114,34 +114,3 @@ void __init early_init_devtree(void *params)
114114

115115
pr_debug(" <- early_init_devtree()\n");
116116
}
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

arch/powerpc/kernel/prom.c

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include <linux/bitops.h>
3030
#include <linux/export.h>
3131
#include <linux/kexec.h>
32-
#include <linux/debugfs.h>
3332
#include <linux/irq.h>
3433
#include <linux/memblock.h>
3534
#include <linux/of.h>
@@ -924,23 +923,3 @@ bool arch_match_cpu_phys_id(int cpu, u64 phys_id)
924923
{
925924
return (int)phys_id == get_hard_smp_processor_id(cpu);
926925
}
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

drivers/of/fdt.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <linux/errno.h>
2121
#include <linux/slab.h>
2222
#include <linux/libfdt.h>
23+
#include <linux/debugfs.h>
2324

2425
#include <asm/setup.h> /* for COMMAND_LINE_SIZE */
2526
#include <asm/page.h>
@@ -916,4 +917,27 @@ void __init unflatten_and_copy_device_tree(void)
916917
unflatten_device_tree();
917918
}
918919

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+
919943
#endif /* CONFIG_OF_EARLY_FLATTREE */

0 commit comments

Comments
 (0)