diff options
author | Joe Perches <joe@perches.com> | 2014-09-21 13:55:06 -0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2014-09-25 09:14:57 -0400 |
commit | 6d31c2fa0eee89e31ca48a66ccfaf71ef545c474 (patch) | |
tree | a30a1bc22d1d24e265fb81dbfa9184df1e42af53 /arch/powerpc/platforms/powernv/pci-ioda.c | |
parent | 45eb47242df87acbf26c0c2c0a7ab677661153c6 (diff) |
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: Joe Perches <joe@perches.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/platforms/powernv/pci-ioda.c')
-rw-r--r-- | arch/powerpc/platforms/powernv/pci-ioda.c | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c index 7518aa19a2ef..bc79bbdbb6c7 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c | |||
@@ -41,34 +41,36 @@ | |||
41 | #include "powernv.h" | 41 | #include "powernv.h" |
42 | #include "pci.h" | 42 | #include "pci.h" |
43 | 43 | ||
44 | #define define_pe_printk_level(func, kern_level) \ | 44 | static void pe_level_printk(const struct pnv_ioda_pe *pe, const char *level, |
45 | static void func(const struct pnv_ioda_pe *pe, const char *fmt, ...) \ | 45 | const char *fmt, ...) |
46 | { \ | 46 | { |
47 | struct va_format vaf; \ | 47 | struct va_format vaf; |
48 | va_list args; \ | 48 | va_list args; |
49 | char pfix[32]; \ | 49 | char pfix[32]; |
50 | \ | 50 | |
51 | va_start(args, fmt); \ | 51 | va_start(args, fmt); |
52 | \ | 52 | |
53 | vaf.fmt = fmt; \ | 53 | vaf.fmt = fmt; |
54 | vaf.va = &args; \ | 54 | vaf.va = &args; |
55 | \ | 55 | |
56 | if (pe->pdev) \ | 56 | if (pe->pdev) |
57 | strlcpy(pfix, dev_name(&pe->pdev->dev), \ | 57 | strlcpy(pfix, dev_name(&pe->pdev->dev), sizeof(pfix)); |
58 | sizeof(pfix)); \ | 58 | else |
59 | else \ | 59 | sprintf(pfix, "%04x:%02x ", |
60 | sprintf(pfix, "%04x:%02x ", \ | 60 | pci_domain_nr(pe->pbus), pe->pbus->number); |
61 | pci_domain_nr(pe->pbus), \ | 61 | |
62 | pe->pbus->number); \ | 62 | printk("%spci %s: [PE# %.3d] %pV", |
63 | printk(kern_level "pci %s: [PE# %.3d] %pV", \ | 63 | level, pfix, pe->pe_number, &vaf); |
64 | pfix, pe->pe_number, &vaf); \ | 64 | |
65 | \ | 65 | va_end(args); |
66 | va_end(args); \ | 66 | } |
67 | } \ | 67 | |
68 | 68 | #define pe_err(pe, fmt, ...) \ | |
69 | define_pe_printk_level(pe_err, KERN_ERR); | 69 | pe_level_printk(pe, KERN_ERR, fmt, ##__VA_ARGS__) |
70 | define_pe_printk_level(pe_warn, KERN_WARNING); | 70 | #define pe_warn(pe, fmt, ...) \ |
71 | define_pe_printk_level(pe_info, KERN_INFO); | 71 | pe_level_printk(pe, KERN_WARNING, fmt, ##__VA_ARGS__) |
72 | #define pe_info(pe, fmt, ...) \ | ||
73 | pe_level_printk(pe, KERN_INFO, fmt, ##__VA_ARGS__) | ||
72 | 74 | ||
73 | /* | 75 | /* |
74 | * stdcix is only supposed to be used in hypervisor real mode as per | 76 | * stdcix is only supposed to be used in hypervisor real mode as per |