rpms/kernel/F-11 kernel.spec, 1.1653, 1.1654 linux-2.6.29-lirc.patch, 1.6, 1.7

Jarod Wilson jwilson at fedoraproject.org
Wed Jun 17 18:05:28 UTC 2009


Author: jwilson

Update of /cvs/pkgs/rpms/kernel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29010

Modified Files:
	kernel.spec linux-2.6.29-lirc.patch 
Log Message:
* Wed Jun 17 2009 Jarod Wilson <jarod at redhat.com>
- New lirc_imon hotness:
  * support dual-interface devices with a single lirc device
  * directional pad functions as an input device mouse
  * touchscreen devices finally properly supported
  * support for using MCE/RC-6 protocol remotes
  * fix oops in RF remote association code (F10 bug #475496)
  * fix re-enabling case/panel buttons and/or knobs
- Add some misc additional lirc_mceusb2 transceiver IDs
- Add missing unregister_chrdev_region() call to lirc_dev exit
- Add it8720 support to lirc_it87



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1653
retrieving revision 1.1654
diff -u -p -r1.1653 -r1.1654
--- kernel.spec	17 Jun 2009 00:10:28 -0000	1.1653
+++ kernel.spec	17 Jun 2009 18:04:57 -0000	1.1654
@@ -2068,6 +2068,18 @@ fi
 # and build.
 
 %changelog
+* Wed Jun 17 2009 Jarod Wilson <jarod at redhat.com>
+- New lirc_imon hotness:
+  * support dual-interface devices with a single lirc device
+  * directional pad functions as an input device mouse
+  * touchscreen devices finally properly supported
+  * support for using MCE/RC-6 protocol remotes
+  * fix oops in RF remote association code (F10 bug #475496)
+  * fix re-enabling case/panel buttons and/or knobs
+- Add some misc additional lirc_mceusb2 transceiver IDs
+- Add missing unregister_chrdev_region() call to lirc_dev exit
+- Add it8720 support to lirc_it87
+
 * Tue Jun 16 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29.5-191
 - Copy latest version of the -mm streaming IO and executable pages patches from F-10
 - Copy the saner-vm-settings patch from F-10:

linux-2.6.29-lirc.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -p -N -r 1.6 -r 1.7 linux-2.6.29-lirc.patch
Index: linux-2.6.29-lirc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/linux-2.6.29-lirc.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- linux-2.6.29-lirc.patch	12 Mar 2009 04:37:05 -0000	1.6
+++ linux-2.6.29-lirc.patch	17 Jun 2009 18:04:57 -0000	1.7
@@ -8,29 +8,29 @@ Signed-off-by: Jarod Wilson <jarod at redha
  MAINTAINERS                           |    9 +
  drivers/input/Kconfig                 |    2 +
  drivers/input/Makefile                |    2 +
- drivers/input/lirc/Kconfig            |  118 +++
+ drivers/input/lirc/Kconfig            |  118 ++
  drivers/input/lirc/Makefile           |   21 +
- drivers/input/lirc/lirc.h             |  100 +++
- drivers/input/lirc/lirc_bt829.c       |  383 +++++++++
- drivers/input/lirc/lirc_dev.c         |  848 +++++++++++++++++++
- drivers/input/lirc/lirc_dev.h         |  180 ++++
- drivers/input/lirc/lirc_i2c.c         |  649 ++++++++++++++
- drivers/input/lirc/lirc_igorplugusb.c |  556 ++++++++++++
- drivers/input/lirc/lirc_imon.c        | 1487 +++++++++++++++++++++++++++++++++
- drivers/input/lirc/lirc_it87.c        |  984 ++++++++++++++++++++++
- drivers/input/lirc/lirc_it87.h        |  116 +++
- drivers/input/lirc/lirc_ite8709.c     |  539 ++++++++++++
- drivers/input/lirc/lirc_mceusb.c      |  749 +++++++++++++++++
- drivers/input/lirc/lirc_mceusb2.c     | 1098 ++++++++++++++++++++++++
- drivers/input/lirc/lirc_parallel.c    |  709 ++++++++++++++++
+ drivers/input/lirc/lirc.h             |  100 ++
+ drivers/input/lirc/lirc_bt829.c       |  383 ++++++
+ drivers/input/lirc/lirc_dev.c         |  849 ++++++++++++++
+ drivers/input/lirc/lirc_dev.h         |  184 +++
+ drivers/input/lirc/lirc_i2c.c         |  649 +++++++++++
+ drivers/input/lirc/lirc_igorplugusb.c |  556 +++++++++
+ drivers/input/lirc/lirc_imon.c        | 2047 +++++++++++++++++++++++++++++++++
+ 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      |  749 ++++++++++++
+ drivers/input/lirc/lirc_mceusb2.c     | 1103 ++++++++++++++++++
+ 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      | 1321 +++++++++++++++++++++++++++++
- drivers/input/lirc/lirc_sir.c         | 1294 ++++++++++++++++++++++++++++
- drivers/input/lirc/lirc_streamzap.c   |  777 +++++++++++++++++
- drivers/input/lirc/lirc_ttusbir.c     |  398 +++++++++
- drivers/input/lirc/lirc_zilog.c       | 1382 ++++++++++++++++++++++++++++++
- 25 files changed, 14679 insertions(+), 0 deletions(-)
+ drivers/input/lirc/lirc_sasem.c       |  931 +++++++++++++++
+ drivers/input/lirc/lirc_serial.c      | 1316 +++++++++++++++++++++
+ drivers/input/lirc/lirc_sir.c         | 1294 +++++++++++++++++++++
+ drivers/input/lirc/lirc_streamzap.c   |  777 +++++++++++++
+ drivers/input/lirc/lirc_ttusbir.c     |  397 +++++++
+ drivers/input/lirc/lirc_zilog.c       | 1384 ++++++++++++++++++++++
+ 25 files changed, 15247 insertions(+), 0 deletions(-)
 
 diff --git a/MAINTAINERS b/MAINTAINERS
 index 59fd2d1..ad1b16c 100644
@@ -723,10 +723,10 @@ index 0000000..0485884
 +MODULE_PARM_DESC(debug, "Debug enabled or not");
 diff --git a/drivers/input/lirc/lirc_dev.c b/drivers/input/lirc/lirc_dev.c
 new file mode 100644
-index 0000000..6829268
+index 0000000..8848d8e
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_dev.c
-@@ -0,0 +1,848 @@
+@@ -0,0 +1,849 @@
 +/*
 + * LIRC base driver
 + *
@@ -979,8 +979,8 @@ index 0000000..6829268
 +		err = -EBADRQC;
 +		goto out;
 +	} else if (!d->rbuf) {
-+		if (!(d->fops && d->fops->read && d->fops->poll)
-+		    || (!d->fops->ioctl)) {
++		if (!(d->fops && d->fops->read && d->fops->poll &&
++		      d->fops->ioctl)) {
 +			printk(KERN_ERR "lirc_dev: lirc_register_driver: "
 +			       "neither read, poll nor ioctl can be NULL!\n");
 +			err = -EBADRQC;
@@ -1182,8 +1182,6 @@ index 0000000..6829268
 +		goto error;
 +	}
 +
-+	lirc_buffer_clear(ir->buf);
-+
 +	if (ir->d.owner != NULL && try_module_get(ir->d.owner)) {
 +		++ir->open;
 +		retval = ir->d.set_use_inc(ir->d.data);
@@ -1191,6 +1189,8 @@ index 0000000..6829268
 +		if (retval) {
 +			module_put(ir->d.owner);
 +			--ir->open;
++		} else {
++			lirc_buffer_clear(ir->buf);
 +		}
 +		if (ir->task)
 +			wake_up_process(ir->task);
@@ -1563,6 +1563,7 @@ index 0000000..6829268
 +static void __exit lirc_dev_exit(void)
 +{
 +	class_destroy(lirc_class);
++	unregister_chrdev_region(lirc_base_dev, MAX_IRCTL_DEVICES);
 +	dprintk("lirc_dev: module unloaded\n");
 +}
 +
@@ -1577,10 +1578,10 @@ index 0000000..6829268
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
 diff --git a/drivers/input/lirc/lirc_dev.h b/drivers/input/lirc/lirc_dev.h
 new file mode 100644
-index 0000000..41d0d04
+index 0000000..69828a8
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_dev.h
-@@ -0,0 +1,180 @@
+@@ -0,0 +1,184 @@
 +/*
 + * LIRC base driver
 + *
@@ -1722,6 +1723,10 @@ index 0000000..41d0d04
 + * fops:
 + * file_operations for drivers which don't fit the current driver model.
 + *
++ * Some ioctl's can be directly handled by lirc_dev if the driver's
++ * ioctl function is NULL or if it returns -ENOIOCTLCMD (see also
++ * lirc_serial.c).
++ *
 + * owner:
 + * the module owning this struct
 + *
@@ -2980,12 +2985,12 @@ 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..05cb293
+index 0000000..3de77ea
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_imon.c
-@@ -0,0 +1,1487 @@
+@@ -0,0 +1,2047 @@
 +/*
-+ *   lirc_imon.c:  LIRC/VFD/LCD driver for Ahanix/Soundgraph iMON IR/VFD/LCD
++ *   lirc_imon.c:  LIRC/VFD/LCD driver for SoundGraph iMON IR/VFD/LCD
 + *		   including the iMON PAD model
 + *
 + *   Copyright(C) 2004  Venky Raju(dev at venky.ws)
@@ -3012,16 +3017,18 @@ index 0000000..05cb293
 +#include <linux/slab.h>
 +#include <linux/uaccess.h>
 +#include <linux/usb.h>
++#include <linux/usb/input.h>
 +#include <linux/time.h>
++#include <linux/timer.h>
 +
 +#include "lirc.h"
 +#include "lirc_dev.h"
 +
 +
 +#define MOD_AUTHOR	"Venky Raju <dev at venky.ws>"
-+#define MOD_DESC	"Driver for Soundgraph iMON MultiMedia IR/Display"
++#define MOD_DESC	"Driver for SoundGraph iMON MultiMedia IR/Display"
 +#define MOD_NAME	"lirc_imon"
-+#define MOD_VERSION	"0.5"
++#define MOD_VERSION	"0.6"
 +
 +#define DISPLAY_MINOR_BASE	144
 +#define DEVICE_NAME	"lcd%d"
@@ -3031,20 +3038,27 @@ index 0000000..05cb293
 +
 +#define BIT_DURATION	250	/* each bit received is 250us */
 +
++#define dprintk(fmt, args...)						\
++	do {								\
++		if (debug)						\
++			printk(KERN_INFO MOD_NAME ": " fmt, ## args);	\
++	} while (0)
++
 +/*** P R O T O T Y P E S ***/
 +
 +/* USB Callback prototypes */
 +static int imon_probe(struct usb_interface *interface,
 +		      const struct usb_device_id *id);
 +static void imon_disconnect(struct usb_interface *interface);
-+static void usb_rx_callback(struct urb *urb);
++static void usb_rx_callback_intf0(struct urb *urb);
++static void usb_rx_callback_intf1(struct urb *urb);
 +static void usb_tx_callback(struct urb *urb);
 +
 +/* suspend/resume support */
 +static int imon_resume(struct usb_interface *intf);
 +static int imon_suspend(struct usb_interface *intf, pm_message_t message);
 +
-+/* display file_operations function prototypes */
++/* Display file_operations function prototypes */
 +static int display_open(struct inode *inode, struct file *file);
 +static int display_close(struct inode *inode, struct file *file);
 +
[...1729 lines suppressed...]
-+				if (urb_type == PHILUSB_OUTBOUND) {
++				if (urb_type == MCEUSB_OUTBOUND) {
 +					/* outbound data */
 +					usb_fill_int_urb(async_urb, ir->usbdev,
 +						usb_sndintpipe(ir->usbdev,
@@ -7494,7 +8066,7 @@ index 0000000..4c24b79
 +
 +	/* Transmit the command to the mce device */
 +	request_packet_async(ir, ir->usb_ep_out, cmdbuf,
-+			     cmdcount, PHILUSB_OUTBOUND);
++			     cmdcount, MCEUSB_OUTBOUND);
 +
 +	/*
 +	 * The lircd gap calculation expects the write function to
@@ -7537,7 +8109,7 @@ index 0000000..4c24b79
 +				"carrier modulation\n", ir->devnum);
 +			request_packet_async(ir, ir->usb_ep_out,
 +					     cmdbuf, sizeof(cmdbuf),
-+					     PHILUSB_OUTBOUND);
++					     MCEUSB_OUTBOUND);
 +			return carrier;
 +		}
 +
@@ -7554,7 +8126,7 @@ index 0000000..4c24b79
 +				/* Transmit new carrier to mce device */
 +				request_packet_async(ir, ir->usb_ep_out,
 +						     cmdbuf, sizeof(cmdbuf),
-+						     PHILUSB_OUTBOUND);
++						     MCEUSB_OUTBOUND);
 +				return carrier;
 +			}
 +		}
@@ -7871,17 +8443,17 @@ index 0000000..4c24b79
 +		 * its possible we really should wait for a return
 +		 * for each of these...
 +		 */
-+		request_packet_async(ir, ep_in, NULL, maxp, PHILUSB_INBOUND);
++		request_packet_async(ir, ep_in, NULL, maxp, MCEUSB_INBOUND);
 +		request_packet_async(ir, ep_out, pin_init1, sizeof(pin_init1),
-+				     PHILUSB_OUTBOUND);
-+		request_packet_async(ir, ep_in, NULL, maxp, PHILUSB_INBOUND);
++				     MCEUSB_OUTBOUND);
++		request_packet_async(ir, ep_in, NULL, maxp, MCEUSB_INBOUND);
 +		request_packet_async(ir, ep_out, pin_init2, sizeof(pin_init2),
-+				     PHILUSB_OUTBOUND);
-+		request_packet_async(ir, ep_in, NULL, maxp, PHILUSB_INBOUND);
++				     MCEUSB_OUTBOUND);
++		request_packet_async(ir, ep_in, NULL, maxp, MCEUSB_INBOUND);
 +		request_packet_async(ir, ep_out, pin_init3, sizeof(pin_init3),
-+				     PHILUSB_OUTBOUND);
++				     MCEUSB_OUTBOUND);
 +		/* if we don't issue the correct number of receives
-+		 * (PHILUSB_INBOUND) for each outbound, then the first few ir
++		 * (MCEUSB_INBOUND) for each outbound, then the first few ir
 +		 * pulses will be interpreted by the usb_async_callback routine
 +		 * - we should ensure we have the right amount OR less - as the
 +		 * mceusb_dev_recv routine will handle the control packets OK -
@@ -7890,13 +8462,13 @@ index 0000000..4c24b79
 +		 */
 +		request_packet_async(ir, ep_in, NULL, maxp, 0);
 +	} else {
-+		request_packet_async(ir, ep_in, NULL, maxp, PHILUSB_INBOUND);
-+		request_packet_async(ir, ep_in, NULL, maxp, PHILUSB_INBOUND);
++		request_packet_async(ir, ep_in, NULL, maxp, MCEUSB_INBOUND);
++		request_packet_async(ir, ep_in, NULL, maxp, MCEUSB_INBOUND);
 +		request_packet_async(ir, ep_out, init1,
-+				     sizeof(init1), PHILUSB_OUTBOUND);
-+		request_packet_async(ir, ep_in, NULL, maxp, PHILUSB_INBOUND);
++				     sizeof(init1), MCEUSB_OUTBOUND);
++		request_packet_async(ir, ep_in, NULL, maxp, MCEUSB_INBOUND);
 +		request_packet_async(ir, ep_out, init2,
-+				     sizeof(init2), PHILUSB_OUTBOUND);
++				     sizeof(init2), MCEUSB_OUTBOUND);
 +		request_packet_async(ir, ep_in, NULL, maxp, 0);
 +	}
 +
