rpms/kernel/F-9 linux-2.6-lirc.patch,1.7,1.8
Jarod Wilson (jwilson)
fedora-extras-commits at redhat.com
Mon Jun 2 20:18:29 UTC 2008
Author: jwilson
Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5900
Modified Files:
linux-2.6-lirc.patch
Log Message:
Fix lirc patch, take 3. Also suck in support for additional mceusb2 devices while we're at it.
linux-2.6-lirc.patch:
Index: linux-2.6-lirc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/linux-2.6-lirc.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- linux-2.6-lirc.patch 2 Jun 2008 19:55:26 -0000 1.7
+++ linux-2.6-lirc.patch 2 Jun 2008 20:17:35 -0000 1.8
@@ -1,8 +1,39 @@
+ drivers/input/Kconfig | 2 +
+ drivers/input/Makefile | 2 +
+ drivers/input/lirc/Kconfig | 127 +++
+ drivers/input/lirc/Makefile | 24 +
+ drivers/input/lirc/commandir.c | 1009 +++++++++++++++++++++++
+ drivers/input/lirc/commandir.h | 41 +
+ drivers/input/lirc/kcompat.h | 152 ++++
+ drivers/input/lirc/lirc.h | 102 +++
+ drivers/input/lirc/lirc_atiusb.c | 1326 ++++++++++++++++++++++++++++++
+ drivers/input/lirc/lirc_bt829.c | 393 +++++++++
+ drivers/input/lirc/lirc_cmdir.c | 605 ++++++++++++++
+ drivers/input/lirc/lirc_cmdir.h | 27 +
+ drivers/input/lirc/lirc_dev.c | 827 +++++++++++++++++++
+ drivers/input/lirc/lirc_dev.h | 264 ++++++
+ drivers/input/lirc/lirc_i2c.c | 668 +++++++++++++++
+ drivers/input/lirc/lirc_igorplugusb.c | 624 ++++++++++++++
+ drivers/input/lirc/lirc_imon.c | 1165 +++++++++++++++++++++++++++
+ drivers/input/lirc/lirc_it87.c | 1012 +++++++++++++++++++++++
+ drivers/input/lirc/lirc_it87.h | 116 +++
+ drivers/input/lirc/lirc_mceusb.c | 890 ++++++++++++++++++++
+ drivers/input/lirc/lirc_mceusb2.c | 1058 ++++++++++++++++++++++++
+ drivers/input/lirc/lirc_parallel.c | 745 +++++++++++++++++
+ drivers/input/lirc/lirc_parallel.h | 26 +
+ drivers/input/lirc/lirc_pvr150.c | 1431 +++++++++++++++++++++++++++++++++
+ drivers/input/lirc/lirc_sasem.c | 971 ++++++++++++++++++++++
+ drivers/input/lirc/lirc_serial.c | 1348 +++++++++++++++++++++++++++++++
+ drivers/input/lirc/lirc_sir.c | 1323 ++++++++++++++++++++++++++++++
+ drivers/input/lirc/lirc_streamzap.c | 810 +++++++++++++++++++
+ drivers/input/lirc/lirc_ttusbir.c | 393 +++++++++
+ 29 files changed, 17481 insertions(+), 0 deletions(-)
+
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
-index 63512d9..de4b170 100644
+index 5f9d860..747633c 100644
--- a/drivers/input/Kconfig
+++ b/drivers/input/Kconfig
-@@ -161,5 +161,7 @@ source "drivers/input/gameport/Kconfig"
+@@ -182,5 +182,7 @@ source "drivers/input/gameport/Kconfig"
endmenu
@@ -11,13 +42,14 @@
endmenu
diff --git a/drivers/input/Makefile b/drivers/input/Makefile
-index 99af903..78b0420 100644
+index 98c4f9a..6a1049b 100644
--- a/drivers/input/Makefile
+++ b/drivers/input/Makefile
-@@ -22,3 +22,4 @@ obj-$(CONFIG_INPUT_TABLET) += tablet/
- obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/
+@@ -23,3 +23,5 @@ obj-$(CONFIG_INPUT_MISC) += misc/
obj-$(CONFIG_INPUT_MISC) += misc/
+ obj-$(CONFIG_INPUT_APMPOWER) += apm-power.o
++
+obj-$(CONFIG_INPUT_LIRC) += lirc/
diff --git a/drivers/input/lirc/Kconfig b/drivers/input/lirc/Kconfig
new file mode 100644
@@ -1246,10 +1278,10 @@
+
diff --git a/drivers/input/lirc/kcompat.h b/drivers/input/lirc/kcompat.h
new file mode 100644
-index 0000000..7792a88
+index 0000000..da2e7eb
--- /dev/null
+++ b/drivers/input/lirc/kcompat.h
-@@ -0,0 +1,150 @@
+@@ -0,0 +1,153 @@
+/* $Id$ */
+
+#ifndef _KCOMPAT_H
@@ -1267,12 +1299,15 @@
+
+
+
-+#define lirc_class_device_create class_device_create
++#define lirc_device_create(cs, parent, dev, fmt, args...) \
++ class_device_create(cs, NULL, dev, parent, fmt, ## args)
+#define LIRC_DEVFS_PREFIX
+
+
+typedef struct class lirc_class_t;
+
++#define lirc_device_destroy class_device_destroy
++
+
+
+#ifndef LIRC_DEVFS_PREFIX
@@ -1402,10 +1437,10 @@
+#endif /* _KCOMPAT_H */
diff --git a/drivers/input/lirc/lirc.h b/drivers/input/lirc/lirc.h
new file mode 100644
-index 0000000..ee76bc9
+index 0000000..accd2cd
--- /dev/null
+++ b/drivers/input/lirc/lirc.h
-@@ -0,0 +1,101 @@
+@@ -0,0 +1,102 @@
+/* $Id$ */
+
+#ifndef _LINUX_LIRC_H
@@ -1464,6 +1499,7 @@
+
+#define LIRC_CAN_SET_REC_DUTY_CYCLE_RANGE 0x40000000
+#define LIRC_CAN_SET_REC_CARRIER_RANGE 0x80000000
++#define LIRC_CAN_GET_REC_RESOLUTION 0x20000000
+
+#define LIRC_CAN_SEND(x) ((x)&LIRC_CAN_SEND_MASK)
+#define LIRC_CAN_REC(x) ((x)&LIRC_CAN_REC_MASK)
@@ -3884,7 +3920,7 @@
+#endif
diff --git a/drivers/input/lirc/lirc_dev.c b/drivers/input/lirc/lirc_dev.c
new file mode 100644
-index 0000000..cbbc436
+index 0000000..1d5706f
--- /dev/null
+++ b/drivers/input/lirc/lirc_dev.c
@@ -0,0 +1,827 @@
@@ -3998,7 +4034,7 @@
+#ifdef LIRC_HAVE_DEVFS_26
+ devfs_remove(DEV_LIRC "/%u", ir->p.minor);
+#endif
-+ class_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor));
++ lirc_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor));
+
+ if (ir->buf != ir->p.rbuf) {
+ lirc_buffer_free(ir->buf);
@@ -4219,9 +4255,9 @@
+ S_IFCHR|S_IRUSR|S_IWUSR,
+ DEV_LIRC "/%u", ir->p.minor);
+#endif
-+ (void) lirc_class_device_create(lirc_class, NULL,
-+ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor),
-+ ir->p.dev, "lirc%u", ir->p.minor);
++ (void) lirc_device_create(lirc_class, ir->p.dev,
++ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor),
++ "lirc%u", ir->p.minor);
+
+ if (p->sample_rate || p->get_queue) {
+ /* try to fire up polling thread */
@@ -4247,7 +4283,7 @@
+ return minor;
+
+out_sysfs:
-+ class_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor));
++ lirc_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor));
+#ifdef LIRC_HAVE_DEVFS_26
+ devfs_remove(DEV_LIRC "/%i", ir->p.minor);
+#endif
@@ -4987,7 +5023,7 @@
+#endif
diff --git a/drivers/input/lirc/lirc_i2c.c b/drivers/input/lirc/lirc_i2c.c
new file mode 100644
-index 0000000..6fd8d39
+index 0000000..6e47d53
--- /dev/null
+++ b/drivers/input/lirc/lirc_i2c.c
@@ -0,0 +1,668 @@
@@ -9498,12 +9534,12 @@
+EXPORT_NO_SYMBOLS;
diff --git a/drivers/input/lirc/lirc_mceusb2.c b/drivers/input/lirc/lirc_mceusb2.c
new file mode 100644
-index 0000000..85dc1ce
+index 0000000..9e927a4
--- /dev/null
+++ b/drivers/input/lirc/lirc_mceusb2.c
-@@ -0,0 +1,1042 @@
+@@ -0,0 +1,1058 @@
+/*
-+ * LIRC driver for Philips eHome USB Infrared Transciever
++ * LIRC driver for Philips eHome USB Infrared Transceiver
+ * and the Microsoft MCE 2005 Remote Control
+ *
+ * (C) by Martin A. Blatter <martin_a_blatter at yahoo.com>
@@ -9562,7 +9598,7 @@
+#define DRIVER_VERSION "$Revision$"
+#define DRIVER_AUTHOR "Daniel Melander <lirc at rajidae.se>, " \
+ "Martin Blatter <martin_a_blatter at yahoo.com>"
-+#define DRIVER_DESC "Philips eHome USB IR Transciever and Microsoft " \
++#define DRIVER_DESC "Philips eHome USB IR Transceiver and Microsoft " \
+ "MCE 2005 Remote Control driver for LIRC"
+#define DRIVER_NAME "lirc_mceusb2"
+
@@ -9582,6 +9618,7 @@
+#define MCE_PULSE_BIT 0x80 /* Pulse bit, MSB set == PULSE else SPACE */
+#define MCE_PULSE_MASK 0x7F /* Pulse mask */
+#define MCE_MAX_PULSE_LENGTH 0x7F /* Longest transmittable pulse symbol */
++#define MCE_PACKET_LENGTH_MASK 0x7F /* Pulse mask */
+
+
+/* module parameters */
@@ -9616,6 +9653,7 @@
+#define VENDOR_TATUNG 0x1460
+#define VENDOR_GATEWAY 0x107b
+#define VENDOR_SHUTTLE 0x1308
++#define VENDOR_SHUTTLE2 0x051c
+#define VENDOR_MITSUMI 0x03ee
+#define VENDOR_TOPSEED 0x1784
+#define VENDOR_RICAVISION 0x179d
@@ -9625,12 +9663,15 @@
+#define VENDOR_MICROSOFT 0x045e
+#define VENDOR_FORMOSA 0x147a
+#define VENDOR_FINTEK 0x1934
++#define VENDOR_PINNACLE 0x2304
+
+static struct usb_device_id usb_remote_table [] = {
-+ /* Philips eHome Infrared Transciever */
++ /* Philips eHome Infrared Transceiver */
+ { USB_DEVICE(VENDOR_PHILIPS, 0x0815) },
-+ /* Philips Infrared Transciever - HP branded */
++ /* Philips Infrared Transceiver - HP branded */
+ { USB_DEVICE(VENDOR_PHILIPS, 0x060c) },
++ /* Philips SRM5100 */
++ { USB_DEVICE(VENDOR_PHILIPS, 0x060d) },
+ /* SMK/Toshiba G83C0004D410 */
+ { USB_DEVICE(VENDOR_SMK, 0x031d) },
+ /* SMK eHome Infrared Transceiver (Sony VAIO) */
@@ -9641,6 +9682,8 @@
+ { USB_DEVICE(VENDOR_TATUNG, 0x9150) },
+ /* Shuttle eHome Infrared Transceiver */
+ { USB_DEVICE(VENDOR_SHUTTLE, 0xc001) },
++ /* Shuttle eHome Infrared Transceiver */
++ { USB_DEVICE(VENDOR_SHUTTLE2, 0xc001) },
+ /* Gateway eHome Infrared Transceiver */
+ { USB_DEVICE(VENDOR_GATEWAY, 0x3009) },
+ /* Mitsumi */
@@ -9667,8 +9710,12 @@
+ { USB_DEVICE(VENDOR_FORMOSA, 0xe015) },
+ /* Formosa aim / Trust MCE Infrared Receiver */
+ { USB_DEVICE(VENDOR_FORMOSA, 0xe017) },
++ /* Formosa Industrial Computing / Beanbag Emulation Device */
++ { USB_DEVICE(VENDOR_FORMOSA, 0xe018) },
+ /* Fintek eHome Infrared Transceiver */
+ { USB_DEVICE(VENDOR_FINTEK, 0x0602) },
++ /* Pinnacle Remote Kit */
++ { USB_DEVICE(VENDOR_PINNACLE, 0x0225) },
+ /* Terminating entry */
+ { }
+};
@@ -9938,9 +9985,11 @@
+ /* success */
+ case SUCCESS:
+ for (i = 0; i < buf_len; i++) {
-+ /* decode mce packets on the form (84),AA,BB,CC,DD */
++ /* decode mce packets of the form (84),AA,BB,CC,DD */
+ switch (ir->buf_in[i]) {
++
+ /* data headers */
++ case 0x90: /* used Pinnacle Remote Kit */
+ case 0x8F:
+ case 0x8E:
+ case 0x8D:
@@ -9958,7 +10007,8 @@
+ case 0x81:
+ case 0x80:
+ /* decode packet data */
-+ packet_len = ir->buf_in[i] & MCE_PULSE_MASK;
++ packet_len = ir->buf_in[i] &
++ MCE_PACKET_LENGTH_MASK;
+ for (j = 1;
+ j <= packet_len && (i+j < buf_len);
+ j++) {
@@ -10127,7 +10177,9 @@
+ (ir->usbdev->descriptor.idVendor == VENDOR_TOPSEED &&
+ (ir->usbdev->descriptor.idProduct == 0x0001 ||
+ ir->usbdev->descriptor.idProduct == 0x0007 ||
-+ ir->usbdev->descriptor.idProduct == 0x0008)))
++ ir->usbdev->descriptor.idProduct == 0x0008)) ||
++ (ir->usbdev->descriptor.idVendor == VENDOR_PINNACLE &&
++ (ir->usbdev->descriptor.idProduct == 0x0225)))
+ ir->transmitter_mask = mask;
+ else
+ /* The mask begins at 0x02 and has an inverted
More information about the scm-commits
mailing list