[arch-commits] Commit in lirc/repos (28 files)

Tobias Powalowski tpowa at nymeria.archlinux.org
Sun May 26 11:38:47 EDT 2013


    Date: Sunday, May 26, 2013 @ 17:38:47
  Author: tpowa
Revision: 186446

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  lirc/repos/testing-i686/
  lirc/repos/testing-i686/PKGBUILD
    (from rev 186445, lirc/trunk/PKGBUILD)
  lirc/repos/testing-i686/irexec.service
    (from rev 186445, lirc/trunk/irexec.service)
  lirc/repos/testing-i686/kernel-2.6.39.patch
    (from rev 186445, lirc/trunk/kernel-2.6.39.patch)
  lirc/repos/testing-i686/linux-3.8.patch
    (from rev 186445, lirc/trunk/linux-3.8.patch)
  lirc/repos/testing-i686/lirc-utils.install
    (from rev 186445, lirc/trunk/lirc-utils.install)
  lirc/repos/testing-i686/lirc.install
    (from rev 186445, lirc/trunk/lirc.install)
  lirc/repos/testing-i686/lirc.logrotate
    (from rev 186445, lirc/trunk/lirc.logrotate)
  lirc/repos/testing-i686/lirc.service
    (from rev 186445, lirc/trunk/lirc.service)
  lirc/repos/testing-i686/lirc.tmpfiles
    (from rev 186445, lirc/trunk/lirc.tmpfiles)
  lirc/repos/testing-i686/lirc_atiusb-kfifo.patch
    (from rev 186445, lirc/trunk/lirc_atiusb-kfifo.patch)
  lirc/repos/testing-i686/lirc_wpc8769l.patch
    (from rev 186445, lirc/trunk/lirc_wpc8769l.patch)
  lirc/repos/testing-i686/lircd-handle-large-config.patch
    (from rev 186445, lirc/trunk/lircd-handle-large-config.patch)
  lirc/repos/testing-i686/lircm.service
    (from rev 186445, lirc/trunk/lircm.service)
  lirc/repos/testing-x86_64/
  lirc/repos/testing-x86_64/PKGBUILD
    (from rev 186445, lirc/trunk/PKGBUILD)
  lirc/repos/testing-x86_64/irexec.service
    (from rev 186445, lirc/trunk/irexec.service)
  lirc/repos/testing-x86_64/kernel-2.6.39.patch
    (from rev 186445, lirc/trunk/kernel-2.6.39.patch)
  lirc/repos/testing-x86_64/linux-3.8.patch
    (from rev 186445, lirc/trunk/linux-3.8.patch)
  lirc/repos/testing-x86_64/lirc-utils.install
    (from rev 186445, lirc/trunk/lirc-utils.install)
  lirc/repos/testing-x86_64/lirc.install
    (from rev 186445, lirc/trunk/lirc.install)
  lirc/repos/testing-x86_64/lirc.logrotate
    (from rev 186445, lirc/trunk/lirc.logrotate)
  lirc/repos/testing-x86_64/lirc.service
    (from rev 186445, lirc/trunk/lirc.service)
  lirc/repos/testing-x86_64/lirc.tmpfiles
    (from rev 186445, lirc/trunk/lirc.tmpfiles)
  lirc/repos/testing-x86_64/lirc_atiusb-kfifo.patch
    (from rev 186445, lirc/trunk/lirc_atiusb-kfifo.patch)
  lirc/repos/testing-x86_64/lirc_wpc8769l.patch
    (from rev 186445, lirc/trunk/lirc_wpc8769l.patch)
  lirc/repos/testing-x86_64/lircd-handle-large-config.patch
    (from rev 186445, lirc/trunk/lircd-handle-large-config.patch)
  lirc/repos/testing-x86_64/lircm.service
    (from rev 186445, lirc/trunk/lircm.service)

------------------------------------------------+
 testing-i686/PKGBUILD                          |  107 +++++++++++++++++++++++
 testing-i686/irexec.service                    |   11 ++
 testing-i686/kernel-2.6.39.patch               |   54 +++++++++++
 testing-i686/linux-3.8.patch                   |   80 +++++++++++++++++
 testing-i686/lirc-utils.install                |    7 +
 testing-i686/lirc.install                      |   16 +++
 testing-i686/lirc.logrotate                    |    5 +
 testing-i686/lirc.service                      |   11 ++
 testing-i686/lirc.tmpfiles                     |    1 
 testing-i686/lirc_atiusb-kfifo.patch           |   31 ++++++
 testing-i686/lirc_wpc8769l.patch               |   88 ++++++++++++++++++
 testing-i686/lircd-handle-large-config.patch   |   39 ++++++++
 testing-i686/lircm.service                     |   11 ++
 testing-x86_64/PKGBUILD                        |  107 +++++++++++++++++++++++
 testing-x86_64/irexec.service                  |   11 ++
 testing-x86_64/kernel-2.6.39.patch             |   54 +++++++++++
 testing-x86_64/linux-3.8.patch                 |   80 +++++++++++++++++
 testing-x86_64/lirc-utils.install              |    7 +
 testing-x86_64/lirc.install                    |   16 +++
 testing-x86_64/lirc.logrotate                  |    5 +
 testing-x86_64/lirc.service                    |   11 ++
 testing-x86_64/lirc.tmpfiles                   |    1 
 testing-x86_64/lirc_atiusb-kfifo.patch         |   31 ++++++
 testing-x86_64/lirc_wpc8769l.patch             |   88 ++++++++++++++++++
 testing-x86_64/lircd-handle-large-config.patch |   39 ++++++++
 testing-x86_64/lircm.service                   |   11 ++
 26 files changed, 922 insertions(+)

