lirc: move XBOX driver to kernel

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2013-05-30 19:55:16 +02:00
parent 83c56c937d
commit 3a85558798
22 changed files with 3149 additions and 192 deletions

View File

@ -1,67 +1,28 @@
diff -Naur lirc-0.9.0-old/configure.ac lirc-0.9.0-new/configure.ac
--- lirc-0.9.0-old/configure.ac 2012-02-29 21:46:37.000000000 -0800
+++ lirc-0.9.0-new/configure.ac 2012-02-29 21:54:01.000000000 -0800
@@ -172,7 +172,8 @@
(lirc_dev lirc_sasem) \
(lirc_dev lirc_serial) \
(lirc_dev lirc_sir) \
- (lirc_dev lirc_wpc8769l)"
+ (lirc_dev lirc_wpc8769l) \
+ (lirc_dev lirc_xbox)"
fi
diff -Naur linux-3.9.4/drivers/staging/media/lirc/Kconfig linux-3.9.4.patch/drivers/staging/media/lirc/Kconfig
--- linux-3.9.4/drivers/staging/media/lirc/Kconfig 2013-05-24 20:45:59.000000000 +0200
+++ linux-3.9.4.patch/drivers/staging/media/lirc/Kconfig 2013-05-30 18:18:57.238957100 +0200
@@ -63,10 +63,17 @@
help
Driver for the SIR IrDA port
AH_TEMPLATE([DAEMONIZE],
@@ -445,7 +446,7 @@
srm7500libusb, tekram,
tekram_bt829, tira, tira_raw, ttusbir,
tuxbox, tvbox, udp, uirt2, uirt2_raw,
- usb_uirt_raw, usbx, wpc8769l],
+ usb_uirt_raw, usbx, wpc8769l, xbox],
driver=${withval},
driver="unset"
)
@@ -610,6 +611,8 @@
;;
lirc_dev-lirc_wpc8769l)
;;
+ lirc_dev-lirc_xbox)
+ ;;
lirc_flyvideo)
;;
livedrive_midi)
@@ -1407,6 +1410,10 @@
lircd_conf="acer/lircd.conf.Aspire_6530G"
fi
+if test "$driver" = "xbox"; then
+ lirc_driver="lirc_dev lirc_xbox"
+ lircd_conf="xbox/lircd.conf.xbox"
+fi
#END HARDWARE HEURISTIC
@@ -1513,7 +1520,8 @@
lirc_serial \
lirc_sir \
lirc_ttusbir \
- lirc_wpc8769l"
+ lirc_wpc8769l \
+ lirc_xbox"
fi
if kernel_module=$(expr "$lirc_driver" : 'lirc_dev \(.*\)'); then
:
@@ -1780,6 +1788,7 @@
drivers/lirc_serial/Makefile
drivers/lirc_sir/Makefile
drivers/lirc_wpc8769l/Makefile
+ drivers/lirc_xbox/Makefile
daemons/Makefile
tools/Makefile
doc/Makefile
diff -Naur lirc-0.9.0-old/drivers/lirc_xbox/lirc_xbox.c lirc-0.9.0-new/drivers/lirc_xbox/lirc_xbox.c
--- lirc-0.9.0-old/drivers/lirc_xbox/lirc_xbox.c 1969-12-31 16:00:00.000000000 -0800
+++ lirc-0.9.0-new/drivers/lirc_xbox/lirc_xbox.c 2012-02-29 21:54:01.000000000 -0800
@@ -0,0 +1,992 @@
+config LIRC_XBOX
+ tristate "XBOX USB IR Remote"
+ depends on LIRC && USB
+ help
+ Driver for the Microsoft XBOX USB IR Remote
+
config LIRC_ZILOG
tristate "Zilog/Hauppauge IR Transmitter"
depends on LIRC && I2C
help
Driver for the Zilog/Hauppauge IR Transmitter, found on
PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards
+
endif
diff -Naur linux-3.9.4/drivers/staging/media/lirc/lirc_xbox.c linux-3.9.4.patch/drivers/staging/media/lirc/lirc_xbox.c
--- linux-3.9.4/drivers/staging/media/lirc/lirc_xbox.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-3.9.4.patch/drivers/staging/media/lirc/lirc_xbox.c 2013-05-30 18:40:22.523775446 +0200
@@ -0,0 +1,995 @@
+/*
+ * lirc_xbox - USB remote support for LIRC
+ * (supports Microsoft XBOX DVD Dongle)
@ -102,9 +63,9 @@ diff -Naur lirc-0.9.0-old/drivers/lirc_xbox/lirc_xbox.c lirc-0.9.0-new/drivers/l
+
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+#include <linux/autoconf.h>
+#endif
+//#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+//#include <linux/autoconf.h>
+//#endif
+
+#include <linux/kernel.h>
+#include <linux/errno.h>
@ -119,14 +80,14 @@ diff -Naur lirc-0.9.0-old/drivers/lirc_xbox/lirc_xbox.c lirc-0.9.0-new/drivers/l
+#include <linux/wait.h>
+#include <linux/list.h>
+
+#include "drivers/kcompat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
+//#include "drivers/kcompat.h"
+//#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
+#include <media/lirc.h>
+#include <media/lirc_dev.h>
+#else
+#include "drivers/lirc.h"
+#include "drivers/lirc_dev/lirc_dev.h"
+#endif
+//#else
+//#include "drivers/lirc.h"
+//#include "drivers/lirc_dev/lirc_dev.h"
+//#endif
+
+#define DRIVER_VERSION "$Revision: 0.01 $"
+#define DRIVER_AUTHOR "Jason Martin <austinspartan@users.sourceforge.net>"
@ -137,6 +98,10 @@ diff -Naur lirc-0.9.0-old/drivers/lirc_xbox/lirc_xbox.c lirc-0.9.0-new/drivers/l
+#define CODE_MIN_LENGTH 6
+#define DECODE_LENGTH 1
+
+#ifndef URB_ASYNC_UNLINK
+#define URB_ASYNC_UNLINK 0
+#endif
+
+/* module parameters */
+#ifdef CONFIG_USB_DEBUG
+static int debug = 1;
@ -1000,7 +965,6 @@ diff -Naur lirc-0.9.0-old/drivers/lirc_xbox/lirc_xbox.c lirc-0.9.0-new/drivers/l
+}
+
+static struct usb_driver usb_remote_driver = {
+ LIRC_THIS_MODULE(.owner = THIS_MODULE)
+ .name = DRIVER_NAME,
+ .probe = usb_remote_probe,
+ .disconnect = usb_remote_disconnect,
@ -1054,116 +1018,12 @@ diff -Naur lirc-0.9.0-old/drivers/lirc_xbox/lirc_xbox.c lirc-0.9.0-new/drivers/l
+
+module_param(repeat, int, S_IRUGO | S_IWUSR);
+MODULE_PARM_DESC(repeat, "Repeat timeout (1/100 sec) (default: 10)");
diff -Naur lirc-0.9.0-old/drivers/lirc_xbox/Makefile.am lirc-0.9.0-new/drivers/lirc_xbox/Makefile.am
--- lirc-0.9.0-old/drivers/lirc_xbox/Makefile.am 1969-12-31 16:00:00.000000000 -0800
+++ lirc-0.9.0-new/drivers/lirc_xbox/Makefile.am 2012-02-29 21:54:01.000000000 -0800
@@ -0,0 +1,13 @@
+## $Id: Makefile.am,v 1.3 2004/04/25 16:29:24 lirc Exp $
+
+## Process this file with automake to produce Makefile.in
+
+## this is so that Automake includes the C compiling definitions, and
+## includes the source files in the distribution.
+EXTRA_PROGRAMS = automake_dummy
+automake_dummy_SOURCES = lirc_xbox.c
+
+## there is no *just* object file support in automake. This is close enough
+module_DATA = lirc_xbox.o
+
+include ../Makefile.common
\ No newline at end of file
diff -Naur lirc-0.9.0-old/remotes/xbox/lircd.conf.xbox lirc-0.9.0-new/remotes/xbox/lircd.conf.xbox
--- lirc-0.9.0-old/remotes/xbox/lircd.conf.xbox 1969-12-31 16:00:00.000000000 -0800
+++ lirc-0.9.0-new/remotes/xbox/lircd.conf.xbox 2012-02-29 21:54:01.000000000 -0800
@@ -0,0 +1,58 @@
+#lirc.conf.xbox
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.8.2-CVS(default) on Mon Aug 25 09:04:22 2008
+#
+# contributed by
+#
+# brand: xbox.conf
+# model no. of remote control:
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name xbox.conf
+ bits 8
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ gap 163983
+ min_repeat 15
+ toggle_bit_mask 0x0
+
+ begin codes
+ MENU 0xF7
+ DISPLAY 0xD5
+ TITLE 0xE5
+ INFO 0xC3
+ EXIT 0xD8
+ UP 0xA6
+ DOWN 0xA7
+ LEFT 0xA9
+ RIGHT 0xA8
+ SELECT 0x0B
+ SKIP- 0xDD
+ SKIP+ 0xDF
+ REW 0xE2
+ FF 0xE3
+ STOP 0xE0
+ 1 0xCE
+ 2 0xCD
+ PAUSE 0xE6
+ PLAY 0xEA
+ 3 0xCC
+ 4 0xCB
+ 5 0xCA
+ 6 0xC9
+ 7 0xC8
+ 8 0xC7
+ 9 0xC6
+ 0 0xCF
+ end codes
+
+end remote
diff -Naur lirc-0.9.0-old/setup.data lirc-0.9.0-new/setup.data
--- lirc-0.9.0-old/setup.data 2012-02-29 21:44:15.000000000 -0800
+++ lirc-0.9.0-new/setup.data 2012-02-29 21:54:01.000000000 -0800
@@ -146,7 +146,8 @@
usb_uirt_raw: "USB-UIRT"
mplay: "VLSystem MPlay Blast"
mplay: "VLSystem MPlay Mini"
-
+ xbox: "XBOX DVD Dongle"
+
param_type: \
act200l \
act220l \
@@ -260,7 +261,8 @@
ttusbir \
tvbox \
udp \
- wpc8769l
+ wpc8769l \
+ xbox
none:
default_param: \
@@ -331,7 +333,8 @@
ttusbir \
tvbox \
udp \
- wpc8769l
+ wpc8769l \
+ xbox
none:
default_param: \
diff -Naur linux-3.9.4/drivers/staging/media/lirc/Makefile linux-3.9.4.patch/drivers/staging/media/lirc/Makefile
--- linux-3.9.4/drivers/staging/media/lirc/Makefile 2013-05-24 20:45:59.000000000 +0200
+++ linux-3.9.4.patch/drivers/staging/media/lirc/Makefile 2013-05-30 18:17:39.163634834 +0200
@@ -10,4 +10,5 @@
obj-$(CONFIG_LIRC_SASEM) += lirc_sasem.o
obj-$(CONFIG_LIRC_SERIAL) += lirc_serial.o
obj-$(CONFIG_LIRC_SIR) += lirc_sir.o
+obj-$(CONFIG_LIRC_XBOX) += lirc_xbox.o
obj-$(CONFIG_LIRC_ZILOG) += lirc_zilog.o

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -45,7 +45,6 @@ mkdir -p m4 && do_autoreconf
--with-gnu-ld \
--without-x \
--with-driver=userspace \
--with-driver=xbox \
--with-syslog=LOG_DAEMON \
--with-kerneldir=$(kernel_path) \
$DEBUG_CONFIG

View File

@ -24,10 +24,6 @@
VER=`ls $BUILD/linux*/modules/lib/modules`
# LIRC kernel driver
mkdir -p $INSTALL/lib/modules/$VER/lirc
cp $PKG_BUILD/drivers/lirc_*/*.ko $INSTALL/lib/modules/$VER/lirc
mkdir -p $INSTALL/usr/sbin
cp $PKG_BUILD/daemons/lircd $INSTALL/usr/sbin
cp $PKG_BUILD/daemons/lircmd $INSTALL/usr/sbin # do we need this?

View File

@ -47,7 +47,7 @@ diff -Naur lirc-0.9.0-old/configure.ac lirc-0.9.0-new/configure.ac
tekram_bt829, tira, tira_raw, ttusbir,
- tuxbox, tvbox, udp, uirt2, uirt2_raw,
+ tuxbox, udp, uirt2, uirt2_raw,
usb_uirt_raw, usbx, wpc8769l, xbox],
usb_uirt_raw, usbx, wpc8769l],
driver=${withval},
driver="unset"
@@ -592,9 +590,6 @@

View File

@ -2936,6 +2936,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
# CONFIG_LIRC_SASEM is not set
# CONFIG_LIRC_SERIAL is not set
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -2808,6 +2808,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
# CONFIG_LIRC_SASEM is not set
# CONFIG_LIRC_SERIAL is not set
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3126,6 +3126,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3073,6 +3073,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3304,6 +3304,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3255,6 +3255,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3307,6 +3307,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3180,6 +3180,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3107,6 +3107,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3232,6 +3232,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3160,6 +3160,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -2236,6 +2236,7 @@ CONFIG_LIRC_RPI=m
# CONFIG_LIRC_SASEM is not set
# CONFIG_LIRC_SERIAL is not set
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -2876,6 +2876,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
# CONFIG_LIRC_SASEM is not set
# CONFIG_LIRC_SERIAL is not set
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3307,6 +3307,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#

View File

@ -3258,6 +3258,7 @@ CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
# CONFIG_LIRC_SIR is not set
CONFIG_LIRC_XBOX=m
# CONFIG_LIRC_ZILOG is not set
#