mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	vsprintf: use new vsprintf symbolic function pointer format
Use the '%pF' format to get rid of an "#ifdef DEBUG" and make some printks atomic. 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: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									404d0ae289
								
							
						
					
					
						commit
						c80cfb0406
					
				
					 3 changed files with 14 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -294,6 +294,15 @@ Who:	Jiri Slaby <jirislaby@gmail.com>
 | 
			
		|||
 | 
			
		||||
---------------------------
 | 
			
		||||
 | 
			
		||||
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 <bjorn.helgaas@hp.com>
 | 
			
		||||
 | 
			
		||||
---------------------------
 | 
			
		||||
 | 
			
		||||
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);
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(__suspend_report_result);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue