Commit c80cfb04 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Linus Torvalds
Browse files

vsprintf: use new vsprintf symbolic function pointer format

Use the '%pF' format to get rid of an "#ifdef DEBUG" and make some printks

This removes the last in-tree uses of print_fn_descriptor_symbol().  I
marked print_fn_descriptor_symbol() deprecated and scheduled it for
removal next year to give time for out-of-tree modules to be updated.

parisc's print_fn_descriptor_symbol() is currently broken there (it needs
to dereference the function pointer similar to ia64 and power).  This
patch shouldn't make anything worse, but it means we need to fix
dereference_function_descriptor() instead of print_fn_descriptor_symbol()
to get meaningful initcall_debug output.

Signed-off-by: default avatarBjorn Helgaas <>
Cc: Jesse Barnes <>
Cc: Kyle McMartin <>
Cc: "Rafael J. Wysocki" <>
Cc: Kay Sievers <>
Cc: Greg KH <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent 404d0ae2
......@@ -294,6 +294,15 @@ Who: Jiri Slaby <>
What: print_fn_descriptor_symbol()
When: October 2009
Why: The %pF vsprintf format provides the same functionality in a
simpler way. print_fn_descriptor_symbol() is deprecated but
still present to give out-of-tree modules time to change.
Who: Bjorn Helgaas <>
What: /sys/o2cb symlink
When: January 2010
Why: /sys/fs/o2cb is the proper location for this information - /sys/o2cb
......@@ -778,10 +778,7 @@ EXPORT_SYMBOL_GPL(device_suspend);
void __suspend_report_result(const char *function, void *fn, int ret)
if (ret) {
printk(KERN_ERR "%s(): ", function);
print_fn_descriptor_symbol("%s returns ", fn);
printk("%d\n", ret);
if (ret)
printk(KERN_ERR "%s(): %pF returns %d\n", function, fn, ret);
......@@ -93,12 +93,10 @@ static inline void print_symbol(const char *fmt, unsigned long addr)
* Pretty-print a function pointer.
* ia64 and ppc64 function pointers are really function descriptors,
* which contain a pointer the real address.
* Pretty-print a function pointer. This function is deprecated.
* Please use the "%pF" vsprintf format instead.
static inline void print_fn_descriptor_symbol(const char *fmt, void *addr)
static inline void __deprecated print_fn_descriptor_symbol(const char *fmt, void *addr)
#if defined(CONFIG_IA64) || defined(CONFIG_PPC64)
addr = *(void **)addr;
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment