From efd95ce5b48d0214af3a6da3960413ac476a2d1a Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Fri, 2 Jan 2015 23:07:19 +0000 Subject: lirc: update to 0.9.1a; build for kernel 3.18.1 --- abs/core/lirc/PKGBUILD | 92 +++++++++++---------------- abs/core/lirc/__changelog | 1 - abs/core/lirc/irexec.service | 8 +-- abs/core/lirc/kernel-2.6.39.patch | 54 ---------------- abs/core/lirc/linux-3.8.patch | 80 ----------------------- abs/core/lirc/lirc-0.9.1a-fix-segfaults.patch | 79 +++++++++++++++++++++++ abs/core/lirc/lirc-utils.install | 8 ++- abs/core/lirc/lirc.install | 12 ++-- abs/core/lirc/lirc.service | 12 ---- abs/core/lirc/lirc_atiusb-kfifo.patch | 31 --------- abs/core/lirc/lirc_wpc8769l.patch | 88 ------------------------- abs/core/lirc/lircd-handle-large-config.patch | 39 ------------ abs/core/lirc/lircm.service | 12 ---- abs/core/lirc/wpc8769l-build-fix.patch | 90 ++++++++++++++++++++++++++ 14 files changed, 221 insertions(+), 385 deletions(-) delete mode 100644 abs/core/lirc/kernel-2.6.39.patch delete mode 100644 abs/core/lirc/linux-3.8.patch create mode 100644 abs/core/lirc/lirc-0.9.1a-fix-segfaults.patch delete mode 100644 abs/core/lirc/lirc.service delete mode 100644 abs/core/lirc/lirc_atiusb-kfifo.patch delete mode 100644 abs/core/lirc/lirc_wpc8769l.patch delete mode 100644 abs/core/lirc/lircd-handle-large-config.patch delete mode 100644 abs/core/lirc/lircm.service create mode 100644 abs/core/lirc/wpc8769l-build-fix.patch diff --git a/abs/core/lirc/PKGBUILD b/abs/core/lirc/PKGBUILD index e77de3a..c79cf09 100644 --- a/abs/core/lirc/PKGBUILD +++ b/abs/core/lirc/PKGBUILD @@ -3,41 +3,35 @@ pkgbase=lirc pkgname=('lirc' 'lirc-utils') -pkgver=0.9.0 -pkgrel=74 -#epoch=1 -_extramodules=extramodules-3.13-ARCH +_pkgver=0.9.1a +[[ $_pkgver =~ [a-z]$ ]] && pkgver="${_pkgver:0:-1}.${_pkgver: -1}" || pkgver="$_pkgver" +pkgrel=11 +epoch=1 +_extramodules=extramodules-3.18-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>=3.13' 'linux<3.14' 'linux-headers>=3.13' 'linux-headers<3.14' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2' 'iguanair') +# NOTICE: Don't forget to bump version in depends in package_lirc()! +makedepends=('help2man' 'linux>=3.18' 'linux<3.19' 'linux-headers>=3.18' 'linux-headers<3.19' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2' 'iguanair') 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 +source=("http://prdownloads.sourceforge.net/${pkgbase}/${pkgbase}-${_pkgver}.tar.bz2" + wpc8769l-build-fix.patch + lirc-0.9.1a-fix-segfaults.patch lirc.logrotate - lirc.service - lircm.service irexec.service lirc.tmpfiles) +md5sums=('1f1fac162ed309dd50f307e96a292957' + '9ec33169b3407f74264062d7679dd269' + 'cd00acf480e82a0bf050032732d0d733' + '3deb02604b37811d41816e9b4385fcc3' + '32df3b9bc859565d6acf5f0e5b747083' + 'febf25c154a7d36f01159e84f26c2d9a') prepare() { - 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" - - # use fixed instead of Courier w/xmode2, should be more prevalent on linux boxen - sed -i -e 's|char.*font1_name.*Courier.*$|char font1_name[]="-misc-fixed-*-r-*-*-12-*-*-*-*-*-iso8859-1";|g' tools/xmode2.c + cd "${srcdir}/lirc-${_pkgver}" - # use /dev/lirc0 by default instead of /dev/lirc - sed -i -e 's|#define DEV_LIRC "lirc"|#define DEV_LIRC "lirc0"|' config.h.in + patch -Np1 -i "${srcdir}/wpc8769l-build-fix.patch" + patch -Np1 -i "${srcdir}/lirc-0.9.1a-fix-segfaults.patch" sed -i '/AC_PATH_XTRA/d' configure.ac sed -e 's/@X_CFLAGS@//g' \ @@ -45,78 +39,64 @@ prepare() { -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 } build() { + cd "${srcdir}/lirc-${_pkgver}" _kernver="$(cat /usr/lib/modules/${_extramodules}/version)" - cd "${srcdir}/lirc-${pkgver}" PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \ - --with-driver=all --with-kerneldir=/usr/lib/modules/${_kernver}/build \ - --with-moduledir=/usr/lib/modules/${_kernver}/kernel/drivers/misc \ + --with-driver=all --with-kerneldir="/usr/lib/modules/${_kernver}/build/" \ + --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::" \ + -e "s:lirc_atiusb::" -e "s:lirc_i2c::" \ -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile make - #removed removing lirc_atiusb which is needed for the firefly - #-e "s:lirc_atiusb::" -e "s:lirc_i2c::" \ } package_lirc() { pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel" - depends=('lirc-utils' 'linux>=3.13' 'linux<3.14') + depends=('lirc-utils' 'linux>=3.18' 'linux<3.19' 'iguanair') replaces=('lirc+pctv') install=lirc.install - cd "${srcdir}/lirc-${pkgver}/drivers" + cd "${srcdir}/lirc-${_pkgver}/drivers" + make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install + gzip -9 "${pkgdir}/usr/lib/modules/${_extramodules}"/*.ko # 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 {} \; + sed -i "s/^EXTRAMODULES=.*$/EXTRAMODULES=${_extramodules}/" "${startdir}/lirc.install" } package_lirc-utils() { pkgdesc="Linux Infrared Remote Control utils" - depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'iguanair') + depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman') optdepends=('python2: pronto2lirc utility') options=('strip') + backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf') install=lirc-utils.install - cd "${srcdir}/lirc-${pkgver}" + 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 + + install -Dm644 "${srcdir}"/irexec.service "${pkgdir}"/usr/lib/systemd/system/irexec.service + install -Dm644 "${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' - 'a9ab637e7207472e61e55a2fa75dc555' - '1847b9997685bc3ad2cf11bea4590a92' - '07131d117fcfe9dcd50c453c3a5e9531' - 'febf25c154a7d36f01159e84f26c2d9a') diff --git a/abs/core/lirc/__changelog b/abs/core/lirc/__changelog index c0068c0..19c9302 100644 --- a/abs/core/lirc/__changelog +++ b/abs/core/lirc/__changelog @@ -1,2 +1 @@ added 'iguanair' to make depends and package depends -change configure kerneldir for 3.13 moving src to --with-kerneldir=/usr/lib/modules/${_kernver}/build diff --git a/abs/core/lirc/irexec.service b/abs/core/lirc/irexec.service index 5d7915b..dffbbf5 100644 --- a/abs/core/lirc/irexec.service +++ b/abs/core/lirc/irexec.service @@ -1,11 +1,11 @@ [Unit] -Description=IR Exec -After=lirc.service -Wants=lirc.service +Description=LIRC command handler +After=network.target [Service] -ExecStart=/usr/bin/irexec --daemon Type=forking +ExecStart=/usr/bin/irexec --daemon [Install] WantedBy=multi-user.target +Wants=lircd.service diff --git a/abs/core/lirc/kernel-2.6.39.patch b/abs/core/lirc/kernel-2.6.39.patch deleted file mode 100644 index 7353d61..0000000 --- a/abs/core/lirc/kernel-2.6.39.patch +++ /dev/null @@ -1,54 +0,0 @@ -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 - #include - #include --#include - #include - #include - #include -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( diff --git a/abs/core/lirc/linux-3.8.patch b/abs/core/lirc/linux-3.8.patch deleted file mode 100644 index 7b6378a..0000000 --- a/abs/core/lirc/linux-3.8.patch +++ /dev/null @@ -1,80 +0,0 @@ -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 = { diff --git a/abs/core/lirc/lirc-0.9.1a-fix-segfaults.patch b/abs/core/lirc/lirc-0.9.1a-fix-segfaults.patch new file mode 100644 index 0000000..a1f6575 --- /dev/null +++ b/abs/core/lirc/lirc-0.9.1a-fix-segfaults.patch @@ -0,0 +1,79 @@ +From 8459a881fd53525a47ae2f9180fa3644be5df343 Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Mon, 18 Aug 2014 10:00:49 +0200 +Subject: [PATCH 1/3] Fix segfault when starting lircd (AUR 41581) + +See https://bugs.archlinux.org/task/41581 +--- + lirc_options.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lirc_options.conf b/lirc_options.conf +index d8ddedd..11293e2 100644 +--- a/lirc_options.conf ++++ b/lirc_options.conf +@@ -7,7 +7,7 @@ nodaemon = False + permission = 666 + driver = default + device = /dev/lirc0 +-output = /var/run/lirc/lircd ++lircdfile = /var/run/lirc/lircd + pidfile = /var/run/lirc/lircd.pid + plugindir = /usr/lib/lirc/plugins + allow-simulate = No +-- +2.1.0 + + +From 4a9b45822890f50c5ed36660468e0a99cd4531e0 Mon Sep 17 00:00:00 2001 +From: Alec Leamas +Date: Mon, 18 Aug 2014 10:05:44 +0200 +Subject: [PATCH 2/3] lircd: Fix bad default for lircdfile. + +--- + daemons/lircd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/daemons/lircd.c b/daemons/lircd.c +index db8ea13..fa8cf17 100644 +--- a/daemons/lircd.c ++++ b/daemons/lircd.c +@@ -2147,7 +2147,7 @@ static void lircd_add_defaults(void) + "lircd:device", LIRC_DRIVER_DEVICE, + "lircd:listen", NULL , + "lircd:connect", NULL, +- "lircd:output", LIRCD, ++ "lircd:lircdfile", LIRCD, + "lircd:pidfile", PIDFILE, + "lircd:logfile", LOGFILE, + "lircd:debug", "False", +-- +2.1.0 + + +From 02252a9fe76c4a4fd809966971759c66af707f02 Mon Sep 17 00:00:00 2001 +From: Andreas Bader +Date: Tue, 19 Aug 2014 16:58:21 +0200 +Subject: [PATCH 3/3] 0.9.1a: Bugfix: segfault when parsing --connect in config + file. + +--- + daemons/lircd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/daemons/lircd.c b/daemons/lircd.c +index fa8cf17..7af4265 100644 +--- a/daemons/lircd.c ++++ b/daemons/lircd.c +@@ -2311,7 +2311,7 @@ int main(int argc, char **argv) + } + opt = options_getstring("lircd:connect"); + if (opt != NULL) { +- if (!add_peer_connection(optarg)) ++ if (!add_peer_connection(opt)) + return(EXIT_FAILURE); + } + # ifdef DEBUG +-- +2.1.0 + diff --git a/abs/core/lirc/lirc-utils.install b/abs/core/lirc/lirc-utils.install index 293d1ed..f7faa07 100644 --- a/abs/core/lirc/lirc-utils.install +++ b/abs/core/lirc/lirc-utils.install @@ -3,5 +3,11 @@ post_install() { } post_upgrade() { - post_install + post_install + + if [[ "$(vercmp $2 1:0.9.1-1)" -lt 0 ]]; then + echo ':: lirc.service and lircm.service have been replaced' + echo ' by the upstream unit files lircd.service and' + echo ' lircmd.service.' + fi } diff --git a/abs/core/lirc/lirc.install b/abs/core/lirc/lirc.install index 8e5460a..53b1bc7 100644 --- a/abs/core/lirc/lirc.install +++ b/abs/core/lirc/lirc.install @@ -1,16 +1,14 @@ -EXTRAMODULES=extramodules-3.13-ARCH +EXTRAMODULES=extramodules-3.18-ARCH post_install() { - # updating module dependencies - echo ">>> Updating module dependencies. Please wait ..." - depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) > /dev/null 2>&1 + echo ">>> Updating module dependencies. Please wait ..." + depmod "$(cat /usr/lib/modules/$EXTRAMODULES/version)" >/dev/null 2>&1 } post_upgrade() { - post_install + post_install } -# arg 1: the old package version post_remove() { - post_install + post_install } diff --git a/abs/core/lirc/lirc.service b/abs/core/lirc/lirc.service deleted file mode 100644 index a797d16..0000000 --- a/abs/core/lirc/lirc.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Linux Infrared Remote Control -After=network.target - -[Service] -Type=forking -PIDFile=/run/lirc/lircd.pid -ExecStart=/usr/sbin/lircd --driver=default --device=/dev/lirc0 - -[Install] -WantedBy=multi-user.target - diff --git a/abs/core/lirc/lirc_atiusb-kfifo.patch b/abs/core/lirc/lirc_atiusb-kfifo.patch deleted file mode 100644 index a64984d..0000000 --- a/abs/core/lirc/lirc_atiusb-kfifo.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ec3c5660e67c122e2d5eb9cfa838c9709fccf8e0 Mon Sep 17 00:00:00 2001 -From: Jason Martin -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 ---- - 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 - diff --git a/abs/core/lirc/lirc_wpc8769l.patch b/abs/core/lirc/lirc_wpc8769l.patch deleted file mode 100644 index e4e2a04..0000000 --- a/abs/core/lirc/lirc_wpc8769l.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 413e83bf504fe9a9a177f27742220cfcb184b034 Mon Sep 17 00:00:00 2001 -From: =?utf8?q?Juan=20Jes=C3=BAs=20Garc=C3=ADa=20de=20Soria=20Lucena?= -Date: Wed, 30 Mar 2011 16:46:35 -0400 -Subject: [PATCH] Make lirc_wpc8769l functional again - -Signed-off-by: Jarod Wilson ---- - 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 - diff --git a/abs/core/lirc/lircd-handle-large-config.patch b/abs/core/lirc/lircd-handle-large-config.patch deleted file mode 100644 index 85bc205..0000000 --- a/abs/core/lirc/lircd-handle-large-config.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5efb56bf22a5077db564c766ba7cc37bc269231d Mon Sep 17 00:00:00 2001 -From: Jarod Wilson -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 ---- - 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 - diff --git a/abs/core/lirc/lircm.service b/abs/core/lirc/lircm.service deleted file mode 100644 index c0b5e36..0000000 --- a/abs/core/lirc/lircm.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=LIRC Mouse -Requires=lirc.service -After=network.target lirc.service - -[Service] -Type=forking -ExecStart=/usr/sbin/lircmd - -[Install] -WantedBy=multi-user.target - diff --git a/abs/core/lirc/wpc8769l-build-fix.patch b/abs/core/lirc/wpc8769l-build-fix.patch new file mode 100644 index 0000000..5e25693 --- /dev/null +++ b/abs/core/lirc/wpc8769l-build-fix.patch @@ -0,0 +1,90 @@ +diff --git a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c +index 790efa2..4248fe9 100644 +--- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c ++++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c +@@ -51,17 +51,13 @@ + #include + + #include ++#include + + #include ++#include + +-#include "drivers/kcompat.h" +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35) +-#include +-#include +-#else +-#include "drivers/lirc.h" +-#include "drivers/lirc_dev/lirc_dev.h" +-#endif ++#include "media/lirc_dev.h" ++#include "media/lirc.h" + + #include "lirc_wpc8769l.h" + +@@ -105,11 +101,11 @@ static unsigned int baseport2; + static unsigned int irq; + + /* Debugging flag. */ +-static int debug; ++static bool debug; + + /* If true, we skip ACPI autodetection and use the parameter-supplied I/O and + * IRQ. */ +-static int skip_probe; ++static bool skip_probe; + + /* Whether the device is open or not. */ + static int lirc_wpc8769l_is_open; +@@ -360,14 +356,14 @@ static irqreturn_t irq_handler(int irqno, void *blah, struct pt_regs *regs) + size = count << 3; + + ldata = (unsigned long *) data_buf; +- next_one = generic_find_next_le_bit(ldata, size, 0); ++ next_one = find_next_bit(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(ldata, + size, next_one + 1); + + put_space_bit( +@@ -375,7 +371,7 @@ static irqreturn_t irq_handler(int irqno, void *blah, struct pt_regs *regs) + * WPC8769L_USECS_PER_BIT); + + if (next_zero < size) { +- next_one = generic_find_next_le_bit(ldata, ++ next_one = find_next_bit(ldata, + size, next_zero + 1); + + put_pulse_bit( +@@ -922,12 +918,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; + } +@@ -955,7 +951,7 @@ static int lirc_wpc8769l_resume(struct platform_device *dev) + + 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 = { -- cgit v0.12