rpms/kernel/devel kernel.spec, 1.1822, 1.1823 lirc-2.6.31.patch, 1.3, 1.4 lirc-2.6.32-fixes.patch, 1.1, NONE

Jarod Wilson jwilson at fedoraproject.org
Mon Oct 12 16:03:12 UTC 2009


Author: jwilson

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14613

Modified Files:
	kernel.spec lirc-2.6.31.patch 
Removed Files:
	lirc-2.6.32-fixes.patch 
Log Message:
* Mon Oct 12 2009 Jarod Wilson <jarod at redhat.com>
- Merge lirc compile fixes into lirc patch
- Refresh lirc patch with additional irq handling fixage
- Fix IR transmit on port 1 of 1st-gen mceusb transceiver
- Support another mouse button variant on imon devices



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1822
retrieving revision 1.1823
diff -u -p -r1.1822 -r1.1823
--- kernel.spec	12 Oct 2009 04:30:03 -0000	1.1822
+++ kernel.spec	12 Oct 2009 16:03:11 -0000	1.1823
@@ -667,7 +667,6 @@ Patch900: linux-2.6-pci-cacheline-sizing
 
 Patch1515: lirc-2.6.31.patch
 Patch1517: hdpvr-ir-enable.patch
-Patch1519: lirc-2.6.32-fixes.patch
 
 # virt + ksm patches
 Patch1551: linux-2.6-ksm-kvm.patch
@@ -1282,8 +1281,6 @@ ApplyPatch linux-2.6-pci-cacheline-sizin
 ApplyPatch lirc-2.6.31.patch
 # enable IR receiver on Hauppauge HD PVR (v4l-dvb merge pending)
 ApplyPatch hdpvr-ir-enable.patch
-# fixes
-ApplyPatch lirc-2.6.32-fixes.patch
 
 # Add kernel KSM support
 # Optimize KVM for KSM support
@@ -1988,6 +1985,12 @@ fi
 # ##############################################################
 
 %changelog
+* Mon Oct 12 2009 Jarod Wilson <jarod at redhat.com>
+- Merge lirc compile fixes into lirc patch
+- Refresh lirc patch with additional irq handling fixage
+- Fix IR transmit on port 1 of 1st-gen mceusb transceiver
+- Support another mouse button variant on imon devices
+
 * Mon Oct 12 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.32-0.24.rc4.git0
 - Last-minute USB fix from upstream.
 

lirc-2.6.31.patch:
 MAINTAINERS                           |    9 
 drivers/input/Kconfig                 |    2 
 drivers/input/Makefile                |    2 
 drivers/input/lirc/Kconfig            |  119 +
 drivers/input/lirc/Makefile           |   21 
 drivers/input/lirc/lirc.h             |  100 +
 drivers/input/lirc/lirc_bt829.c       |  383 +++++
 drivers/input/lirc/lirc_dev.c         |  839 ++++++++++++
 drivers/input/lirc/lirc_dev.h         |  184 ++
 drivers/input/lirc/lirc_ene0100.c     |  645 +++++++++
 drivers/input/lirc/lirc_ene0100.h     |  169 ++
 drivers/input/lirc/lirc_i2c.c         |  537 +++++++
 drivers/input/lirc/lirc_igorplugusb.c |  556 ++++++++
 drivers/input/lirc/lirc_imon.c        | 2308 ++++++++++++++++++++++++++++++++++
 drivers/input/lirc/lirc_it87.c        |  986 ++++++++++++++
 drivers/input/lirc/lirc_it87.h        |  116 +
 drivers/input/lirc/lirc_ite8709.c     |  540 +++++++
 drivers/input/lirc/lirc_mceusb.c      | 1243 ++++++++++++++++++
 drivers/input/lirc/lirc_parallel.c    |  709 ++++++++++
 drivers/input/lirc/lirc_parallel.h    |   26 
 drivers/input/lirc/lirc_sasem.c       |  931 +++++++++++++
 drivers/input/lirc/lirc_serial.c      | 1316 +++++++++++++++++++
 drivers/input/lirc/lirc_sir.c         | 1283 ++++++++++++++++++
 drivers/input/lirc/lirc_streamzap.c   |  794 +++++++++++
 drivers/input/lirc/lirc_ttusbir.c     |  397 +++++
 drivers/input/lirc/lirc_zilog.c       | 1395 ++++++++++++++++++++
 26 files changed, 15610 insertions(+)

