The following hacks to bring it up to date got the vendor-supplied
driver working for me.  This is just fixing the things the compiler
complained about; there may be other issues, but they don't seem to
interfere with basic funtionality.


diff --git a/Makefile b/Makefile
index c91b384..31e4172 100644
--- a/Makefile
+++ b/Makefile
@@ -77,10 +77,10 @@ ifeq ($(kernelFlag26),kernel26x)
 EXTRA_CFLAGS+=$(MAPPING_MODE)
 
 all:
-       $(MAKE) -C $(KernelBuildDir) SUBDIRS=$(PWD) modules 
+       $(MAKE) -C $(KernelBuildDir) M=$(PWD)
        
 install:
-       install -m 644 -c ipg.$(kernelExtension) $(kernelMisc)
+       $(MAKE) -C $(KernelBuildDir) M=$(PWD) modules_install
 
 ipg-objs:=$(OBJS)
 obj-m+=$(TARGET)
diff --git a/ipg.h b/ipg.h
index 2d184d4..cefe5c8 100644
--- a/ipg.h
+++ b/ipg.h
@@ -98,8 +98,8 @@
  */
 
 
-#include <linux/config.h>
 #include <linux/version.h>
+#include <linux/utsrelease.h>
 #include <linux/module.h>
 
 #if ((LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)) &&  defined(MODVERSIONS))
diff --git a/ipg_main.c b/ipg_main.c
index c39ff4a..3a0dfd4 100644
--- a/ipg_main.c
+++ b/ipg_main.c
@@ -172,9 +172,11 @@ int     ipg_io_config(IPG_DEVICE_TYPE 
*ipg_ethernet_device);
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
 void    ipg_interrupt_handler(int ipg_irq, void *device_instance,
                                 struct pt_regs *regs);
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
 static  irqreturn_t  ipg_interrupt_handler(int ipg_irq, void *device_instance,
                                 struct pt_regs *regs);
+#else
+static  irqreturn_t  ipg_interrupt_handler(int ipg_irq, void *device_instance);
 #endif
 
 void    ipg_nic_txcleanup(IPG_DEVICE_TYPE *ipg_ethernet_device);
@@ -1425,9 +1427,11 @@ int      ipg_io_config(IPG_DEVICE_TYPE 
*ipg_ethernet_device)
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
 void ipg_interrupt_handler(int ipg_irq, void *device_instance,
                                 struct pt_regs *regs)
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
 static  irqreturn_t  ipg_interrupt_handler(int ipg_irq, void *device_instance,
                                 struct pt_regs *regs)
+#else
+static  irqreturn_t  ipg_interrupt_handler(int ipg_irq, void *device_instance)
 #endif
 {
        int                             error;
@@ -1957,7 +1961,7 @@ int       ipg_nic_open(IPG_DEVICE_TYPE 
*ipg_ethernet_device)
         */
        if ((error = request_irq(sp->ipg_pci_device->irq,
                                 &ipg_interrupt_handler,
-                                SA_SHIRQ,
+                                IRQF_SHARED,
                                 ipg_ethernet_device->name,
                                 ipg_ethernet_device)) < 0)
        {
@@ -4041,7 +4045,10 @@ int      init_module(void)
 #endif
 
        IPG_DEBUG_MSG("init_module\n");
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0) 
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)       
+       return pci_register_driver(&ipg_pci_driver);
+#elif LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)       
        return pci_module_init(&ipg_pci_driver);
 #else
        
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to