mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 18:21:49 +00:00
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>
This commit is contained in:
parent
c972de1497
commit
b0a6fb36a4
@ -114,34 +114,3 @@ void __init early_init_devtree(void *params)
|
|||||||
|
|
||||||
pr_debug(" <- early_init_devtree()\n");
|
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
|
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
#include <linux/export.h>
|
#include <linux/export.h>
|
||||||
#include <linux/kexec.h>
|
#include <linux/kexec.h>
|
||||||
#include <linux/debugfs.h>
|
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/memblock.h>
|
#include <linux/memblock.h>
|
||||||
#include <linux/of.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);
|
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
|
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/libfdt.h>
|
#include <linux/libfdt.h>
|
||||||
|
#include <linux/debugfs.h>
|
||||||
|
|
||||||
#include <asm/setup.h> /* for COMMAND_LINE_SIZE */
|
#include <asm/setup.h> /* for COMMAND_LINE_SIZE */
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
@ -916,4 +917,27 @@ void __init unflatten_and_copy_device_tree(void)
|
|||||||
unflatten_device_tree();
|
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 */
|
#endif /* CONFIG_OF_EARLY_FLATTREE */
|
||||||
|
Loading…
Reference in New Issue
Block a user