Hi All,

In trying to build OFED 1.5.1 with RHEL4U7's linux-2.6.9-78.0.24 kernel,
I am getting the following errors:

  gcc 
-Wp,-MD,/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/.ipath_driver.o.d
 -nostdinc -iwithprefix include -D__KERNEL__ -D__OFED_BUILD__  -include 
include/linux/autoconf.h  -include 
/cache/build/BUILD/ofa_kernel-1.5.1/include/linux/autoconf.h  
-I/cache/build/BUILD/ofa_kernel-1.5.1/kernel_addons/backport/2.6.9_U7/include/  
   -I/cache/build/BUILD/ofa_kernel-1.5.1/include  
-I/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/debug  
-I/usr/local/include/scst  
-I/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/ulp/srpt  
-I/cache/build/BUILD/ofa_kernel-1.5.1/drivers/net/cxgb3  -Iinclude    
-I/cache/build/BUILD/lustre-kernel-2.6.9/lustre-1.8.3.53/linux-2.6.9-78.0.24/arch//include
   -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common 
-Os -fomit-frame-pointer -g -Wdeclaration-after-statement  -mno-red-zone 
-mcmodel=kernel -pipe -fno-reorder-blocks  -Wno-sign-compare -funit-at-a-time 
-DIPATH_IDSTR=QLogic kernel.org driver -DIPATH_KERN_TYPE=0  -DMODULE 
-DKBUILD_BASENAME=ipath_driver -DKBUILD_MODNAME=ib_ipath -c -o 
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/.tmp_ipath_driver.o
 /cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c:150:
 error: unknown field `groups' specified in initializer
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c:150:
 warning: initialization from incompatible pointer type
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c: 
In function `ipath_verify_pioperf':
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c:366:
 warning: implicit declaration of function `__iowrite32_copy'
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c: 
In function `ipath_init_one':
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c:620:
 warning: passing arg 1 of `iounmap' discards qualifiers from pointer target 
type
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c: 
In function `ipath_remove_one':
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c:789:
 warning: passing arg 1 of `iounmap' discards qualifiers from pointer target 
type
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c: 
In function `ipath_reset_device':
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c:2598:
 warning: implicit declaration of function `pid_nr'
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c: 
In function `ipath_signal_procs':
/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.c:2656:
 warning: implicit declaration of function `kill_pid'
make[4]: *** 
[/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath/ipath_driver.o]
 Error 1
make[3]: *** [/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband/hw/ipath] 
Error 2
make[2]: *** [/cache/build/BUILD/ofa_kernel-1.5.1/drivers/infiniband] Error 2
make[1]: *** [_module_/cache/build/BUILD/ofa_kernel-1.5.1] Error 2
make[1]: Leaving directory 
`/cache/build/BUILD/lustre-kernel-2.6.9/lustre-1.8.3.53/linux-2.6.9-78.0.24'
make: *** [kernel] Error 2

I know these sorts of things usually wind up being operator error but
I've checked the release notes and they specify as supported:

- RedHat EL4 up7        2.6.9-78.ELsmp

Does that really preclude the 2.6.9-78.0.24 variant of that kernel?

I  have checked into the nature of the problem and found that the struct
being initialized is:

static struct pci_driver ipath_driver = {
        .name = IPATH_DRV_NAME,
        .probe = ipath_init_one,
        .remove = __devexit_p(ipath_remove_one),
        .id_table = ipath_pci_tbl,
        .driver = {
                .groups = ipath_driver_attr_groups,
        },
};

struct pci_driver has the following definition:

struct pci_driver {
        struct list_head node;
        char *name;
        const struct pci_device_id *id_table;   /* must be non-NULL for probe 
to be called */
        int  (*probe)  (struct pci_dev *dev, const struct pci_device_id *id);   
/* New device inserted */
        void (*remove) (struct pci_dev *dev);   /* Device removed (NULL if not 
a hot-plug capable driver) */
        int  (*suspend) (struct pci_dev *dev, u32 state);       /* Device 
suspended */
        int  (*resume) (struct pci_dev *dev);                   /* Device woken 
up */   
        int  (*enable_wake) (struct pci_dev *dev, u32 state, int enable);   /* 
Enable wake event */

        struct device_driver    driver;
        struct pci_dynids dynids;
};

and struct device_driver the following definition:

struct device_driver {
        char                    * name;
        struct bus_type         * bus;

        struct semaphore        unload_sem;
        struct kobject          kobj;
        struct list_head        devices;

        int     (*probe)        (struct device * dev);
        int     (*remove)       (struct device * dev);
        void    (*shutdown)     (struct device * dev);
        int     (*suspend)      (struct device * dev, u32 state, u32 level);
        int     (*resume)       (struct device * dev, u32 level);
};

So, indeed, no groups member in struct device_driver.

I also checked
ofa_kernel-1.5.1/kernel_addons/backport/2.6.9_U7/include/linux/device.h
to make sure there was not a backport override that I was not missing
and there is not.

Looking at linux-2.6.9-78, the story is the same though.  No .groups
member of struct device_driver.

So what am I missing here?

Cheers,
b.

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
ewg mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

Reply via email to