Skip to content

Commit

Permalink
[POWERPC] Make the debugfs "powerpc" dir globally accessible
Browse files Browse the repository at this point in the history
The prom.c debugging code creates a "powerpc" directory in debugfs,
which is nice, but doesn't allow any other debugging code to stick things
under "powerpc" in debugfs. So make it global.

While we're there we should make the prom.c debugging code depend on
CONFIG_DEBUG_FS, because it doesn't work otherwise.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Michael Ellerman authored and Paul Mackerras committed Jul 10, 2007
1 parent db0dbae commit 94a3807
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 6 deletions.
9 changes: 3 additions & 6 deletions arch/powerpc/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
#include <asm/pSeries_reconfig.h>
#include <asm/pci-bridge.h>
#include <asm/kexec.h>
#include <asm/system.h>

#ifdef DEBUG
#define DBG(fmt...) printk(KERN_ERR fmt)
Expand Down Expand Up @@ -1730,22 +1731,18 @@ struct device_node *of_get_cpu_node(int cpu, unsigned int *thread)
}
EXPORT_SYMBOL(of_get_cpu_node);

#ifdef DEBUG
#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;

d = debugfs_create_dir("powerpc", NULL);
if (!d)
return 1;

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,
d, &flat_dt_blob);
powerpc_debugfs_root, &flat_dt_blob);
if (!d)
return 1;

Expand Down
13 changes: 13 additions & 0 deletions arch/powerpc/kernel/setup-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <linux/unistd.h>
#include <linux/serial.h>
#include <linux/serial_8250.h>
#include <linux/debugfs.h>
#include <asm/io.h>
#include <asm/prom.h>
#include <asm/processor.h>
Expand Down Expand Up @@ -579,3 +580,15 @@ static int __init check_cache_coherency(void)

late_initcall(check_cache_coherency);
#endif /* CONFIG_CHECK_CACHE_COHERENCY */

#ifdef CONFIG_DEBUG_FS
struct dentry *powerpc_debugfs_root;

static int powerpc_debugfs_init(void)
{
powerpc_debugfs_root = debugfs_create_dir("powerpc", NULL);

return powerpc_debugfs_root == NULL;
}
arch_initcall(powerpc_debugfs_init);
#endif
2 changes: 2 additions & 0 deletions include/asm-powerpc/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -559,5 +559,7 @@ static inline void create_function_call(unsigned long addr, void * func)
extern void account_system_vtime(struct task_struct *);
#endif

extern struct dentry *powerpc_debugfs_root;

#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_SYSTEM_H */

0 comments on commit 94a3807

Please sign in to comment.