@@ -9673,10 +10245,10 @@ index 0000000..270f8ff
 +module_exit(sasem_exit);
 diff --git a/drivers/input/lirc/lirc_serial.c b/drivers/input/lirc/lirc_serial.c
 new file mode 100644
-index 0000000..01cc8b7
+index 0000000..1b79ced
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_serial.c
-@@ -0,0 +1,1321 @@
+@@ -0,0 +1,1316 @@
 +/*
 + * lirc_serial.c
 + *
@@ -10433,11 +11005,8 @@ index 0000000..01cc8b7
 +
 +static int hardware_init_port(void)
 +{
-+	unsigned long flags;
 +	u8 scratch, scratch2, scratch3;
 +
-+	spin_lock_irqsave(&hardware[type].lock, flags);
-+
 +	/*
 +	 * This is a simple port existence test, borrowed from the autoconfig
 +	 * function in drivers/serial/8250.c
@@ -10518,8 +11087,6 @@ index 0000000..01cc8b7
 +		break;
 +	}
 +
-+	spin_unlock_irqrestore(&hardware[type].lock, flags);
-+
 +	return 0;
 +}
 +
@@ -10588,6 +11155,11 @@ index 0000000..01cc8b7
 +	int result;
 +	unsigned long flags;
 +
++	/* Init read buffer. */
++	result = lirc_buffer_init(&rbuf, sizeof(int), RBUF_LEN);
++	if (result < 0)
++		return -ENOMEM;
++
 +	/* initialize timestamp */
 +	do_gettimeofday(&lasttv);
 +
