I am running a Gentoo linux kernel 2.6.14-r5 and I am unable to compile the lirc_i2c module from the lirc-0.7.2 package. I downloaded the source from the LIRC site. I am configuring with hauppauge card and I am getting the following error:

  gcc -m32 -Wp,-MD,/home/dsavard/temp/lirc-0.7.2/drivers/lirc_i2c/.lirc_i2c.o.d  -nostdinc -isystem /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/include -D__KERNEL__ -Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2  -march=i686  -Iinclude/asm-i386/mach-default   -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I /home/dsavard/temp/lirc-0.7.2/drivers/lirc_i2c/../.. -I /lib/modules/2.6.14-gentoo-r5/build//include/  -DMODULE -DKBUILD_BASENAME=lirc_i2c -DKBUILD_MODNAME=lirc_i2c -c -o /home/dsavard/temp/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.o /home/dsavard/temp/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c
In file included from include/linux/rcuref.h:36,
                 from include/linux/fs.h:12,
                 from /home/dsavard/temp/lirc-0.7.2/drivers/lirc_dev/lirc_dev.h:24,
                 from /home/dsavard/temp/lirc-0.7.2/drivers/lirc_i2c/lirc_i2c.c:58:
include/linux/interrupt.h:30: error: conflicting types for `irqreturn_t'
/home/dsavard/temp/lirc-0.7.2/drivers/kcompat.h:166: error: previous declaration of `irqreturn_t'

Kernel 2.6.14-r5 defines irqreturn_t as an integer while the kcompat.h from the package defines it as void.

And, of course, IRQ_NONE, IRQ_HANDLED and IRQ_RETVAL are not appropriately defined as well.

So, what should be done to fix it?

--
-----------------
Daniel Savard