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 85ed479c87
commit 5c10845150
17 changed files with 1088 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

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

@ -2812,6 +2812,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

@ -2707,6 +2707,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

@ -3013,6 +3013,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

@ -2957,6 +2957,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

@ -3184,6 +3184,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

@ -3187,6 +3187,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

@ -3065,6 +3065,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

@ -2990,6 +2990,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

@ -3112,6 +3112,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

@ -3038,6 +3038,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

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

View File

@ -2769,6 +2769,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
#