summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Cromie <jim.cromie@gmail.com>2012-04-27 22:30:42 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-30 22:26:31 +0200
commit3ec5652ab70f6e9a888d9e5f67c858af354323b3 (patch)
tree309ed6abea9f994da93a33576aeaf07cefe2562b
parentdynamic_debug: update Documentation/*, Kconfig.debug (diff)
downloadlinux-3ec5652ab70f6e9a888d9e5f67c858af354323b3.tar.xz
linux-3ec5652ab70f6e9a888d9e5f67c858af354323b3.zip
dynamic_debug: init with early_initcall, not arch_initcall
1- Call dynamic_debug_init() from early_initcall, not arch_initcall. 2- Call dynamic_debug_init_debugfs() from fs_initcall, not module_init. RFC: This works for me on a 64 bit desktop and a i586 SBC, but is untested on other arches. I presume there is or was a reason original code used arch_initcall, maybe the constraints have changed. This makes facility available as soon as possible. 2nd change has a downside when dynamic_debug.verbose=1; all the vpr_info()s called in the proc-fs code are activated, causing voluminous output from dmesg. TBD: Im unsure of this explanation, but the output is there. This could be fixed by changing those callsites to v2pr_info(if verbose > 1). 1st change is still not early enough to enable pr_debugs in kernel/params, so parsing of boot-args isnt logged. The reparse of those args is however visible after params.dyndbg="+p" is processed. Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Acked-by: Jason Baron <jbaron@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--lib/dynamic_debug.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index cfd84638b1a4..7ca29a0a3019 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -1042,7 +1042,7 @@ out_err:
return 0;
}
/* Allow early initialization for boot messages via boot param */
-arch_initcall(dynamic_debug_init);
+early_initcall(dynamic_debug_init);
/* Debugfs setup must be done later */
-module_init(dynamic_debug_init_debugfs);
+fs_initcall(dynamic_debug_init_debugfs);