"Jun'ichi Nomura" <j-nomura@xxxxxxxxxxxxx> writes: > Hi Mark, > > Mark Maule wrote: >> Index: linux-2.6.16/include/asm-ia64/msi.h >> =================================================================== >> --- linux-2.6.16.orig/include/asm-ia64/msi.h 2006-03-19 23:53:29.000000000 -0600 >> +++ linux-2.6.16/include/asm-ia64/msi.h 2006-03-20 14:50:53.331368084 -0600 >> @@ -14,4 +14,16 @@ >> #define ack_APIC_irq ia64_eoi >> #define MSI_TARGET_CPU_SHIFT 4 >> >> +extern struct msi_ops msi_apic_ops; >> + >> +static inline int msi_arch_init(void) >> +{ >> + if (platform_msi_init) >> + return platform_msi_init(); >> + >> + /* default ops for most ia64 platforms */ >> + msi_register(&msi_apic_ops); >> + return 0; >> +} >> + >> #endif /* ASM_MSI_H */ > > It turned out that the above code breaks configs other > than CONFIG_IA64_SN and CONFIG_IA64_GENERIC. > e.g. CONFIG_IA64_DIG. > > In file included from /build/16.msi/drivers/pci/msi.h:71, > from /build/16.msi/drivers/pci/msi.c:24: > include2/asm/msi.h: In function `msi_arch_init': > include2/asm/msi.h:22: error: called object is not a function > make[3]: *** [drivers/pci/msi.o] Error 1 > > Something like below might fix this problem: > if (platform_msi_init) { > ia64_mv_msi_init_t *fn = platform_msi_init; > return (*fn)(); > } platform_msi_init should have the right type in the first place, ie. defined to ((ia64_mv_msi_init_t*)NULL) instead of just NULL. Andreas. -- Andreas Schwab, SuSE Labs, schwab@xxxxxxx SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." - : send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |