diff options
author | dsomero <xgizzmo@slackbuilds.org> | 2011-03-29 20:12:27 -0400 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2011-03-30 22:52:09 -0500 |
commit | 6f2665dc8c198df22e2c47b46e255f1d0b6c0546 (patch) | |
tree | 9f1ce5236b27ee139dc5db1611ab96ceb445ad17 | |
parent | dfa18a8d5719ba2518d31c63870f5841ed96f0ae (diff) |
system/lirc: Updated for version 0.9.0.
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
-rw-r--r-- | system/lirc/lirc.SlackBuild | 18 | ||||
-rw-r--r-- | system/lirc/lirc.info | 8 | ||||
-rw-r--r-- | system/lirc/patches/2.6.33.patch | 269 | ||||
-rw-r--r-- | system/lirc/patches/autoconf.patch | 194 | ||||
-rw-r--r-- | system/lirc/patches/lirc_i2c.patch | 77 |
5 files changed, 7 insertions, 559 deletions
diff --git a/system/lirc/lirc.SlackBuild b/system/lirc/lirc.SlackBuild index b187fbc4adfe..a572d5c39fe9 100644 --- a/system/lirc/lirc.SlackBuild +++ b/system/lirc/lirc.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=lirc -VERSION=${VERSION:-0.8.6} +VERSION=${VERSION:-0.9.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -74,19 +74,6 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Disabling lirc_gpio driver as it does no longer work with kernel 2.6.22+ -sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am || exit 1 - -# Fix building lirc_i2c - thanks to the Gentoo guys -patch -p1 < $CWD/patches/lirc_i2c.patch - -# Fix building on 2.6.33.x kernels - thanks to the Gentoo guys -patch -p1 < $CWD/patches/2.6.33.patch -patch -p1 < $CWD/patches/autoconf.patch - -autoreconf -libtoolize - CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -120,10 +107,11 @@ cat contrib/lircmd.conf > $PKG/etc/lircmd.conf.new cat contrib/lircrc > $PKG/etc/lircrc.new cat $CWD/lirc.logrotate > $PKG/etc/logrotate.d/lirc.new -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a ANNOUNCE AUTHORS COPYING ChangeLog INSTALL NEWS README TODO \ diff --git a/system/lirc/lirc.info b/system/lirc/lirc.info index 0c76a5cae28e..5aaa027baea0 100644 --- a/system/lirc/lirc.info +++ b/system/lirc/lirc.info @@ -1,10 +1,10 @@ PRGNAM="lirc" -VERSION="0.8.6" +VERSION="0.9.0" HOMEPAGE="http://www.lirc.org/" -DOWNLOAD="http://prdownloads.sourceforge.net/lirc/lirc-0.8.6.tar.bz2" -MD5SUM="4ca24da6f5e7c2dcea74878c27a4a3f7" +DOWNLOAD="http://downloads.sourceforge.net/project/lirc/LIRC/0.9.0/lirc-0.9.0.tar.bz2" +MD5SUM="b232aef26f23fe33ea8305d276637086" DOWNLOAD_x86_64="" MD5SUM_x86_64="" MAINTAINER="Murat D. Kadirov" EMAIL="banderols@gmail.com" -APPROVED="rworkman" +APPROVED="dsomero" diff --git a/system/lirc/patches/2.6.33.patch b/system/lirc/patches/2.6.33.patch deleted file mode 100644 index 92e50beb5113..000000000000 --- a/system/lirc/patches/2.6.33.patch +++ /dev/null @@ -1,269 +0,0 @@ ---- lirc-0.8.6.orig/drivers/lirc_dev/lirc_dev.h 2009/03/15 09:34:00 1.37 -+++ lirc-0.8.6/drivers/lirc_dev/lirc_dev.h 2010/01/23 16:28:07 1.39 -@@ -4,7 +4,7 @@ - * (L) by Artur Lipowski <alipowski@interia.pl> - * This code is licensed under GNU GPL - * -- * $Id: lirc_dev.h,v 1.37 2009/03/15 09:34:00 lirc Exp $ -+ * $Id: lirc_dev.h,v 1.39 2010/01/23 16:28:07 lirc Exp $ - * - */ - -@@ -30,14 +30,19 @@ - - struct lirc_buffer { - wait_queue_head_t wait_poll; -- spinlock_t lock; -+ spinlock_t fifo_lock; - unsigned int chunk_size; - unsigned int size; /* in chunks */ - /* Using chunks instead of bytes pretends to simplify boundary checking - * And should allow for some performance fine tunning later */ - #ifdef LIRC_HAVE_KFIFO -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - struct kfifo *fifo; - #else -+ struct kfifo fifo; -+ u8 fifo_initialized; -+#endif -+#else - unsigned int fill; /* in chunks */ - int head, tail; /* in chunks */ - unsigned char *data; -@@ -47,12 +52,12 @@ - static inline void lirc_buffer_lock(struct lirc_buffer *buf, - unsigned long *flags) - { -- spin_lock_irqsave(&buf->lock, *flags); -+ spin_lock_irqsave(&buf->fifo_lock, *flags); - } - static inline void lirc_buffer_unlock(struct lirc_buffer *buf, - unsigned long *flags) - { -- spin_unlock_irqrestore(&buf->lock, *flags); -+ spin_unlock_irqrestore(&buf->fifo_lock, *flags); - } - static inline void _lirc_buffer_clear(struct lirc_buffer *buf) - { -@@ -64,10 +69,21 @@ - static inline void lirc_buffer_clear(struct lirc_buffer *buf) - { - #ifdef LIRC_HAVE_KFIFO -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - if (buf->fifo) - kfifo_reset(buf->fifo); - #else - unsigned long flags; -+ -+ if (buf->fifo_initialized) { -+ spin_lock_irqsave(&buf->fifo_lock, flags); -+ kfifo_reset(&buf->fifo); -+ spin_unlock_irqrestore(&buf->fifo_lock, flags); -+ } -+#endif -+#else -+ unsigned long flags; -+ - lirc_buffer_lock(buf, &flags); - _lirc_buffer_clear(buf); - lirc_buffer_unlock(buf, &flags); -@@ -77,31 +93,47 @@ - unsigned int chunk_size, - unsigned int size) - { -+ int ret = 0; -+ - init_waitqueue_head(&buf->wait_poll); -- spin_lock_init(&buf->lock); -+ spin_lock_init(&buf->fifo_lock); - #ifndef LIRC_HAVE_KFIFO - _lirc_buffer_clear(buf); - #endif - buf->chunk_size = chunk_size; - buf->size = size; - #ifdef LIRC_HAVE_KFIFO -- buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->lock); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) -+ buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->fifo_lock); - if (!buf->fifo) - return -ENOMEM; - #else -+ ret = kfifo_alloc(&buf->fifo, size * chunk_size, GFP_KERNEL); -+ if (ret == 0) -+ buf->fifo_initialized = 1; -+#endif -+#else - buf->data = kmalloc(size*chunk_size, GFP_KERNEL); - if (buf->data == NULL) - return -ENOMEM; - memset(buf->data, 0, size*chunk_size); - #endif -- return 0; -+ -+ return ret; - } - static inline void lirc_buffer_free(struct lirc_buffer *buf) - { - #ifdef LIRC_HAVE_KFIFO -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - if (buf->fifo) - kfifo_free(buf->fifo); - #else -+ if (buf->fifo_initialized) { -+ kfifo_free(&buf->fifo); -+ buf->fifo_initialized = 0; -+ } -+#endif -+#else - kfree(buf->data); - buf->data = NULL; - buf->head = 0; -@@ -111,6 +143,25 @@ - buf->size = 0; - #endif - } -+ -+#ifdef LIRC_HAVE_KFIFO -+static inline int lirc_buffer_len(struct lirc_buffer *buf) -+{ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) -+ return kfifo_len(buf->fifo); -+#else -+ int len; -+ unsigned long flags; -+ -+ spin_lock_irqsave(&buf->fifo_lock, flags); -+ len = kfifo_len(&buf->fifo); -+ spin_unlock_irqrestore(&buf->fifo_lock, flags); -+ -+ return len; -+#endif -+} -+#endif -+ - #ifndef LIRC_HAVE_KFIFO - static inline int _lirc_buffer_full(struct lirc_buffer *buf) - { -@@ -120,7 +171,7 @@ - static inline int lirc_buffer_full(struct lirc_buffer *buf) - { - #ifdef LIRC_HAVE_KFIFO -- return kfifo_len(buf->fifo) == buf->size * buf->chunk_size; -+ return lirc_buffer_len(buf) == buf->size * buf->chunk_size; - #else - unsigned long flags; - int ret; -@@ -139,7 +190,7 @@ - static inline int lirc_buffer_empty(struct lirc_buffer *buf) - { - #ifdef LIRC_HAVE_KFIFO -- return !kfifo_len(buf->fifo); -+ return !lirc_buffer_len(buf); - #else - unsigned long flags; - int ret; -@@ -158,7 +209,7 @@ - static inline int lirc_buffer_available(struct lirc_buffer *buf) - { - #ifdef LIRC_HAVE_KFIFO -- return buf->size - (kfifo_len(buf->fifo) / buf->chunk_size); -+ return buf->size - (lirc_buffer_len(buf) / buf->chunk_size); - #else - unsigned long flags; - int ret; -@@ -177,21 +228,30 @@ - buf->fill -= 1; - } - #endif --static inline void lirc_buffer_read(struct lirc_buffer *buf, -- unsigned char *dest) -+static inline unsigned int lirc_buffer_read(struct lirc_buffer *buf, -+ unsigned char *dest) - { -+ unsigned int ret = 0; -+ - #ifdef LIRC_HAVE_KFIFO -- if (kfifo_len(buf->fifo) >= buf->chunk_size) -- kfifo_get(buf->fifo, dest, buf->chunk_size); -+ if (lirc_buffer_len(buf) >= buf->chunk_size) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) -+ ret = kfifo_get(buf->fifo, dest, buf->chunk_size); -+#else -+ ret = kfifo_out_locked(&buf->fifo, dest, buf->chunk_size, -+ &buf->fifo_lock); -+#endif - #else - unsigned long flags; - lirc_buffer_lock(buf, &flags); - _lirc_buffer_read_1(buf, dest); - lirc_buffer_unlock(buf, &flags); - #endif -+ -+ return ret; - } - #ifndef LIRC_HAVE_KFIFO --static inline void _lirc_buffer_write_1(struct lirc_buffer *buf, -+static inline _lirc_buffer_write_1(struct lirc_buffer *buf, - unsigned char *orig) - { - memcpy(&buf->data[buf->tail*buf->chunk_size], orig, buf->chunk_size); -@@ -199,17 +259,26 @@ - buf->fill++; - } - #endif --static inline void lirc_buffer_write(struct lirc_buffer *buf, -- unsigned char *orig) -+static inline unsigned int lirc_buffer_write(struct lirc_buffer *buf, -+ unsigned char *orig) - { -+ unsigned int ret = 0; -+ - #ifdef LIRC_HAVE_KFIFO -- kfifo_put(buf->fifo, orig, buf->chunk_size); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) -+ ret = kfifo_put(buf->fifo, orig, buf->chunk_size); -+#else -+ ret = kfifo_in_locked(&buf->fifo, orig, buf->chunk_size, -+ &buf->fifo_lock); -+#endif - #else - unsigned long flags; - lirc_buffer_lock(buf, &flags); - _lirc_buffer_write_1(buf, orig); - lirc_buffer_unlock(buf, &flags); - #endif -+ -+ return ret; - } - #ifndef LIRC_HAVE_KFIFO - static inline void _lirc_buffer_write_n(struct lirc_buffer *buf, -@@ -234,17 +303,26 @@ - buf->fill += count; - } - #endif --static inline void lirc_buffer_write_n(struct lirc_buffer *buf, -- unsigned char *orig, int count) -+static inline unsigned int lirc_buffer_write_n(struct lirc_buffer *buf, -+ unsigned char *orig, int count) - { -+ unsigned int ret = 0; -+ - #ifdef LIRC_HAVE_KFIFO -- kfifo_put(buf->fifo, orig, count * buf->chunk_size); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) -+ ret = kfifo_put(buf->fifo, orig, count * buf->chunk_size); -+#else -+ ret = kfifo_in_locked(&buf->fifo, orig, count * buf->chunk_size, -+ &buf->fifo_lock); -+#endif - #else - unsigned long flags; - lirc_buffer_lock(buf, &flags); - _lirc_buffer_write_n(buf, orig, count); - lirc_buffer_unlock(buf, &flags); - #endif -+ -+ return ret; - } - - struct lirc_driver { diff --git a/system/lirc/patches/autoconf.patch b/system/lirc/patches/autoconf.patch deleted file mode 100644 index 6e4fd50e50e9..000000000000 --- a/system/lirc/patches/autoconf.patch +++ /dev/null @@ -1,194 +0,0 @@ ---- lirc-0.8.6/drivers/lirc_dev/lirc_dev.c.old 2009-08-31 12:57:55.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_dev/lirc_dev.c 2010-03-07 01:40:17.000000000 -0500 -@@ -32,7 +32,11 @@ - #error "**********************************************************" - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #include <linux/module.h> - #include <linux/kernel.h> - #include <linux/sched.h> ---- lirc-0.8.6/drivers/lirc_sir/lirc_sir.c.old 2009-07-09 18:24:23.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_sir/lirc_sir.c 2010-03-07 01:40:17.000000000 -0500 -@@ -45,7 +45,11 @@ - # include <config.h> - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #if !defined(CONFIG_SERIAL_MODULE) - #if !defined(LIRC_ON_SA1100) - #warning "******************************************" ---- lirc-0.8.6/drivers/lirc_serial/lirc_serial.c.old 2009-03-15 05:34:00.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_serial/lirc_serial.c 2010-03-07 01:40:17.000000000 -0500 -@@ -60,7 +60,11 @@ - #error "**********************************************************" - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - - #if defined(CONFIG_SERIAL) || defined(CONFIG_SERIAL_8250) - #warning "******************************************" ---- lirc-0.8.6/drivers/lirc_bt829/lirc_bt829.c.old 2009-03-09 14:54:17.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_bt829/lirc_bt829.c 2010-03-07 01:40:17.000000000 -0500 -@@ -22,7 +22,11 @@ - #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 0) - #error "This driver needs kernel version 2.4.0 or higher" - #endif -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #include <linux/kernel.h> - #include <linux/module.h> - #include <linux/threads.h> ---- lirc-0.8.6/drivers/lirc_sasem/lirc_sasem.c.old 2009-02-28 05:27:10.000000000 -0500 -+++ lirc-0.8.6/drivers/lirc_sasem/lirc_sasem.c 2010-03-07 01:40:17.000000000 -0500 -@@ -41,7 +41,11 @@ - #error "*** Sorry, this driver requires kernel version 2.4.22 or higher" - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - - #include <linux/errno.h> - #include <linux/init.h> ---- lirc-0.8.6/drivers/lirc_igorplugusb/lirc_igorplugusb.c.old 2009-08-02 05:54:10.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_igorplugusb/lirc_igorplugusb.c 2010-03-07 01:40:17.000000000 -0500 -@@ -47,7 +47,11 @@ - #error "*******************************************************" - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #include <linux/module.h> - #include <linux/kernel.h> - #include <linux/kmod.h> ---- lirc-0.8.6/drivers/lirc_imon/lirc_imon.c.old 2009-09-11 00:56:18.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_imon/lirc_imon.c 2010-03-07 01:40:17.000000000 -0500 -@@ -30,7 +30,11 @@ - #error "*** Sorry, this driver requires a 2.6 kernel" - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - - #include <linux/errno.h> - #include <linux/init.h> ---- lirc-0.8.6/drivers/lirc_it87/lirc_it87.c.old 2009-06-01 08:21:31.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_it87/lirc_it87.c 2010-03-07 01:40:17.000000000 -0500 -@@ -36,7 +36,11 @@ - - #include <linux/version.h> - #include <linux/module.h> -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #include <linux/sched.h> - #include <linux/errno.h> - #include <linux/signal.h> ---- lirc-0.8.6/drivers/lirc_streamzap/lirc_streamzap.c.old 2009-03-15 05:34:00.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_streamzap/lirc_streamzap.c 2010-03-07 01:40:17.000000000 -0500 -@@ -35,7 +35,11 @@ - #error "Sorry, this driver needs kernel version 2.4.0 or higher" - #error "*******************************************************" - #endif -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #include <linux/kernel.h> - #include <linux/errno.h> - #include <linux/init.h> ---- lirc-0.8.6/drivers/lirc_atiusb/lirc_atiusb.c.old 2009-03-10 20:21:46.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_atiusb/lirc_atiusb.c 2010-03-07 01:40:17.000000000 -0500 -@@ -43,7 +43,11 @@ - #error "*******************************************************" - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - - #include <linux/kernel.h> - #include <linux/errno.h> ---- lirc-0.8.6/drivers/lirc_parallel/lirc_parallel.c.old 2009-03-08 15:22:28.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_parallel/lirc_parallel.c 2010-03-07 01:40:17.000000000 -0500 -@@ -34,7 +34,11 @@ - #error "**********************************************************" - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #ifdef CONFIG_SMP - #error "--- Sorry, this driver is not SMP safe. ---" - #endif -@@ -43,7 +47,11 @@ - #include <linux/sched.h> - #include <linux/errno.h> - #include <linux/signal.h> -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #include <linux/fs.h> - #include <linux/kernel.h> - #include <linux/ioport.h> ---- lirc-0.8.6/drivers/lirc_wpc8769l/lirc_wpc8769l.c.old 2009-03-15 05:34:01.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_wpc8769l/lirc_wpc8769l.c 2010-03-07 01:40:17.000000000 -0500 -@@ -37,7 +37,11 @@ - #error "**********************************************************" - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - - #include <linux/module.h> - #include <linux/errno.h> ---- lirc-0.8.6/drivers/lirc_mceusb/lirc_mceusb.c.old 2009-09-02 10:04:02.000000000 -0400 -+++ lirc-0.8.6/drivers/lirc_mceusb/lirc_mceusb.c 2010-03-07 01:40:17.000000000 -0500 -@@ -52,7 +52,11 @@ - #error "Sorry, this driver needs kernel version 2.6.5 or higher" - #error "*******************************************************" - #endif -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33) - #include <linux/autoconf.h> -+#else -+#include <generated/autoconf.h> -+#endif - #include <linux/kernel.h> - #include <linux/errno.h> - #include <linux/init.h> diff --git a/system/lirc/patches/lirc_i2c.patch b/system/lirc/patches/lirc_i2c.patch deleted file mode 100644 index 7ff89a671ca2..000000000000 --- a/system/lirc/patches/lirc_i2c.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -Nur lirc-0.8.6.orig//drivers/lirc_i2c/lirc_i2c.c lirc-0.8.6/drivers/lirc_i2c/lirc_i2c.c ---- lirc-0.8.6.orig//drivers/lirc_i2c/lirc_i2c.c 2009-08-30 11:59:53.000000000 -0500 -+++ lirc-0.8.6/drivers/lirc_i2c/lirc_i2c.c 2010-05-21 12:14:43.701436402 -0500 -@@ -1,4 +1,4 @@ --/* $Id: lirc_i2c.c,v 1.70 2009/08/30 16:59:53 jarodwilson Exp $ */ -+/* $Id: lirc_i2c.c,v 1.72 2009/12/28 15:29:03 jarodwilson Exp $ */ - - /* - * lirc_i2c.c -@@ -399,8 +399,8 @@ - .name = "i2c ir driver", - }, - #endif -- .id = I2C_DRIVERID_EXP3, /* FIXME */ - #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31) -+ .id = I2C_DRIVERID_EXP3, /* FIXME */ - .attach_adapter = ir_probe, - .detach_client = ir_remove, - #else -@@ -492,20 +492,23 @@ - ir->l.add_to_buf = add_to_buf_pv951; - break; - case 0x71: --#ifdef I2C_HW_B_CX2341X -- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848) || -- adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2341X)) { --#else -- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848)) { -+ -+ -+ -+#ifdef I2C_HW_B_CX2388x -+ /* Leadtek Winfast PVR2000 or Hauppauge HVR-1300 */ -+ if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2388x)) -+ strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE); -+ else - #endif -+ { - /* - * The PVR150 IR receiver uses the same protocol as - * other Hauppauge cards, but the data flow is - * different, so we need to deal with it by its own. - */ - strlcpy(ir->c.name, "Hauppauge PVR150", I2C_NAME_SIZE); -- } else /* I2C_HW_B_CX2388x */ -- strlcpy(ir->c.name, "Hauppauge HVR1300", I2C_NAME_SIZE); -+ } - ir->l.code_length = 13; - ir->l.add_to_buf = add_to_buf_haup_pvr150; - break; -@@ -516,19 +519,18 @@ - break; - case 0x18: - case 0x1a: --#ifdef I2C_HW_B_CX2341X -- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848) || -- adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2341X)) { -+#ifdef I2C_HW_B_CX2388x -+ if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_CX2388x)) { -+ strlcpy(ir->c.name, "Leadtek IR", I2C_NAME_SIZE); -+ ir->l.code_length = 8; -+ ir->l.add_to_buf = add_to_buf_pvr2000; -+ } else { - #else -- if (adap->id == (I2C_ALGO_BIT | I2C_HW_B_BT848)) { -+ { - #endif - strlcpy(ir->c.name, "Hauppauge IR", I2C_NAME_SIZE); - ir->l.code_length = 13; - ir->l.add_to_buf = add_to_buf_haup; -- } else { /* I2C_HW_B_CX2388x */ -- strlcpy(ir->c.name, "Leadtek IR", I2C_NAME_SIZE); -- ir->l.code_length = 8; -- ir->l.add_to_buf = add_to_buf_pvr2000; - } - break; - case 0x30: |