Commit 6d31c2fa authored by Joe Perches's avatar Joe Perches Committed by Michael Ellerman

powerpc: pci-ioda: Use a single function to emit logging messages

No need for 3 functions when a single one will do.

Modify the function declaring macros to call the single function.

Reduces object code size a little:

$ size arch/powerpc/platforms/powernv/pci-ioda.o*
   text	   data	    bss	    dec	    hex	filename
  22303	   1073	   6680	  30056	   7568	arch/powerpc/platforms/powernv/pci-ioda.o.new
  22840	   1121	   6776	  30737	   7811	arch/powerpc/platforms/powernv/pci-ioda.o.old
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 45eb4724
...@@ -41,34 +41,36 @@ ...@@ -41,34 +41,36 @@
#include "powernv.h" #include "powernv.h"
#include "pci.h" #include "pci.h"
#define define_pe_printk_level(func, kern_level) \ static void pe_level_printk(const struct pnv_ioda_pe *pe, const char *level,
static void func(const struct pnv_ioda_pe *pe, const char *fmt, ...) \ const char *fmt, ...)
{ \ {
struct va_format vaf; \ struct va_format vaf;
va_list args; \ va_list args;
char pfix[32]; \ char pfix[32];
\
va_start(args, fmt); \ va_start(args, fmt);
\
vaf.fmt = fmt; \ vaf.fmt = fmt;
vaf.va = &args; \ vaf.va = &args;
\
if (pe->pdev) \ if (pe->pdev)
strlcpy(pfix, dev_name(&pe->pdev->dev), \ strlcpy(pfix, dev_name(&pe->pdev->dev), sizeof(pfix));
sizeof(pfix)); \ else
else \ sprintf(pfix, "%04x:%02x ",
sprintf(pfix, "%04x:%02x ", \ pci_domain_nr(pe->pbus), pe->pbus->number);
pci_domain_nr(pe->pbus), \
pe->pbus->number); \ printk("%spci %s: [PE# %.3d] %pV",
printk(kern_level "pci %s: [PE# %.3d] %pV", \ level, pfix, pe->pe_number, &vaf);
pfix, pe->pe_number, &vaf); \
\ va_end(args);
va_end(args); \ }
} \
#define pe_err(pe, fmt, ...) \
define_pe_printk_level(pe_err, KERN_ERR); pe_level_printk(pe, KERN_ERR, fmt, ##__VA_ARGS__)
define_pe_printk_level(pe_warn, KERN_WARNING); #define pe_warn(pe, fmt, ...) \
define_pe_printk_level(pe_info, KERN_INFO); pe_level_printk(pe, KERN_WARNING, fmt, ##__VA_ARGS__)
#define pe_info(pe, fmt, ...) \
pe_level_printk(pe, KERN_INFO, fmt, ##__VA_ARGS__)
/* /*
* stdcix is only supposed to be used in hypervisor real mode as per * stdcix is only supposed to be used in hypervisor real mode as per
......
Markdown is supported
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