Index: lirc-2.6.31.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/lirc-2.6.31.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- lirc-2.6.31.patch	3 Sep 2009 21:02:14 -0000	1.3
+++ lirc-2.6.31.patch	12 Oct 2009 16:03:12 -0000	1.4
@@ -1,6 +1,6 @@
 Linux Infrared Remote Control drivers -- http://www.lirc.org
 
-Last updated: Thursday, September 03, 2009
+Last updated: Monday, October 12, 2009
 
 From http://git.wilsonet.com/linux-2.6-lirc.git/
 
@@ -16,24 +16,24 @@ Signed-off-by: Jarod Wilson <jarod at redha
  drivers/input/lirc/lirc_bt829.c       |  383 ++++++
  drivers/input/lirc/lirc_dev.c         |  839 ++++++++++++
  drivers/input/lirc/lirc_dev.h         |  184 +++
- drivers/input/lirc/lirc_ene0100.c     |  644 +++++++++
+ drivers/input/lirc/lirc_ene0100.c     |  645 +++++++++
  drivers/input/lirc/lirc_ene0100.h     |  169 +++
  drivers/input/lirc/lirc_i2c.c         |  537 ++++++++
  drivers/input/lirc/lirc_igorplugusb.c |  556 ++++++++
- drivers/input/lirc/lirc_imon.c        | 2301 +++++++++++++++++++++++++++++++++
+ drivers/input/lirc/lirc_imon.c        | 2308 +++++++++++++++++++++++++++++++++
  drivers/input/lirc/lirc_it87.c        |  986 ++++++++++++++
  drivers/input/lirc/lirc_it87.h        |  116 ++
- drivers/input/lirc/lirc_ite8709.c     |  539 ++++++++
- drivers/input/lirc/lirc_mceusb.c      | 1242 ++++++++++++++++++
+ drivers/input/lirc/lirc_ite8709.c     |  540 ++++++++
+ drivers/input/lirc/lirc_mceusb.c      | 1243 ++++++++++++++++++
  drivers/input/lirc/lirc_parallel.c    |  709 ++++++++++
  drivers/input/lirc/lirc_parallel.h    |   26 +
  drivers/input/lirc/lirc_sasem.c       |  931 +++++++++++++
  drivers/input/lirc/lirc_serial.c      | 1316 +++++++++++++++++++
  drivers/input/lirc/lirc_sir.c         | 1283 ++++++++++++++++++
- drivers/input/lirc/lirc_streamzap.c   |  794 ++++++++++++
+ drivers/input/lirc/lirc_streamzap.c   |  794 +++++++++++
  drivers/input/lirc/lirc_ttusbir.c     |  397 ++++++
  drivers/input/lirc/lirc_zilog.c       | 1395 ++++++++++++++++++++
- 26 files changed, 15600 insertions(+), 0 deletions(-)
+ 26 files changed, 15610 insertions(+), 0 deletions(-)
 
 diff --git a/MAINTAINERS b/MAINTAINERS
 index 8dca9d8..f25dc26 100644
@@ -1762,10 +1762,10 @@ index 0000000..8eeffa2
 +#endif
 diff --git a/drivers/input/lirc/lirc_ene0100.c b/drivers/input/lirc/lirc_ene0100.c
 new file mode 100644
-index 0000000..e84368f
+index 0000000..6276ce1
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_ene0100.c
-@@ -0,0 +1,644 @@
+@@ -0,0 +1,645 @@
 +/*
 + * driver for ENE KB3926 B/C/D CIR (also known as ENE0100)
 + *
@@ -1792,6 +1792,7 @@ index 0000000..e84368f
 +#include <linux/pnp.h>
 +#include <linux/io.h>
 +#include <linux/interrupt.h>
++#include <linux/sched.h>
 +#include "lirc_ene0100.h"
 +
 +static int sample_period = 75;
@@ -1845,7 +1846,7 @@ index 0000000..e84368f
 +	if (dev->hw_revision < ENE_HW_C) {
 +		irq_status = ene_hw_read_reg(dev, ENEB_IRQ_STATUS);
 +
-+		if (!irq_status & ENEB_IRQ_STATUS_IR)
++		if (!(irq_status & ENEB_IRQ_STATUS_IR))
 +			return 0;
 +		ene_hw_write_reg(dev, ENEB_IRQ_STATUS,
 +				 irq_status & ~ENEB_IRQ_STATUS_IR);
@@ -1856,7 +1857,7 @@ index 0000000..e84368f
 +
 +	irq_status = ene_hw_read_reg(dev, ENEC_IRQ);
 +
-+	if (!irq_status && ENEC_IRQ_STATUS)
++	if (!(irq_status & ENEC_IRQ_STATUS))
 +		return 0;
 +
 +	/* original driver does that twice - a workaround ? */
