[arch-commits] Commit in lirc-utils/trunk (4 files)

Andrea Scarpino andrea at archlinux.org
Wed Sep 8 15:13:33 UTC 2010


    Date: Wednesday, September 8, 2010 @ 11:13:32
  Author: andrea
Revision: 90165

create /var/run/lirc dir if does not exist (FS#20676); fix makedepends array; fix build with kernel 2.6.35

Added:
  lirc-utils/trunk/kernel-2.6.33.patch
  lirc-utils/trunk/kernel-2.6.35.patch
Modified:
  lirc-utils/trunk/PKGBUILD
  lirc-utils/trunk/lircd

---------------------+
 PKGBUILD            |   87 ++++-----
 kernel-2.6.33.patch |  475 ++++++++++++++++++++++++++++++++++++++++++++++++++
 kernel-2.6.35.patch |  125 +++++++++++++
 lircd               |    1 
 4 files changed, 645 insertions(+), 43 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2010-09-08 14:59:23 UTC (rev 90164)
+++ PKGBUILD	2010-09-08 15:13:32 UTC (rev 90165)
@@ -1,76 +1,77 @@
 # $Id$
-# Maintainer: Paul Mattal <paul at archlinux.org>
+# Maintainer:
+# Contributor: Paul Mattal <paul at archlinux.org>
 
 pkgname=lirc-utils
 pkgver=0.8.6
-pkgrel=3
+pkgrel=4
 pkgdesc="Linux Infrared Remote Control utils"
 arch=('i686' 'x86_64')
 url="http://www.lirc.org/"
 license=('GPL')
-_kernver=2.6.31-ARCH
+_kernver=2.6.35-ARCH
 depends=('alsa-lib' 'libusb' 'libx11' 'libsm' 'python' 'libftdi')
-makedepends=('help2man')
+makedepends=('help2man' 'kernel26-headers')
 replaces=('lirc+pctv')
 backup=('etc/conf.d/lircd.conf' 'etc/conf.d/lircmd.conf' 'etc/lirc/lircd.conf')
 options=('!libtool' '!makeflags')
-source=(http://downloads.sourceforge.net/sourceforge/lirc/lirc-$pkgver.tar.bz2
-	lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd)
+source=("http://downloads.sourceforge.net/lirc/lirc-${pkgver}.tar.bz2"
+	lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd
+	'kernel-2.6.33.patch' 'kernel-2.6.35.patch')
+md5sums=('4ca24da6f5e7c2dcea74878c27a4a3f7'
+         '680ea3732ab367c0b24a5acb566d5446'
+         '85f7fdac55e5256967241864049bf5e9'
+         '3deb02604b37811d41816e9b4385fcc3'
+         '5b1f8c9cd788a39a6283f93302ce5c6e'
+         'f0c0ac930326168035f0c8e24357ae55'
+         '618ca4f666341d6ade8c616ce59f4d1b'
+	 'f029698154cf32bc51e5e69879d53a12'
+	 '5523b495eb76632bbba48b93f090f167')
 
 build() {
-	# configure
-	cd ${srcdir}/lirc-$pkgver || return 1
+	cd ${srcdir}/lirc-${pkgver}
+	patch -Np0 -i ${srcdir}/kernel-2.6.33.patch
+	patch -Np1 -i ${srcdir}/kernel-2.6.35.patch
 
-      # Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+
-	sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am || return 1
+	# Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+
+	sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am
 
-	autoreconf || return 1
-	libtoolize || return 1
+	autoreconf
+	libtoolize
 
-	./configure --enable-sandboxed --prefix=/usr \
-	--with-driver=all --with-kerneldir=/usr/src/linux-${_kernver} \
-	--with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
-	--with-transmitter \
-		|| return 1
+	./configure --enable-sandboxed \
+	  --prefix=/usr \
+	  --with-driver=all \
+	  --with-kerneldir=/usr/src/linux-${_kernver} \
+	  --with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
+	  --with-transmitter
 	# disable parallel and bt829
         # because of incompatibility with smp systems
         sed -i -e "s:lirc_parallel::" -e "s:lirc_bt829::" \
-		Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
-                || return 1
+		Makefile drivers/Makefile drivers/*/Makefile tools/Makefile
 
-  	# build
-	make || return 1
-	make DESTDIR=${pkgdir} install || return 1
-	mkdir -p ${pkgdir}/usr/share/lirc ${pkgdir}/etc/rc.d \
-		|| return 1
-	cp ${srcdir}/{lircd,lircmd,irexecd} ${pkgdir}/etc/rc.d/ \
-		|| return 1
-	cp -rp remotes ${pkgdir}/usr/share/lirc || return 1
-	chmod -R go-w ${pkgdir}/usr/share/lirc/ || return 1
+	make
+}
 
+package() {
+	cd ${srcdir}/lirc-${pkgver}
+	make DESTDIR=${pkgdir} install
+	install -d ${pkgdir}/usr/share/lirc ${pkgdir}/etc/rc.d
+	cp ${srcdir}/{lircd,lircmd,irexecd} ${pkgdir}/etc/rc.d
+	cp -rp remotes ${pkgdir}/usr/share/lirc
+	chmod -R go-w ${pkgdir}/usr/share/lirc/
 
 	# install the logrotate config
-    	install -D -m644 ${srcdir}/lirc.logrotate \
-        	${pkgdir}/etc/logrotate.d/lirc || return 1
+    	install -Dm644 ${srcdir}/lirc.logrotate ${pkgdir}/etc/logrotate.d/lirc
     
 	# install conf.d file
-	install -D -m644 ${srcdir}/lircd.conf \
-        	${pkgdir}/etc/conf.d/lircd.conf || return 1
+	install -Dm644 ${srcdir}/lircd.conf ${pkgdir}/etc/conf.d/lircd.conf
 
 	# install conf.d file
-        install -D -m644 ${srcdir}/irexec.conf \
-                ${pkgdir}/etc/conf.d/irexec.conf || return 1
+        install -Dm644 ${srcdir}/irexec.conf ${pkgdir}/etc/conf.d/irexec.conf
 
-	install -d -m755 ${pkgdir}/etc/lirc || return 1
-	install -d -m755 ${pkgdir}/var/run/lirc || return 1
+	install -d ${pkgdir}/etc/lirc
 
 	# remove built modules
 	rm -r ${pkgdir}/lib/
 }
-md5sums=('4ca24da6f5e7c2dcea74878c27a4a3f7'
-         '310f718169b16b6afa6615fa53a0ef21'
-         '85f7fdac55e5256967241864049bf5e9'
-         '3deb02604b37811d41816e9b4385fcc3'
-         '5b1f8c9cd788a39a6283f93302ce5c6e'
-         'f0c0ac930326168035f0c8e24357ae55'
-         '618ca4f666341d6ade8c616ce59f4d1b')

Added: kernel-2.6.33.patch
===================================================================
--- kernel-2.6.33.patch	                        (rev 0)
+++ kernel-2.6.33.patch	2010-09-08 15:13:32 UTC (rev 90165)
@@ -0,0 +1,475 @@
+--- drivers/lirc_dev/lirc_dev.h	2009/03/15 09:34:00	1.37 lirc-0_8_6
++++ drivers/lirc_dev/lirc_dev.h	2009/12/28 15:21:17	1.38
+@@ -4,7 +4,7 @@
+  * (L) by Artur Lipowski <alipowski at 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.38 2009/12/28 15:21:17 jarodwilson 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)
+ {
+@@ -63,11 +68,20 @@
+ #endif
+ static inline void lirc_buffer_clear(struct lirc_buffer *buf)
+ {
++	unsigned long flags;
++
+ #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
+ 	lirc_buffer_lock(buf, &flags);
+ 	_lirc_buffer_clear(buf);
+ 	lirc_buffer_unlock(buf, &flags);
+@@ -77,31 +91,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 +141,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 +169,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 +188,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 +207,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 +226,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 +257,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 +301,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 {
+--- drivers/lirc_dev/lirc_dev.c.old	2009-08-31 12:57:55.000000000 -0400
++++ 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>
+--- drivers/lirc_sir/lirc_sir.c.old	2009-07-09 18:24:23.000000000 -0400
++++ 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 "******************************************"
+--- drivers/lirc_serial/lirc_serial.c.old	2009-03-15 05:34:00.000000000 -0400
++++ 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 "******************************************"
+--- drivers/lirc_bt829/lirc_bt829.c.old	2009-03-09 14:54:17.000000000 -0400
++++ 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>
+--- drivers/lirc_sasem/lirc_sasem.c.old	2009-02-28 05:27:10.000000000 -0500
++++ 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>
+--- drivers/lirc_igorplugusb/lirc_igorplugusb.c.old	2009-08-02 05:54:10.000000000 -0400
++++ 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>
+--- drivers/lirc_imon/lirc_imon.c.old	2009-09-11 00:56:18.000000000 -0400
++++ 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>
+--- drivers/lirc_it87/lirc_it87.c.old	2009-06-01 08:21:31.000000000 -0400
++++ 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>
+--- drivers/lirc_streamzap/lirc_streamzap.c.old	2009-03-15 05:34:00.000000000 -0400
++++ 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>
+--- drivers/lirc_atiusb/lirc_atiusb.c.old	2009-03-10 20:21:46.000000000 -0400
++++ 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>
+--- drivers/lirc_parallel/lirc_parallel.c.old	2009-03-08 15:22:28.000000000 -0400
++++ 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>
+--- drivers/lirc_wpc8769l/lirc_wpc8769l.c.old	2009-03-15 05:34:01.000000000 -0400
++++ 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>
+--- drivers/lirc_mceusb/lirc_mceusb.c.old	2009-09-02 10:04:02.000000000 -0400
++++ 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>
+--- drivers/lirc_i2c/lirc_i2c.c	2009/08/30 16:59:53	1.70
++++ drivers/lirc_i2c/lirc_i2c.c	2009/12/15 05:37:00	1.71
+@@ -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

Added: kernel-2.6.35.patch
===================================================================
--- kernel-2.6.35.patch	                        (rev 0)
+++ kernel-2.6.35.patch	2010-09-08 15:13:32 UTC (rev 90165)
@@ -0,0 +1,125 @@
+--- lirc-0.8.6/drivers/lirc_atiusb/lirc_atiusb.c~	2010-09-08 17:01:44.816667199 +0200
++++ lirc-0.8.6/drivers/lirc_atiusb/lirc_atiusb.c	2010-09-08 17:02:41.026667198 +0200
+@@ -822,7 +822,7 @@
+ 				ir->devnum);
+ 	case 3:
+ #ifdef KERNEL_2_5
+-		usb_buffer_free(iep->ir->usbdev, iep->len, iep->buf, iep->dma);
++		usb_free_coherent(iep->ir->usbdev, iep->len, iep->buf, iep->dma);
+ #else
+ 		kfree(iep->buf);
+ #endif
+@@ -867,7 +867,7 @@
+ 	iep->len = len;
+ 
+ #ifdef KERNEL_2_5
+-	iep->buf = usb_buffer_alloc(dev, len, GFP_ATOMIC, &iep->dma);
++	iep->buf = usb_alloc_coherent(dev, len, GFP_ATOMIC, &iep->dma);
+ #else
+ 	iep->buf = kmalloc(len, GFP_KERNEL);
+ #endif
+@@ -929,7 +929,7 @@
+ 		}
+ 	case 3:
+ #ifdef KERNEL_2_5
+-		usb_buffer_free(oep->ir->usbdev, USB_OUTLEN,
++		usb_free_coherent(oep->ir->usbdev, USB_OUTLEN,
+ 				oep->buf, oep->dma);
+ #else
+ 		kfree(oep->buf);
+@@ -963,7 +963,7 @@
+ 		init_waitqueue_head(&oep->wait);
+ 
+ #ifdef KERNEL_2_5
+-		oep->buf = usb_buffer_alloc(dev, USB_OUTLEN,
++		oep->buf = usb_alloc_coherent(dev, USB_OUTLEN,
+ 					    GFP_ATOMIC, &oep->dma);
+ #else
+ 		oep->buf = kmalloc(USB_OUTLEN, GFP_KERNEL);
+--- lirc-0.8.6/drivers/lirc_igorplugusb/lirc_igorplugusb.c~	2010-09-08 17:05:15.120000532 +0200
++++ lirc-0.8.6/drivers/lirc_igorplugusb/lirc_igorplugusb.c	2010-09-08 17:05:57.103333864 +0200
+@@ -450,7 +450,7 @@
+ 	}
+ 
+ #if defined(KERNEL_2_5)
+-	ir->buf_in = usb_buffer_alloc(dev,
++	ir->buf_in = usb_alloc_coherent(dev,
+ 			      DEVICE_BUFLEN+DEVICE_HEADERLEN,
+ 			      GFP_ATOMIC, &ir->dma_in);
+ #else
+@@ -486,7 +486,7 @@
+ 	switch (mem_failure) {
+ 	case 9:
+ #if defined(KERNEL_2_5)
+-		usb_buffer_free(dev, DEVICE_BUFLEN+DEVICE_HEADERLEN,
++		usb_free_coherent(dev, DEVICE_BUFLEN+DEVICE_HEADERLEN,
+ 			ir->buf_in, ir->dma_in);
+ #else
+ 		kfree(ir->buf_in);
+@@ -569,7 +569,7 @@
+ 
+ 
+ #if defined(KERNEL_2_5)
+-	usb_buffer_free(dev, ir->len_in, ir->buf_in, ir->dma_in);
++	usb_free_coherent(dev, ir->len_in, ir->buf_in, ir->dma_in);
+ #else
+ 	kfree(ir->buf_in);
+ #endif
+--- lirc-0.8.6/drivers/lirc_mceusb/lirc_mceusb.c~	2010-09-08 17:07:26.093333864 +0200
++++ lirc-0.8.6/drivers/lirc_mceusb/lirc_mceusb.c	2010-09-08 17:07:58.936667197 +0200
+@@ -1041,7 +1041,7 @@
+ 		goto mem_failure_switch;
+ 	}
+ 
+-	ir->buf_in = usb_buffer_alloc(dev, maxp, GFP_ATOMIC, &ir->dma_in);
++	ir->buf_in = usb_alloc_coherent(dev, maxp, GFP_ATOMIC, &ir->dma_in);
+ 	if (!ir->buf_in) {
+ 		mem_failure = 5;
+ 		goto mem_failure_switch;
+@@ -1081,7 +1081,7 @@
+ 	case 9:
+ 		usb_free_urb(ir->urb_in);
+ 	case 7:
+-		usb_buffer_free(dev, maxp, ir->buf_in, ir->dma_in);
++		usb_free_coherent(dev, maxp, ir->buf_in, ir->dma_in);
+ 	case 5:
+ 		lirc_buffer_free(rbuf);
+ 	case 4:
+@@ -1211,7 +1211,7 @@
+ 	mutex_lock(&ir->lock);
+ 	usb_kill_urb(ir->urb_in);
+ 	usb_free_urb(ir->urb_in);
+-	usb_buffer_free(dev, ir->len_in, ir->buf_in, ir->dma_in);
++	usb_free_coherent(dev, ir->len_in, ir->buf_in, ir->dma_in);
+ 	mutex_unlock(&ir->lock);
+ 
+ 	unregister_from_lirc(ir);
+--- lirc-0.8.6/drivers/lirc_streamzap/lirc_streamzap.c~	2010-09-08 17:08:41.476667199 +0200
++++ lirc-0.8.6/drivers/lirc_streamzap/lirc_streamzap.c	2010-09-08 17:09:11.416667199 +0200
+@@ -546,7 +546,7 @@
+ 
+ 	sz->buf_in_len = sz->endpoint->wMaxPacketSize;
+ #ifdef KERNEL_2_5
+-	sz->buf_in = usb_buffer_alloc(sz->udev, sz->buf_in_len,
++	sz->buf_in = usb_alloc_coherent(sz->udev, sz->buf_in_len,
+ 				      GFP_ATOMIC, &sz->dma_in);
+ #else
+ 	sz->buf_in = kmalloc(sz->buf_in_len, GFP_KERNEL);
+@@ -657,7 +657,7 @@
+ 	if (sz) {
+ 		usb_free_urb(sz->urb_in);
+ #ifdef KERNEL_2_5
+-		usb_buffer_free(udev, sz->buf_in_len, sz->buf_in, sz->dma_in);
++		usb_free_coherent(udev, sz->buf_in_len, sz->buf_in, sz->dma_in);
+ #else
+ 		if (sz->buf_in) {
+ 			kfree(sz->buf_in);
+@@ -788,7 +788,7 @@
+ 	usb_free_urb(sz->urb_in);
+ 
+ #ifdef KERNEL_2_5
+-	usb_buffer_free(sz->udev, sz->buf_in_len, sz->buf_in, sz->dma_in);
++	usb_free_coherent(sz->udev, sz->buf_in_len, sz->buf_in, sz->dma_in);
+ #else
+ 	kfree(sz->buf_in);
+ #endif

Modified: lircd
===================================================================
--- lircd	2010-09-08 14:59:23 UTC (rev 90164)
+++ lircd	2010-09-08 15:13:32 UTC (rev 90165)
@@ -10,6 +10,7 @@
 case "$1" in
   start)
     stat_busy "Starting LIRC Daemon"
+   [ ! -d /var/run/lirc ] && install -d /var/run/lirc &>/dev/null
     rm -f $LIRCD_SOCKET && ln -s $LIRCD_SOCKET $LIRCD_SYMLINKFILE
     if [ $? -ne 0 ]; then
       stat_fail




More information about the arch-commits mailing list