Copied: lirc/repos/testing-i686/PKGBUILD (from rev 186445, lirc/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,107 @@
+# $Id$
+# Maintainer: Paul Mattal <paul at archlinux.org>
+
+pkgbase=lirc
+pkgname=('lirc' 'lirc-utils')
+pkgver=0.9.0
+pkgrel=45
+epoch=1
+_extramodules=extramodules-3.9-ARCH
+arch=('i686' 'x86_64')
+url="http://www.lirc.org/"
+license=('GPL')
+### NOTICE don't forget to bump version in depends in package_lirc
+makedepends=('help2man' 'linux-headers>=3.9' 'linux-headers<3.10' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2')
+options=('!makeflags' '!strip')
+source=(http://prdownloads.sourceforge.net/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2
+        lirc_wpc8769l.patch
+        lircd-handle-large-config.patch
+        lirc_atiusb-kfifo.patch
+        kernel-2.6.39.patch
+        linux-3.8.patch
+        lirc.logrotate
+        lirc.service lircm.service irexec.service
+        lirc.tmpfiles)
+
+build() {
+  _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+  cd "${srcdir}/lirc-${pkgver}"
+  patch -Np1 -i "${srcdir}/lirc_wpc8769l.patch"
+  patch -Np1 -i "${srcdir}/lircd-handle-large-config.patch"
+  patch -Np1 -i "${srcdir}/lirc_atiusb-kfifo.patch"
+  patch -Np1 -i "${srcdir}/kernel-2.6.39.patch"
+  patch -Np1 -i "${srcdir}/linux-3.8.patch"
+
+  sed -i '/AC_PATH_XTRA/d' configure.ac
+  sed -e 's/@X_CFLAGS@//g' \
+      -e 's/@X_LIBS@//g' \
+      -e 's/@X_PRE_LIBS@//g' \
+      -e 's/@X_EXTRA_LIBS@//g' -i Makefile.am tools/Makefile.am
+  # fix for new automake #33497
+  sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADER/' configure.ac
+  libtoolize
+  autoreconf
+
+  PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \
+      --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
+      --with-moduledir=/usr/lib/modules/${_kernver}/kernel/drivers/misc \
+      --sbindir=/usr/bin --with-transmitter
+
+  # Remove drivers already in kernel
+  sed -e "s:lirc_dev::" -e "s:lirc_bt829::" -e "s:lirc_igorplugusb::" \
+      -e "s:lirc_imon::" -e "s:lirc_parallel::" -e "s:lirc_sasem::" \
+      -e "s:lirc_serial::" -e "s:lirc_sir::" -e "s:lirc_ttusbir::" \
+      -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile 
+  make
+}
+
+package_lirc() {
+  pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
+  depends=('lirc-utils' 'linux>=3.9' 'linux<3.10')
+  replaces=('lirc+pctv')
+  install=lirc.install
+
+  cd "${srcdir}/lirc-${pkgver}/drivers"
+  make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install
+
+  # set the kernel we've built for inside the install script
+  sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${_extramodules}/g" "${startdir}/lirc.install"
+  # gzip -9 modules
+  find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
+}
+
+package_lirc-utils() {
+  pkgdesc="Linux Infrared Remote Control utils"
+  depends=('alsa-lib' 'libx11' 'libftdi' 'libirman')
+  optdepends=('python2: pronto2lirc utility')
+  options=('strip' '!libtool')
+  install=lirc-utils.install
+
+  cd "${srcdir}/lirc-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -D -m644 "${srcdir}"/lirc.service "${pkgdir}"/usr/lib/systemd/system/lirc.service
+  install -D -m644 "${srcdir}"/lircm.service "${pkgdir}"/usr/lib/systemd/system/lircm.service
+  install -D -m644 "${srcdir}"/irexec.service "${pkgdir}"/usr/lib/systemd/system/irexec.service
+  install -D -m644 "${srcdir}"/lirc.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lirc.conf
+  cp -rp remotes "${pkgdir}/usr/share/lirc"
+  chmod -R go-w "${pkgdir}/usr/share/lirc/"
+
+  # install the logrotate config
+  install -Dm644 "${srcdir}/lirc.logrotate" "${pkgdir}/etc/logrotate.d/lirc"
+    
+  install -d "${pkgdir}/etc/lirc"
+  
+  # remove built modules
+  rm -r "${pkgdir}/usr/lib/modules"
+}
+md5sums=('b232aef26f23fe33ea8305d276637086'
+         '1cce37e18e3f6f46044abab29016d18f'
+         'b70cc9640505205446ec47b7d4779f38'
+         '1f8b104a2365d9f93404b143f499059b'
+         '087a7d102e1c96bf1179f38db2b0b237'
+         '9ee196bd03ea44af5a752fb0cc6ca96a'
+         '3deb02604b37811d41816e9b4385fcc3'
+         '1c7ceace42da44f41e5a42b4dd3b3d76'
+         '121283a6de274e52ed86522aecd0f6e5'
+         '07131d117fcfe9dcd50c453c3a5e9531'
+         'febf25c154a7d36f01159e84f26c2d9a')

Copied: lirc/repos/testing-i686/irexec.service (from rev 186445, lirc/trunk/irexec.service)
===================================================================
--- testing-i686/irexec.service	                        (rev 0)
+++ testing-i686/irexec.service	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,11 @@
+[Unit]
+Description=IR Exec
+After=lirc.service
+Wants=lirc.service
+
+[Service]
+ExecStart=/usr/bin/irexec --daemon
+Type=forking
+
+[Install]
+WantedBy=multi-user.target

Copied: lirc/repos/testing-i686/kernel-2.6.39.patch (from rev 186445, lirc/trunk/kernel-2.6.39.patch)
===================================================================
--- testing-i686/kernel-2.6.39.patch	                        (rev 0)
+++ testing-i686/kernel-2.6.39.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,54 @@
+diff -ru lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c
+--- lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c	2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c	2011-06-07 17:02:20.356580306 +0200
+@@ -48,7 +48,6 @@
+ #include <linux/slab.h>
+ #include <linux/module.h>
+ #include <linux/kmod.h>
+-#include <linux/smp_lock.h>
+ #include <linux/completion.h>
+ #include <linux/uaccess.h>
+ #include <linux/usb.h>
+diff -ru lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c
+--- lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c	2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c	2011-06-07 17:04:19.725933627 +0200
+@@ -555,8 +555,8 @@
+ 		kfree(ir);
+ 		return -EINVAL;
+ 	}
+-	printk(KERN_INFO "lirc_i2c: chip 0x%x found @ 0x%02x (%s)\n",
+-	       adap->id, addr, ir->c.name);
++	printk(KERN_INFO "lirc_i2c: chip found @ 0x%02x (%s)\n",
++	       addr, ir->c.name);
+ 
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
+ 	/* register device */
+diff -ru lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c
+--- lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c	2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c	2011-06-07 17:07:23.984935411 +0200
+@@ -361,14 +361,14 @@
+ 		size = count << 3;
+ 
+ 		ldata = (unsigned long *) data_buf;
+-		next_one = generic_find_next_le_bit(ldata, size, 0);
++		next_one = find_next_zero_bit_le(ldata, size, 0);
+ 
+ 		if (next_one > 0)
+ 			put_pulse_bit(next_one
+ 				* WPC8769L_USECS_PER_BIT);
+ 
+ 		while (next_one < size) {
+-			next_zero = generic_find_next_zero_le_bit(ldata,
++			next_zero = find_next_zero_bit_le(ldata,
+ 				size, next_one + 1);
+ 
+ 			put_space_bit(
+@@ -376,7 +376,7 @@
+ 				* WPC8769L_USECS_PER_BIT);
+ 
+ 			if (next_zero < size) {
+-				next_one = generic_find_next_le_bit(ldata,
++				next_one = find_next_bit_le(ldata,
+ 					size, next_zero + 1);
+ 
+ 				put_pulse_bit(

Copied: lirc/repos/testing-i686/linux-3.8.patch (from rev 186445, lirc/trunk/linux-3.8.patch)
===================================================================
--- testing-i686/linux-3.8.patch	                        (rev 0)
+++ testing-i686/linux-3.8.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,80 @@
+diff -upr lirc-0.9.0.orig/drivers/lirc_serial/lirc_serial.c lirc-0.9.0/drivers/lirc_serial/lirc_serial.c
+--- lirc-0.9.0.orig/drivers/lirc_serial/lirc_serial.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_serial/lirc_serial.c	2013-02-21 02:39:55.000000000 +0200
+@@ -1103,12 +1103,12 @@ static struct lirc_driver driver = {
+ 
+ static struct platform_device *lirc_serial_dev;
+ 
+-static int __devinit lirc_serial_probe(struct platform_device *dev)
++static int lirc_serial_probe(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+ 
+-static int __devexit lirc_serial_remove(struct platform_device *dev)
++static int lirc_serial_remove(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+@@ -1159,7 +1159,7 @@ static int lirc_serial_resume(struct pla
+ 
+ static struct platform_driver lirc_serial_driver = {
+ 	.probe		= lirc_serial_probe,
+-	.remove		= __devexit_p(lirc_serial_remove),
++	.remove		= lirc_serial_remove,
+ 	.suspend	= lirc_serial_suspend,
+ 	.resume		= lirc_serial_resume,
+ 	.driver		= {
+diff -upr lirc-0.9.0.orig/drivers/lirc_sir/lirc_sir.c lirc-0.9.0/drivers/lirc_sir/lirc_sir.c
+--- lirc-0.9.0.orig/drivers/lirc_sir/lirc_sir.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_sir/lirc_sir.c	2013-02-21 02:38:24.000000000 +0200
+@@ -1290,19 +1290,19 @@ static int init_lirc_sir(void)
+ 	return 0;
+ }
+ 
+-static int __devinit lirc_sir_probe(struct platform_device *dev)
++static int lirc_sir_probe(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+ 
+-static int __devexit lirc_sir_remove(struct platform_device *dev)
++static int lirc_sir_remove(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+ 
+ static struct platform_driver lirc_sir_driver = {
+ 	.probe		= lirc_sir_probe,
+-	.remove		= __devexit_p(lirc_sir_remove),
++	.remove		= lirc_sir_remove,
+ 	.driver		=	{
+ 		.name	= "lirc_sir",
+ 		.owner	= THIS_MODULE,
+diff -upr lirc-0.9.0.orig/drivers/lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+--- lirc-0.9.0.orig/drivers/lirc_wpc8769l/lirc_wpc8769l.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c	2013-02-21 02:39:39.000000000 +0200
+@@ -930,12 +930,12 @@ static int wpc8769l_acpi_detect(void)
+ #ifdef MODULE
+ static struct platform_device *lirc_wpc8769l_platform_dev;
+ 
+-static int __devinit lirc_wpc8769l_probe(struct platform_device *dev)
++static int lirc_wpc8769l_probe(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+ 
+-static int __devexit lirc_wpc8769l_remove(struct platform_device *dev)
++static int lirc_wpc8769l_remove(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+@@ -963,7 +963,7 @@ static int lirc_wpc8769l_resume(struct p
+ 
+ static struct platform_driver lirc_wpc8769l_platform_driver = {
+ 	.probe		= lirc_wpc8769l_probe,
+-	.remove		= __devexit_p(lirc_wpc8769l_remove),
++	.remove		= lirc_wpc8769l_remove,
+ 	.suspend	= lirc_wpc8769l_suspend,
+ 	.resume		= lirc_wpc8769l_resume,
+ 	.driver		= {

Copied: lirc/repos/testing-i686/lirc-utils.install (from rev 186445, lirc/trunk/lirc-utils.install)
===================================================================
--- testing-i686/lirc-utils.install	                        (rev 0)
+++ testing-i686/lirc-utils.install	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,7 @@
+post_install() {
+	systemd-tmpfiles --create lirc.conf
+}
+
+post_upgrade() {
+  post_install
+}

Copied: lirc/repos/testing-i686/lirc.install (from rev 186445, lirc/trunk/lirc.install)
===================================================================
--- testing-i686/lirc.install	                        (rev 0)
+++ testing-i686/lirc.install	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,16 @@
+EXTRAMODULES=extramodules-3.9-ARCH
+
+post_install() {
+  # updating module dependencies
+  echo ">>> Updating module dependencies. Please wait ..."
+  depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) > /dev/null 2>&1
+}
+
+post_upgrade() {
+  post_install
+}
+
+# arg 1:  the old package version
+post_remove() {
+  post_install
+}

Copied: lirc/repos/testing-i686/lirc.logrotate (from rev 186445, lirc/trunk/lirc.logrotate)
===================================================================
--- testing-i686/lirc.logrotate	                        (rev 0)
+++ testing-i686/lirc.logrotate	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,5 @@
+/var/log/lircd {
+   missingok
+   notifempty
+   delaycompress
+}

Copied: lirc/repos/testing-i686/lirc.service (from rev 186445, lirc/trunk/lirc.service)
===================================================================
--- testing-i686/lirc.service	                        (rev 0)
+++ testing-i686/lirc.service	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,11 @@
+[Unit]
+Description=Linux Infrared Remote Control
+
+[Service]
+ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd
+ExecStart=/usr/bin/lircd --pidfile=/run/lirc/lircd.pid
+Type=forking
+PIDFile=/run/lirc/lircd.pid
+
+[Install]
+WantedBy=multi-user.target

Copied: lirc/repos/testing-i686/lirc.tmpfiles (from rev 186445, lirc/trunk/lirc.tmpfiles)
===================================================================
--- testing-i686/lirc.tmpfiles	                        (rev 0)
+++ testing-i686/lirc.tmpfiles	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1 @@
+d /run/lirc 0755 root root -

Copied: lirc/repos/testing-i686/lirc_atiusb-kfifo.patch (from rev 186445, lirc/trunk/lirc_atiusb-kfifo.patch)
===================================================================
--- testing-i686/lirc_atiusb-kfifo.patch	                        (rev 0)
+++ testing-i686/lirc_atiusb-kfifo.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,31 @@
+From ec3c5660e67c122e2d5eb9cfa838c9709fccf8e0 Mon Sep 17 00:00:00 2001
+From: Jason Martin <publicmsu at gmail.com>
+Date: Fri, 3 Jun 2011 00:12:51 -0400
+Subject: [PATCH] lirc_atiusb: fix buffer alloc to work with new kfifo
+
+I came across posts with regards to lirc_atiusb and its compatibility
+with newer kernels, and their use of kfifo.I spent a little bit of time
+this evening, and was able to correct the issues with the driver, and
+now have a functioning lirc_atiusb device under the 2.6.38 kernel.
+
+Signed-off-by: Jarod Wilson <jarod at redhat.com>
+---
+ drivers/lirc_atiusb/lirc_atiusb.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/lirc_atiusb/lirc_atiusb.c b/drivers/lirc_atiusb/lirc_atiusb.c
+index 52080de..bf2b631 100644
+--- a/drivers/lirc_atiusb/lirc_atiusb.c
++++ b/drivers/lirc_atiusb/lirc_atiusb.c
+@@ -1048,7 +1048,7 @@ static struct atirf_dev *new_irctl(struct usb_interface *intf)
+ 		goto new_irctl_failure_check;
+ 	}
+ 
+-	if (lirc_buffer_init(driver->rbuf, dclen, 1)) {
++	if (lirc_buffer_init(driver->rbuf, dclen, 2)) {
+ 		mem_failure = 4;
+ 		goto new_irctl_failure_check;
+ 	}
+-- 
+1.7.0.1
+

Copied: lirc/repos/testing-i686/lirc_wpc8769l.patch (from rev 186445, lirc/trunk/lirc_wpc8769l.patch)
===================================================================
--- testing-i686/lirc_wpc8769l.patch	                        (rev 0)
+++ testing-i686/lirc_wpc8769l.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,88 @@
+From 413e83bf504fe9a9a177f27742220cfcb184b034 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Juan=20Jes=C3=BAs=20Garc=C3=ADa=20de=20Soria=20Lucena?= <skandalfo at gmail.com>
+Date: Wed, 30 Mar 2011 16:46:35 -0400
+Subject: [PATCH] Make lirc_wpc8769l functional again
+
+Signed-off-by: Jarod Wilson <jarod at redhat.com>
+---
+ drivers/lirc_wpc8769l/lirc_wpc8769l.c |   28 +++++++++++++++++-----------
+ 1 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+index f820d11..4d04063 100644
+--- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c
++++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+@@ -816,10 +816,6 @@ static int set_use_inc(void *data)
+ 	/* Reset last timeout value. */
+ 	lastus = 0;
+ 
+-	/* Init the read buffer. */
+-	if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0)
+-		return -ENOMEM;
+-
+ 	/* Acquire the IRQ. */
+ 	result = request_irq(irq, irq_handler,
+ 			   IRQF_DISABLED | IRQF_SHARED,
+@@ -863,9 +859,6 @@ static void set_use_dec(void *data)
+ 	/* Free the IRQ. */
+ 	free_irq(irq, THIS_MODULE);
+ 	dprintk("Freed IRQ %d\n", irq);
+-
+-	/* Free the RX buffer. */
+-	lirc_buffer_free(&rbuf);
+ }
+ 
+ static struct lirc_driver driver = {
+@@ -1065,19 +1058,29 @@ static int __init lirc_wpc8769l_module_init(void)
+ 	/* Do load-time checks. */
+ 	wpc8769l_power_up_and_check_if_we_woke_us_up();
+ 
++	/* Init the read buffer. */
++	if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0) {
++		rc = -ENOMEM;
++		goto exit_platform_exit;
++	}
++
+ 	/* Configure the driver hooks. */
+ 	driver.features = LIRC_CAN_REC_MODE2;
++	driver.dev = &lirc_wpc8769l_platform_dev->dev;
+ 	driver.minor = lirc_register_driver(&driver);
+ 	if (driver.minor < 0) {
+ 		eprintk("lirc_register_driver failed!\n");
+ 		rc = -EIO;
+-		goto exit_platform_exit;
++		goto exit_release_buffer;
+ 	}
+ 
+ 	iprintk("Driver loaded.\n");
+ 
+ 	return 0; /* Everything OK. */
+ 
++exit_release_buffer:
++	lirc_buffer_free(&rbuf);
++
+ exit_platform_exit:
+ 	lirc_wpc8769l_platform_exit();
+ 
+@@ -1095,12 +1098,15 @@ module_init(lirc_wpc8769l_module_init);
+ 
+ static void __exit lirc_wpc8769l_module_exit(void)
+ {
+-	/* Unregister the platform driver and device. */
+-	lirc_wpc8769l_platform_exit();
+-
+ 	/* Unregister the LIRC driver. */
+ 	lirc_unregister_driver(driver.minor);
+ 
++	/* Free the buffer. */
++	lirc_buffer_free(&rbuf);
++
++	/* Unregister the platform driver and device. */
++	lirc_wpc8769l_platform_exit();
++
+ 	/* Release the second range. */
+ 	if (baseport2)
+ 		release_region(baseport2, WPC8769L_IO_REGION_2_SIZE);
+-- 
+1.7.0.1
+

Copied: lirc/repos/testing-i686/lircd-handle-large-config.patch (from rev 186445, lirc/trunk/lircd-handle-large-config.patch)
===================================================================
--- testing-i686/lircd-handle-large-config.patch	                        (rev 0)
+++ testing-i686/lircd-handle-large-config.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,39 @@
+From 5efb56bf22a5077db564c766ba7cc37bc269231d Mon Sep 17 00:00:00 2001
+From: Jarod Wilson <jarod at redhat.com>
+Date: Wed, 6 Apr 2011 11:04:12 -0400
+Subject: [PATCH] lircd: handle larger config files in write_socket better
+
+Pointed out by Michael Zanetti on list, irsend LIST has issues with long
+config files, which didn't exist in maintainer mode, as we were using a
+do while loop to make sure we spit out everything. Just use that loop
+all the time.
+
+Signed-off-by: Jarod Wilson <jarod at redhat.com>
+---
+ daemons/lircd.c |    8 ++------
+ 1 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/daemons/lircd.c b/daemons/lircd.c
+index 6c21a3a..ddcca05 100644
+--- a/daemons/lircd.c
++++ b/daemons/lircd.c
+@@ -231,14 +231,10 @@ inline int write_socket(int fd, const char *buf, int len)
+ 	int done, todo = len;
+ 
+ 	while (todo) {
+-#ifdef SIM_REC
+ 		do {
+ 			done = write(fd, buf, todo);
+-		}
+-		while (done < 0 && errno == EAGAIN);
+-#else
+-		done = write(fd, buf, todo);
+-#endif
++		} while (done < 0 && errno == EAGAIN);
++
+ 		if (done <= 0)
+ 			return (done);
+ 		buf += done;
+-- 
+1.7.0.1
+

Copied: lirc/repos/testing-i686/lircm.service (from rev 186445, lirc/trunk/lircm.service)
===================================================================
--- testing-i686/lircm.service	                        (rev 0)
+++ testing-i686/lircm.service	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,11 @@
+[Unit]
+Description=LIRC Mouse
+After=lirc.service
+Wants=lirc.service
+
+[Service]
+ExecStart=/usr/bin/lircmd -u
+Type=forking
+
+[Install]
+WantedBy=multi-user.target

Copied: lirc/repos/testing-x86_64/PKGBUILD (from rev 186445, lirc/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,107 @@
+# $Id$
+# Maintainer: Paul Mattal <paul at archlinux.org>
+
+pkgbase=lirc
+pkgname=('lirc' 'lirc-utils')
+pkgver=0.9.0
+pkgrel=45
+epoch=1
+_extramodules=extramodules-3.9-ARCH
+arch=('i686' 'x86_64')
+url="http://www.lirc.org/"
+license=('GPL')
+### NOTICE don't forget to bump version in depends in package_lirc
+makedepends=('help2man' 'linux-headers>=3.9' 'linux-headers<3.10' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2')
+options=('!makeflags' '!strip')
+source=(http://prdownloads.sourceforge.net/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2
+        lirc_wpc8769l.patch
+        lircd-handle-large-config.patch
+        lirc_atiusb-kfifo.patch
+        kernel-2.6.39.patch
+        linux-3.8.patch
+        lirc.logrotate
+        lirc.service lircm.service irexec.service
+        lirc.tmpfiles)
+
+build() {
+  _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+  cd "${srcdir}/lirc-${pkgver}"
+  patch -Np1 -i "${srcdir}/lirc_wpc8769l.patch"
+  patch -Np1 -i "${srcdir}/lircd-handle-large-config.patch"
+  patch -Np1 -i "${srcdir}/lirc_atiusb-kfifo.patch"
+  patch -Np1 -i "${srcdir}/kernel-2.6.39.patch"
+  patch -Np1 -i "${srcdir}/linux-3.8.patch"
+
+  sed -i '/AC_PATH_XTRA/d' configure.ac
+  sed -e 's/@X_CFLAGS@//g' \
+      -e 's/@X_LIBS@//g' \
+      -e 's/@X_PRE_LIBS@//g' \
+      -e 's/@X_EXTRA_LIBS@//g' -i Makefile.am tools/Makefile.am
+  # fix for new automake #33497
+  sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADER/' configure.ac
+  libtoolize
+  autoreconf
+
+  PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \
+      --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
+      --with-moduledir=/usr/lib/modules/${_kernver}/kernel/drivers/misc \
+      --sbindir=/usr/bin --with-transmitter
+
+  # Remove drivers already in kernel
+  sed -e "s:lirc_dev::" -e "s:lirc_bt829::" -e "s:lirc_igorplugusb::" \
+      -e "s:lirc_imon::" -e "s:lirc_parallel::" -e "s:lirc_sasem::" \
+      -e "s:lirc_serial::" -e "s:lirc_sir::" -e "s:lirc_ttusbir::" \
+      -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile 
+  make
+}
+
+package_lirc() {
+  pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
+  depends=('lirc-utils' 'linux>=3.9' 'linux<3.10')
+  replaces=('lirc+pctv')
+  install=lirc.install
+
+  cd "${srcdir}/lirc-${pkgver}/drivers"
+  make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install
+
+  # set the kernel we've built for inside the install script
+  sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${_extramodules}/g" "${startdir}/lirc.install"
+  # gzip -9 modules
+  find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
+}
+
+package_lirc-utils() {
+  pkgdesc="Linux Infrared Remote Control utils"
+  depends=('alsa-lib' 'libx11' 'libftdi' 'libirman')
+  optdepends=('python2: pronto2lirc utility')
+  options=('strip' '!libtool')
+  install=lirc-utils.install
+
+  cd "${srcdir}/lirc-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -D -m644 "${srcdir}"/lirc.service "${pkgdir}"/usr/lib/systemd/system/lirc.service
+  install -D -m644 "${srcdir}"/lircm.service "${pkgdir}"/usr/lib/systemd/system/lircm.service
+  install -D -m644 "${srcdir}"/irexec.service "${pkgdir}"/usr/lib/systemd/system/irexec.service
+  install -D -m644 "${srcdir}"/lirc.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lirc.conf
+  cp -rp remotes "${pkgdir}/usr/share/lirc"
+  chmod -R go-w "${pkgdir}/usr/share/lirc/"
+
+  # install the logrotate config
+  install -Dm644 "${srcdir}/lirc.logrotate" "${pkgdir}/etc/logrotate.d/lirc"
+    
+  install -d "${pkgdir}/etc/lirc"
+  
+  # remove built modules
+  rm -r "${pkgdir}/usr/lib/modules"
+}
+md5sums=('b232aef26f23fe33ea8305d276637086'
+         '1cce37e18e3f6f46044abab29016d18f'
+         'b70cc9640505205446ec47b7d4779f38'
+         '1f8b104a2365d9f93404b143f499059b'
+         '087a7d102e1c96bf1179f38db2b0b237'
+         '9ee196bd03ea44af5a752fb0cc6ca96a'
+         '3deb02604b37811d41816e9b4385fcc3'
+         '1c7ceace42da44f41e5a42b4dd3b3d76'
+         '121283a6de274e52ed86522aecd0f6e5'
+         '07131d117fcfe9dcd50c453c3a5e9531'
+         'febf25c154a7d36f01159e84f26c2d9a')

Copied: lirc/repos/testing-x86_64/irexec.service (from rev 186445, lirc/trunk/irexec.service)
===================================================================
--- testing-x86_64/irexec.service	                        (rev 0)
+++ testing-x86_64/irexec.service	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,11 @@
+[Unit]
+Description=IR Exec
+After=lirc.service
+Wants=lirc.service
+
+[Service]
+ExecStart=/usr/bin/irexec --daemon
+Type=forking
+
+[Install]
+WantedBy=multi-user.target

Copied: lirc/repos/testing-x86_64/kernel-2.6.39.patch (from rev 186445, lirc/trunk/kernel-2.6.39.patch)
===================================================================
--- testing-x86_64/kernel-2.6.39.patch	                        (rev 0)
+++ testing-x86_64/kernel-2.6.39.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,54 @@
+diff -ru lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c
+--- lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c	2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c	2011-06-07 17:02:20.356580306 +0200
+@@ -48,7 +48,6 @@
+ #include <linux/slab.h>
+ #include <linux/module.h>
+ #include <linux/kmod.h>
+-#include <linux/smp_lock.h>
+ #include <linux/completion.h>
+ #include <linux/uaccess.h>
+ #include <linux/usb.h>
+diff -ru lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c
+--- lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c	2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c	2011-06-07 17:04:19.725933627 +0200
+@@ -555,8 +555,8 @@
+ 		kfree(ir);
+ 		return -EINVAL;
+ 	}
+-	printk(KERN_INFO "lirc_i2c: chip 0x%x found @ 0x%02x (%s)\n",
+-	       adap->id, addr, ir->c.name);
++	printk(KERN_INFO "lirc_i2c: chip found @ 0x%02x (%s)\n",
++	       addr, ir->c.name);
+ 
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
+ 	/* register device */
+diff -ru lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c
+--- lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c	2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c	2011-06-07 17:07:23.984935411 +0200
+@@ -361,14 +361,14 @@
+ 		size = count << 3;
+ 
+ 		ldata = (unsigned long *) data_buf;
+-		next_one = generic_find_next_le_bit(ldata, size, 0);
++		next_one = find_next_zero_bit_le(ldata, size, 0);
+ 
+ 		if (next_one > 0)
+ 			put_pulse_bit(next_one
+ 				* WPC8769L_USECS_PER_BIT);
+ 
+ 		while (next_one < size) {
+-			next_zero = generic_find_next_zero_le_bit(ldata,
++			next_zero = find_next_zero_bit_le(ldata,
+ 				size, next_one + 1);
+ 
+ 			put_space_bit(
+@@ -376,7 +376,7 @@
+ 				* WPC8769L_USECS_PER_BIT);
+ 
+ 			if (next_zero < size) {
+-				next_one = generic_find_next_le_bit(ldata,
++				next_one = find_next_bit_le(ldata,
+ 					size, next_zero + 1);
+ 
+ 				put_pulse_bit(

Copied: lirc/repos/testing-x86_64/linux-3.8.patch (from rev 186445, lirc/trunk/linux-3.8.patch)
===================================================================
--- testing-x86_64/linux-3.8.patch	                        (rev 0)
+++ testing-x86_64/linux-3.8.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,80 @@
+diff -upr lirc-0.9.0.orig/drivers/lirc_serial/lirc_serial.c lirc-0.9.0/drivers/lirc_serial/lirc_serial.c
+--- lirc-0.9.0.orig/drivers/lirc_serial/lirc_serial.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_serial/lirc_serial.c	2013-02-21 02:39:55.000000000 +0200
+@@ -1103,12 +1103,12 @@ static struct lirc_driver driver = {
+ 
+ static struct platform_device *lirc_serial_dev;
+ 
+-static int __devinit lirc_serial_probe(struct platform_device *dev)
++static int lirc_serial_probe(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+ 
+-static int __devexit lirc_serial_remove(struct platform_device *dev)
++static int lirc_serial_remove(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+@@ -1159,7 +1159,7 @@ static int lirc_serial_resume(struct pla
+ 
+ static struct platform_driver lirc_serial_driver = {
+ 	.probe		= lirc_serial_probe,
+-	.remove		= __devexit_p(lirc_serial_remove),
++	.remove		= lirc_serial_remove,
+ 	.suspend	= lirc_serial_suspend,
+ 	.resume		= lirc_serial_resume,
+ 	.driver		= {
+diff -upr lirc-0.9.0.orig/drivers/lirc_sir/lirc_sir.c lirc-0.9.0/drivers/lirc_sir/lirc_sir.c
+--- lirc-0.9.0.orig/drivers/lirc_sir/lirc_sir.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_sir/lirc_sir.c	2013-02-21 02:38:24.000000000 +0200
+@@ -1290,19 +1290,19 @@ static int init_lirc_sir(void)
+ 	return 0;
+ }
+ 
+-static int __devinit lirc_sir_probe(struct platform_device *dev)
++static int lirc_sir_probe(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+ 
+-static int __devexit lirc_sir_remove(struct platform_device *dev)
++static int lirc_sir_remove(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+ 
+ static struct platform_driver lirc_sir_driver = {
+ 	.probe		= lirc_sir_probe,
+-	.remove		= __devexit_p(lirc_sir_remove),
++	.remove		= lirc_sir_remove,
+ 	.driver		=	{
+ 		.name	= "lirc_sir",
+ 		.owner	= THIS_MODULE,
+diff -upr lirc-0.9.0.orig/drivers/lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+--- lirc-0.9.0.orig/drivers/lirc_wpc8769l/lirc_wpc8769l.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c	2013-02-21 02:39:39.000000000 +0200
+@@ -930,12 +930,12 @@ static int wpc8769l_acpi_detect(void)
+ #ifdef MODULE
+ static struct platform_device *lirc_wpc8769l_platform_dev;
+ 
+-static int __devinit lirc_wpc8769l_probe(struct platform_device *dev)
++static int lirc_wpc8769l_probe(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+ 
+-static int __devexit lirc_wpc8769l_remove(struct platform_device *dev)
++static int lirc_wpc8769l_remove(struct platform_device *dev)
+ {
+ 	return 0;
+ }
+@@ -963,7 +963,7 @@ static int lirc_wpc8769l_resume(struct p
+ 
+ static struct platform_driver lirc_wpc8769l_platform_driver = {
+ 	.probe		= lirc_wpc8769l_probe,
+-	.remove		= __devexit_p(lirc_wpc8769l_remove),
++	.remove		= lirc_wpc8769l_remove,
+ 	.suspend	= lirc_wpc8769l_suspend,
+ 	.resume		= lirc_wpc8769l_resume,
+ 	.driver		= {

Copied: lirc/repos/testing-x86_64/lirc-utils.install (from rev 186445, lirc/trunk/lirc-utils.install)
===================================================================
--- testing-x86_64/lirc-utils.install	                        (rev 0)
+++ testing-x86_64/lirc-utils.install	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,7 @@
+post_install() {
+	systemd-tmpfiles --create lirc.conf
+}
+
+post_upgrade() {
+  post_install
+}

Copied: lirc/repos/testing-x86_64/lirc.install (from rev 186445, lirc/trunk/lirc.install)
===================================================================
--- testing-x86_64/lirc.install	                        (rev 0)
+++ testing-x86_64/lirc.install	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,16 @@
+EXTRAMODULES=extramodules-3.9-ARCH
+
+post_install() {
+  # updating module dependencies
+  echo ">>> Updating module dependencies. Please wait ..."
+  depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) > /dev/null 2>&1
+}
+
+post_upgrade() {
+  post_install
+}
+
+# arg 1:  the old package version
+post_remove() {
+  post_install
+}

Copied: lirc/repos/testing-x86_64/lirc.logrotate (from rev 186445, lirc/trunk/lirc.logrotate)
===================================================================
--- testing-x86_64/lirc.logrotate	                        (rev 0)
+++ testing-x86_64/lirc.logrotate	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,5 @@
+/var/log/lircd {
+   missingok
+   notifempty
+   delaycompress
+}

Copied: lirc/repos/testing-x86_64/lirc.service (from rev 186445, lirc/trunk/lirc.service)
===================================================================
--- testing-x86_64/lirc.service	                        (rev 0)
+++ testing-x86_64/lirc.service	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,11 @@
+[Unit]
+Description=Linux Infrared Remote Control
+
+[Service]
+ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd
+ExecStart=/usr/bin/lircd --pidfile=/run/lirc/lircd.pid
+Type=forking
+PIDFile=/run/lirc/lircd.pid
+
+[Install]
+WantedBy=multi-user.target

Copied: lirc/repos/testing-x86_64/lirc.tmpfiles (from rev 186445, lirc/trunk/lirc.tmpfiles)
===================================================================
--- testing-x86_64/lirc.tmpfiles	                        (rev 0)
+++ testing-x86_64/lirc.tmpfiles	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1 @@
+d /run/lirc 0755 root root -

Copied: lirc/repos/testing-x86_64/lirc_atiusb-kfifo.patch (from rev 186445, lirc/trunk/lirc_atiusb-kfifo.patch)
===================================================================
--- testing-x86_64/lirc_atiusb-kfifo.patch	                        (rev 0)
+++ testing-x86_64/lirc_atiusb-kfifo.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,31 @@
+From ec3c5660e67c122e2d5eb9cfa838c9709fccf8e0 Mon Sep 17 00:00:00 2001
+From: Jason Martin <publicmsu at gmail.com>
+Date: Fri, 3 Jun 2011 00:12:51 -0400
+Subject: [PATCH] lirc_atiusb: fix buffer alloc to work with new kfifo
+
+I came across posts with regards to lirc_atiusb and its compatibility
+with newer kernels, and their use of kfifo.I spent a little bit of time
+this evening, and was able to correct the issues with the driver, and
+now have a functioning lirc_atiusb device under the 2.6.38 kernel.
+
+Signed-off-by: Jarod Wilson <jarod at redhat.com>
+---
+ drivers/lirc_atiusb/lirc_atiusb.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/lirc_atiusb/lirc_atiusb.c b/drivers/lirc_atiusb/lirc_atiusb.c
+index 52080de..bf2b631 100644
+--- a/drivers/lirc_atiusb/lirc_atiusb.c
++++ b/drivers/lirc_atiusb/lirc_atiusb.c
+@@ -1048,7 +1048,7 @@ static struct atirf_dev *new_irctl(struct usb_interface *intf)
+ 		goto new_irctl_failure_check;
+ 	}
+ 
+-	if (lirc_buffer_init(driver->rbuf, dclen, 1)) {
++	if (lirc_buffer_init(driver->rbuf, dclen, 2)) {
+ 		mem_failure = 4;
+ 		goto new_irctl_failure_check;
+ 	}
+-- 
+1.7.0.1
+

Copied: lirc/repos/testing-x86_64/lirc_wpc8769l.patch (from rev 186445, lirc/trunk/lirc_wpc8769l.patch)
===================================================================
--- testing-x86_64/lirc_wpc8769l.patch	                        (rev 0)
+++ testing-x86_64/lirc_wpc8769l.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,88 @@
+From 413e83bf504fe9a9a177f27742220cfcb184b034 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Juan=20Jes=C3=BAs=20Garc=C3=ADa=20de=20Soria=20Lucena?= <skandalfo at gmail.com>
+Date: Wed, 30 Mar 2011 16:46:35 -0400
+Subject: [PATCH] Make lirc_wpc8769l functional again
+
+Signed-off-by: Jarod Wilson <jarod at redhat.com>
+---
+ drivers/lirc_wpc8769l/lirc_wpc8769l.c |   28 +++++++++++++++++-----------
+ 1 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+index f820d11..4d04063 100644
+--- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c
++++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+@@ -816,10 +816,6 @@ static int set_use_inc(void *data)
+ 	/* Reset last timeout value. */
+ 	lastus = 0;
+ 
+-	/* Init the read buffer. */
+-	if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0)
+-		return -ENOMEM;
+-
+ 	/* Acquire the IRQ. */
+ 	result = request_irq(irq, irq_handler,
+ 			   IRQF_DISABLED | IRQF_SHARED,
+@@ -863,9 +859,6 @@ static void set_use_dec(void *data)
+ 	/* Free the IRQ. */
+ 	free_irq(irq, THIS_MODULE);
+ 	dprintk("Freed IRQ %d\n", irq);
+-
+-	/* Free the RX buffer. */
+-	lirc_buffer_free(&rbuf);
+ }
+ 
+ static struct lirc_driver driver = {
+@@ -1065,19 +1058,29 @@ static int __init lirc_wpc8769l_module_init(void)
+ 	/* Do load-time checks. */
+ 	wpc8769l_power_up_and_check_if_we_woke_us_up();
+ 
++	/* Init the read buffer. */
++	if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0) {
++		rc = -ENOMEM;
++		goto exit_platform_exit;
++	}
++
+ 	/* Configure the driver hooks. */
+ 	driver.features = LIRC_CAN_REC_MODE2;
++	driver.dev = &lirc_wpc8769l_platform_dev->dev;
+ 	driver.minor = lirc_register_driver(&driver);
+ 	if (driver.minor < 0) {
+ 		eprintk("lirc_register_driver failed!\n");
+ 		rc = -EIO;
+-		goto exit_platform_exit;
++		goto exit_release_buffer;
+ 	}
+ 
+ 	iprintk("Driver loaded.\n");
+ 
+ 	return 0; /* Everything OK. */
+ 
++exit_release_buffer:
++	lirc_buffer_free(&rbuf);
++
+ exit_platform_exit:
+ 	lirc_wpc8769l_platform_exit();
+ 
+@@ -1095,12 +1098,15 @@ module_init(lirc_wpc8769l_module_init);
+ 
+ static void __exit lirc_wpc8769l_module_exit(void)
+ {
+-	/* Unregister the platform driver and device. */
+-	lirc_wpc8769l_platform_exit();
+-
+ 	/* Unregister the LIRC driver. */
+ 	lirc_unregister_driver(driver.minor);
+ 
++	/* Free the buffer. */
++	lirc_buffer_free(&rbuf);
++
++	/* Unregister the platform driver and device. */
++	lirc_wpc8769l_platform_exit();
++
+ 	/* Release the second range. */
+ 	if (baseport2)
+ 		release_region(baseport2, WPC8769L_IO_REGION_2_SIZE);
+-- 
+1.7.0.1
+

Copied: lirc/repos/testing-x86_64/lircd-handle-large-config.patch (from rev 186445, lirc/trunk/lircd-handle-large-config.patch)
===================================================================
--- testing-x86_64/lircd-handle-large-config.patch	                        (rev 0)
+++ testing-x86_64/lircd-handle-large-config.patch	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,39 @@
+From 5efb56bf22a5077db564c766ba7cc37bc269231d Mon Sep 17 00:00:00 2001
+From: Jarod Wilson <jarod at redhat.com>
+Date: Wed, 6 Apr 2011 11:04:12 -0400
+Subject: [PATCH] lircd: handle larger config files in write_socket better
+
+Pointed out by Michael Zanetti on list, irsend LIST has issues with long
+config files, which didn't exist in maintainer mode, as we were using a
+do while loop to make sure we spit out everything. Just use that loop
+all the time.
+
+Signed-off-by: Jarod Wilson <jarod at redhat.com>
+---
+ daemons/lircd.c |    8 ++------
+ 1 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/daemons/lircd.c b/daemons/lircd.c
+index 6c21a3a..ddcca05 100644
+--- a/daemons/lircd.c
++++ b/daemons/lircd.c
+@@ -231,14 +231,10 @@ inline int write_socket(int fd, const char *buf, int len)
+ 	int done, todo = len;
+ 
+ 	while (todo) {
+-#ifdef SIM_REC
+ 		do {
+ 			done = write(fd, buf, todo);
+-		}
+-		while (done < 0 && errno == EAGAIN);
+-#else
+-		done = write(fd, buf, todo);
+-#endif
++		} while (done < 0 && errno == EAGAIN);
++
+ 		if (done <= 0)
+ 			return (done);
+ 		buf += done;
+-- 
+1.7.0.1
+

Copied: lirc/repos/testing-x86_64/lircm.service (from rev 186445, lirc/trunk/lircm.service)
===================================================================
--- testing-x86_64/lircm.service	                        (rev 0)
+++ testing-x86_64/lircm.service	2013-05-26 15:38:47 UTC (rev 186446)
@@ -0,0 +1,11 @@
+[Unit]
+Description=LIRC Mouse
+After=lirc.service
+Wants=lirc.service
+
+[Service]
+ExecStart=/usr/bin/lircmd -u
+Type=forking
+
+[Install]
+WantedBy=multi-user.target



More information about the arch-commits mailing list