I couldn't get my lirc-0.8.0 to compile with the new kernel 2.6.16, so I pulled a couple files out of CVS and generated this patch. It works for me on 2.6.16 now.
diff -Naur lirc-0.8.0/drivers/kcompat.h lirc-kernel-2.6.16/drivers/kcompat.h
--- lirc-0.8.0/drivers/kcompat.h        2006-01-07 15:51:31.000000000 -0500
+++ lirc-kernel-2.6.16/drivers/kcompat.h        2006-03-21 16:58:54.000000000 
-0500
@@ -1,10 +1,16 @@
-/*      $Id: kcompat.h,v 5.24 2006/01/07 20:51:31 lirc Exp $      */
+/*      $Id: kcompat.h,v 5.26 2006/03/04 23:16:02 lirc Exp $      */
 
 #ifndef _KCOMPAT_H
 #define _KCOMPAT_H
 
 #include <linux/version.h>
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16)
+#define LIRC_THIS_MODULE(x) x,
+#else /* >= 2.6.16 */
+#define LIRC_THIS_MODULE(x)
+#endif
+
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
 
 #include <linux/device.h>
@@ -245,6 +251,11 @@
 #   define I2C_ALGO_BIT 0
 #endif
 
+/* removed in 2.6.16 */
+#ifndef I2C_DRIVERID_EXP3
+#  define I2C_DRIVERID_EXP3 0xf003
+#endif
+
 /*************************** USB specific *****************************/
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0)
 #include <linux/usb.h>
diff -Naur lirc-0.8.0/drivers/lirc_i2c/lirc_i2c.c 
lirc-kernel-2.6.16/drivers/lirc_i2c/lirc_i2c.c
--- lirc-0.8.0/drivers/lirc_i2c/lirc_i2c.c      2005-10-20 14:25:58.000000000 
-0400
+++ lirc-kernel-2.6.16/drivers/lirc_i2c/lirc_i2c.c      2006-03-21 
17:01:40.000000000 -0500
@@ -1,4 +1,4 @@
-/*      $Id: lirc_i2c.c,v 1.35 2005/10/20 18:25:58 lirc Exp $      */
+/*      $Id: lirc_i2c.c,v 1.36 2006/03/04 23:16:03 lirc Exp $      */
 
 /*
  * i2c IR lirc plugin for Hauppauge and Pixelview cards - new 2.3.x i2c stack
@@ -360,9 +360,16 @@
 static int ir_command(struct i2c_client *client, unsigned int cmd, void *arg);
 
 static struct i2c_driver driver = {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 16)
         name:           "i2c ir driver",
-        id:             I2C_DRIVERID_EXP3, /* FIXME */
         flags:          I2C_DF_NOTIFY,
+#else
+       .driver = {
+               owner:  THIS_MODULE,
+               name:   "i2c ir driver",
+       },
+#endif
+        id:             I2C_DRIVERID_EXP3, /* FIXME */
         attach_adapter: ir_probe,
         detach_client:  ir_detach,
         command:        ir_command,

Reply via email to