@@ -3692,10 +3693,10 @@ index 0000000..ff49bdd
 +
 diff --git a/drivers/input/lirc/lirc_imon.c b/drivers/input/lirc/lirc_imon.c
 new file mode 100644
-index 0000000..93acb33
+index 0000000..72d708a
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_imon.c
-@@ -0,0 +1,2301 @@
+@@ -0,0 +1,2308 @@
 +/*
 + *   lirc_imon.c:  LIRC/VFD/LCD driver for SoundGraph iMON IR/VFD/LCD
 + *		   including the iMON PAD model
@@ -4222,7 +4223,8 @@ index 0000000..93acb33
 +}
 +
 +/**
-+ * Sends a packet to the device
++ * Sends a packet to the device -- this function must be called
++ * with context->lock held.
 + */
 +static int send_packet(struct imon_context *context)
 +{
@@ -4400,7 +4402,6 @@ index 0000000..93acb33
 +		return -ENODEV;
 +	}
 +
-+
 +	for (i = 0; i < IMON_CLOCK_ENABLE_PACKETS; i++) {
 +		memcpy(context->usb_tx_buf, clock_enable_pkt[i], 8);
 +		retval = send_packet(context);
@@ -4412,7 +4413,6 @@ index 0000000..93acb33
 +	}
 +
 +	return retval;
-+
 +}
 +
 +/**
@@ -4809,8 +4809,11 @@ index 0000000..93acb33
 +	context->rx.prev_bit = 0;
 +
 +	/* set new IR protocol if it has changed since init or last open */
-+	if (ir_protocol != context->ir_protocol)
++	if (ir_protocol != context->ir_protocol) {
++		mutex_lock(&context->lock);
 +		imon_set_ir_protocol(context);
++		mutex_unlock(&context->lock);
++	}
 +
 +	context->ir_isopen = 1;
 +	printk(KERN_INFO MOD_NAME ": IR port opened\n");
@@ -5065,6 +5068,10 @@ index 0000000..93acb33
 +				rel_y |= ~0x0f;
 +			rel_y = rel_y + rel_y / 2;
 +			right_shift = 2;
++		/* some ffdc devices decode mouse buttons differently... */
++		} else if (context->ffdc_dev && (buf[0] == 0x68)) {
++			mouse_input = 1;
++			right_shift = 2;
 +		/* ch+/- buttons, which we use for an emulated scroll wheel */
 +		} else if (!memcmp(buf, ch_up, 4)) {
 +			mouse_input = 1;
@@ -5083,15 +5090,16 @@ index 0000000..93acb33
 +			}
 +			dprintk("sending mouse data via input subsystem\n");
 +
-+			if (dir == 0) {
-+				input_report_key(mouse, BTN_LEFT,
-+						 buf[1] & 0x01);
-+				input_report_key(mouse, BTN_RIGHT,
-+						 buf[1] >> right_shift & 0x01);
++			if (dir) {
++				input_report_rel(mouse, REL_WHEEL, dir);
++			} else if (rel_x || rel_y) {
 +				input_report_rel(mouse, REL_X, rel_x);
 +				input_report_rel(mouse, REL_Y, rel_y);
-+			} else
-+				input_report_rel(mouse, REL_WHEEL, dir);
++			} else {
++				input_report_key(mouse, BTN_LEFT, buf[1] & 0x1);
++				input_report_key(mouse, BTN_RIGHT,
++						 buf[1] >> right_shift & 0x1);
++			}
 +			input_sync(mouse);
 +			return;
 +		}
@@ -7113,10 +7121,10 @@ index 0000000..cf021c8
 +/********************************* ITE IT87xx ************************/
 diff --git a/drivers/input/lirc/lirc_ite8709.c b/drivers/input/lirc/lirc_ite8709.c
 new file mode 100644