@@ -10837,11 +11409,6 @@ index 0000000..01cc8b7
 +{
 +	int result;
 +
-+	/* Init read buffer. */
-+	result = lirc_buffer_init(&rbuf, sizeof(int), RBUF_LEN);
-+	if (result < 0)
-+		return -ENOMEM;
-+
 +	result = platform_driver_register(&lirc_serial_driver);
 +	if (result) {
 +		printk("lirc register returned %d\n", result);
@@ -13083,10 +13650,10 @@ index 0000000..d1ce354
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
 diff --git a/drivers/input/lirc/lirc_ttusbir.c b/drivers/input/lirc/lirc_ttusbir.c
 new file mode 100644
-index 0000000..4d18084
+index 0000000..2955bad
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_ttusbir.c
-@@ -0,0 +1,398 @@
+@@ -0,0 +1,397 @@
 +/*
 + * lirc_ttusbir.c
 + *
@@ -13396,7 +13963,6 @@ index 0000000..4d18084
 +	ttusbir->driver.rbuf = &ttusbir->rbuf;
 +	ttusbir->driver.set_use_inc = set_use_inc;
 +	ttusbir->driver.set_use_dec = set_use_dec;
-+	ttusbir->driver.fops = NULL;
 +	ttusbir->driver.dev = &intf->dev;
 +	ttusbir->driver.owner = THIS_MODULE;
 +	ttusbir->driver.features = LIRC_CAN_REC_MODE2;
@@ -13487,10 +14053,10 @@ index 0000000..4d18084
 +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..38fddec
+index 0000000..049c3da
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_zilog.c
-@@ -0,0 +1,1382 @@
+@@ -0,0 +1,1384 @@
 +/*
 + * i2c IR lirc driver for devices with zilog IR processors
 + *
@@ -14670,10 +15236,10 @@ index 0000000..38fddec
 +		/* try to fire up polling thread */
 +		ir->t_notify = &tn;
 +		ir->task = kthread_run(lirc_thread, ir, "lirc_zilog");
-+		ret = PTR_ERR(ir->task);
-+		if (ret <= 0) {
++		if (IS_ERR(ir->task)) {
++			ret = PTR_ERR(ir->task);
 +			zilog_error("lirc_register_driver: cannot run "
-+				    "poll thread\n");
++				    "poll thread %d\n", ret);
 +			goto err;
 +		}
 +		wait_for_completion(&tn);
@@ -14794,6 +15360,9 @@ index 0000000..38fddec
 +	memset(&c, 0, sizeof(c));
 +
 +	if (adap->id == I2C_HW_B_BT848 ||
++#ifdef I2C_HW_B_HDPVR
++	    adap->id == I2C_HW_B_HDPVR ||
++#endif
 +	    adap->id == I2C_HW_B_CX2341X) {
 +		int have_rx = 0, have_tx = 0;
 +
@@ -14839,7 +15408,6 @@ index 0000000..38fddec
 +static int __init zilog_init(void)
 +{
 +	mutex_init(&tx_data_lock);
-+	request_module("ivtv");
 +	request_module("firmware_class");
 +	i2c_add_driver(&driver);
 +	return 0;




More information about the fedora-extras-commits mailing list