[PATCH] (-mm) drivers/pci/msi: explicit declaration of msi_register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

In 2.6.16-rc6-mm1, I've seen tons of compiler warnings on ia64:

include2/asm/msi.h: In function `ia64_msi_init':
include2/asm/msi.h:23: warning: implicit declaration of function `msi_register'
In file included from include2/asm/machvec.h:408,
                 from include2/asm/io.h:70,
                 from include2/asm/smp.h:20,
                 from /build/rc6/source/include/linux/smp.h:22,

The problem is that msi_register() is used in ia64_msi_init()
without declaration.
Since ia64_msi_init() is a part of machine vector, most of files
hit this warning and may hide other important messages.

Other than ia64, i386 and x86_64 have similar msi.h.
But they are not affected since include/asm/msi.h isn't
included without drivers/pci/pci.h where msi_register() is
declared.

The attached patch fixes this specific problem.
Proper fix might be moving the declaration in common header
but including something from machvec.h causes a lot of other
problems, so it would be nice if someone have better idea on this.

Thanks,
-- 
Jun'ichi Nomura, NEC Solutions (America), Inc.
Declare msi_register() in msi.h.

The patch is especially necessary for ia64 on which most of files
emit compiler warnings like below:
  include2/asm/msi.h: In function `ia64_msi_init':
  include2/asm/msi.h:23: warning: implicit declaration of function `msi_register'
  In file included from include2/asm/machvec.h:408,
                 from include2/asm/io.h:70,
                 from include2/asm/smp.h:20,
                 from /build/rc6/source/include/linux/smp.h:22,

Signed-off-by: Jun'ichi Nomura <[email protected]>

--- 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-14 14:05:26.000000000 -0500
@@ -15,6 +15,7 @@ static inline void set_intr_gate (int nr
 #define MSI_TARGET_CPU_SHIFT	4
 
 extern struct msi_ops msi_apic_ops;
+extern int msi_register(struct msi_ops *);
 
 /* default ia64 msi init routine */
 static inline int ia64_msi_init(void)

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux