asm/msi.h is a private header for core pci code. It should not be included from common header. Signed-off-by: Jun'ichi Nomura --- linux-2.6.16-rc6-mm1.orig/include/asm-ia64/msi.h 2006-03-14 13:54:11.000000000 -0500 +++ linux-2.6.16-rc6-mm1/include/asm-ia64/msi.h 2006-03-16 01:36:44.000000000 -0500 @@ -17,12 +17,12 @@ static inline void set_intr_gate (int nr extern struct msi_ops msi_apic_ops; /* default ia64 msi init routine */ -static inline int ia64_msi_init(void) +static inline int msi_arch_init(void) { + if (platform_msi_init) + return platform_msi_init(); msi_register(&msi_apic_ops); return 0; } -#define msi_arch_init platform_msi_init /* in asm/machvec.h */ - #endif /* ASM_MSI_H */ --- linux-2.6.16-rc6-mm1.orig/include/asm-ia64/machvec.h 2006-03-16 01:22:49.000000000 -0500 +++ linux-2.6.16-rc6-mm1/include/asm-ia64/machvec.h 2006-03-16 01:40:34.000000000 -0500 @@ -404,12 +404,7 @@ extern ia64_mv_dma_supported swiotlb_dm # define platform_migrate machvec_noop_task #endif #ifndef platform_msi_init -#ifdef CONFIG_PCI_MSI -#include /* pull in ia64_msi_init() */ -# define platform_msi_init ia64_msi_init -#else # define platform_msi_init NULL -#endif /* CONFIG_PCI_MSI */ #endif #endif /* _ASM_IA64_MACHVEC_H */