-index 0000000..3d53181
+index 0000000..3be37ae
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_ite8709.c
-@@ -0,0 +1,539 @@
+@@ -0,0 +1,540 @@
 +/*
 + * LIRC driver for ITE8709 CIR port
 + *
@@ -7140,6 +7148,7 @@ index 0000000..3d53181
 +
 +#include <linux/module.h>
 +#include <linux/interrupt.h>
++#include <linux/sched.h>
 +#include <linux/delay.h>
 +#include <linux/pnp.h>
 +#include <linux/io.h>
@@ -7658,10 +7667,10 @@ index 0000000..3d53181
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
 diff --git a/drivers/input/lirc/lirc_mceusb.c b/drivers/input/lirc/lirc_mceusb.c
 new file mode 100644
-index 0000000..8b48a56
+index 0000000..80ee8b1
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_mceusb.c
-@@ -0,0 +1,1242 @@
+@@ -0,0 +1,1243 @@
 +/*
 + * LIRC driver for Windows Media Center Edition USB Infrared Transceivers
 + *
@@ -7883,6 +7892,7 @@ index 0000000..8b48a56
 +};
 +
 +static struct usb_device_id transmitter_mask_list[] = {
++	{ USB_DEVICE(VENDOR_MICROSOFT, 0x006d) },
 +	{ USB_DEVICE(VENDOR_SMK, 0x031d) },
 +	{ USB_DEVICE(VENDOR_SMK, 0x0322) },
 +	{ USB_DEVICE(VENDOR_SMK, 0x0334) },
@@ -8531,20 +8541,20 @@ index 0000000..8b48a56
 +	dprintk("%s - data[0] = %d, data[1] = %d\n",
 +		__func__, data[0], data[1]);
 +
-+	/* set feature */
++	/* set feature: bit rate 38400 bps */
 +	ret = usb_control_msg(ir->usbdev, usb_sndctrlpipe(ir->usbdev, 0),
 +			      USB_REQ_SET_FEATURE, USB_TYPE_VENDOR,
 +			      0xc04e, 0x0000, NULL, 0, HZ * 3);
 +
 +	dprintk("%s - ret = %d\n", __func__, ret);
 +
-+	/* strange: bRequest == 4 */
++	/* bRequest 4: set char length to 8 bits */
 +	ret = usb_control_msg(ir->usbdev, usb_sndctrlpipe(ir->usbdev, 0),
 +			      4, USB_TYPE_VENDOR,
 +			      0x0808, 0x0000, NULL, 0, HZ * 3);
 +	dprintk("%s - retB = %d\n", __func__, ret);
 +
-+	/* strange: bRequest == 2 */
++	/* bRequest 2: set handshaking to use DTR/DSR */
 +	ret = usb_control_msg(ir->usbdev, usb_sndctrlpipe(ir->usbdev, 0),
 +			      2, USB_TYPE_VENDOR,
 +			      0x0000, 0x0100, NULL, 0, HZ * 3);
@@ -11912,7 +11922,7 @@ index 0000000..d602e90
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
 diff --git a/drivers/input/lirc/lirc_sir.c b/drivers/input/lirc/lirc_sir.c
 new file mode 100644
-index 0000000..b497642
+index 0000000..d28d006
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_sir.c
 @@ -0,0 +1,1283 @@
@@ -12292,7 +12302,7 @@ index 0000000..b497642
 +	case LIRC_SET_SEND_DUTY_CYCLE:
 +		retval = get_user(ivalue, (unsigned int *) arg);
 +		if (retval)
-+			return reetval;
++			return retval;
 +		if (ivalue <= 0 || ivalue > 100)
 +			return -EINVAL;
 +		/* (ivalue/100)*(1000000/freq) */
@@ -14404,7 +14414,7 @@ index 0000000..2955bad
 +module_exit(ttusbir_exit_module);
 diff --git a/drivers/input/lirc/lirc_zilog.c b/drivers/input/lirc/lirc_zilog.c
 new file mode 100644
-index 0000000..c4080f5
+index 0000000..13a2eed
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_zilog.c
 @@ -0,0 +1,1395 @@


--- lirc-2.6.32-fixes.patch DELETED ---




More information about the scm-commits mailing list