Jun'ichi Nomura wrote:
There is another problem that CONFIG_IA64_GENERIC still doesn't
build due to error in SGI SN specific code.
The error is as followings.
CC arch/ia64/sn/pci/msi.o
/build/rc6/source/arch/ia64/sn/pci/msi.c: At top level:
/build/rc6/source/arch/ia64/sn/pci/msi.c:192: error: variable `sn_msi_ops' has initializer but incomplete type
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: error: unknown field `setup' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:193: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: error: unknown field `teardown' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:194: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: error: unknown field `target' specified in initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: warning: excess elements in struct initializer
/build/rc6/source/arch/ia64/sn/pci/msi.c:196: warning: (near initialization for `sn_msi_ops')
/build/rc6/source/arch/ia64/sn/pci/msi.c:192: error: storage size of `sn_msi_ops' isn't known
The code seems to define its own msi_ops but never include a
definition of struct msi_ops.
I think this is a sign that some part of arch/ia64/sn/pci/msi.c
should move to something like drivers/pci/msi-sgi-sn.c.
I leave it to SGI developers, who should have a good insight on
what the proper fix is. Mark?
If such fix doesn't come up soon, the attached patch can be
a band-aid.
Thanks,
--
Jun'ichi Nomura, NEC Solutions (America), Inc.
--- linux-2.6.16-rc6-mm1.orig/arch/ia64/sn/pci/msi.c 2006-03-14 18:13:18.000000000 -0500
+++ linux-2.6.16-rc6-mm1/arch/ia64/sn/pci/msi.c 2006-03-16 01:51:51.000000000 -0500
@@ -10,14 +10,15 @@
#include <linux/pci.h>
#include <linux/cpumask.h>
-#include <asm/msi.h>
-
#include <asm/sn/addrs.h>
#include <asm/sn/intr.h>
#include <asm/sn/pcibus_provider_defs.h>
#include <asm/sn/pcidev.h>
#include <asm/sn/nodepda.h>
+#include "../../../../drivers/pci/pci.h"
+#include "../../../../drivers/pci/msi.h"
+
struct sn_msi_info {
u64 pci_addr;
struct sn_irq_info *sn_irq_info;
[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]