summaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2009-01-19 11:31:00 +1100
committerJesse Barnes <jbarnes@hobbes.lan>2009-03-19 19:29:26 -0700
commit11df1f05514beaf0269484191007dbc8d47e0e6f (patch)
treed4fce7438e5513d86b866c4890a38c0d437df76f /arch/x86
parentb43d451385ef833e0696032aac2629da04d46c59 (diff)
downloadlinux-stable-11df1f05514beaf0269484191007dbc8d47e0e6f.tar.gz
linux-stable-11df1f05514beaf0269484191007dbc8d47e0e6f.tar.bz2
linux-stable-11df1f05514beaf0269484191007dbc8d47e0e6f.zip
PCI/MSI: Use #ifdefs instead of weak functions
Weak functions aren't all they're cracked up to be. They lead to incorrect binaries with some toolchains, they require us to have empty functions we otherwise wouldn't, and the unused code is not elided (as of gcc 4.3.2 anyway). So replace the weak MSI arch hooks with the #define foo foo idiom. We no longer need empty versions of arch_setup/teardown_msi_irq(). This is less source (by 1 line!), and results in smaller binaries too: text data bss dec hex filename 9354300 1693916 678424 11726640 b2ef30 build/powerpc/vmlinux-before 9354052 1693852 678424 11726328 b2edf8 build/powerpc/vmlinux-after Also smaller on x86_64 and arm (iop13xx). Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/include/asm/pci.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h
index a977de23cb4d..a0301bfeb954 100644
--- a/arch/x86/include/asm/pci.h
+++ b/arch/x86/include/asm/pci.h
@@ -86,6 +86,9 @@ static inline void early_quirks(void) { }
extern void pci_iommu_alloc(void);
+/* MSI arch hook */
+#define arch_setup_msi_irqs arch_setup_msi_irqs
+
#endif /* __KERNEL__ */
#ifdef CONFIG_X86_32