rpms/kernel/F-11 kernel.spec, 1.1679.2.3, 1.1679.2.4 linux-2.6.29-lirc.patch, 1.10, 1.10.2.1

Jarod Wilson jwilson at fedoraproject.org
Mon Aug 10 18:32:33 UTC 2009


Author: jwilson

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

Modified Files:
      Tag: private-fedora-11-2_6_29_6
	kernel.spec linux-2.6.29-lirc.patch 
Log Message:
* Mon Aug 10 2009 Jarod Wilson <jarod at redhat.com> 2.6.29.6-217.2.4
- Add tunable pad threshold support to lirc_imon
- Blacklist all iMON devices in usbhid driver so lirc_imon can bind
- Add new device ID to lirc_mceusb (#512483)
- Enable IR transceiver on the HD PVR



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1679.2.3
retrieving revision 1.1679.2.4
diff -u -p -r1.1679.2.3 -r1.1679.2.4
--- kernel.spec	29 Jul 2009 19:17:24 -0000	1.1679.2.3
+++ kernel.spec	10 Aug 2009 18:32:32 -0000	1.1679.2.4
@@ -695,6 +695,8 @@ Patch800: linux-2.6-crash-driver.patch
 Patch1000: linux-2.6-neigh_-fix-state-transition-INCOMPLETE-_FAILED-via-Netlink-request.patch
 
 Patch1515: linux-2.6.29-lirc.patch
+Patch1517: hdpvr-ir-enable.patch
+Patch1518: hid-ignore-all-recent-imon-devices.patch
 
 # Fix the return code CD accesses when the CDROM drive door is closed
 # but the drive isn't yet ready.
@@ -1420,6 +1422,7 @@ ApplyPatch linux-2.6-neigh_-fix-state-tr
 
 # http://www.lirc.org/
 ApplyPatch linux-2.6.29-lirc.patch
+ApplyPatch hid-ignore-all-recent-imon-devices.patch
 
 # Fix the return code CD accesses when the CDROM drive door is closed
 # but the drive isn't yet ready.
@@ -1485,6 +1488,7 @@ ApplyPatch linux-2.6-v4l-dvb-fixes.patch
 ApplyPatch linux-2.6-v4l-dvb-experimental.patch
 ApplyPatch linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch
 ApplyPatch linux-2.6-revert-dvb-net-kabi-change.patch
+ApplyPatch hdpvr-ir-enable.patch
 
 # revert 8b249b6856f16f09b0e5b79ce5f4d435e439b9d6
 ApplyPatch revert-fix-modules_install-via-nfs.patch
@@ -2127,6 +2131,12 @@ fi
 # and build.
 
 %changelog
+* Mon Aug 10 2009 Jarod Wilson <jarod at redhat.com> 2.6.29.6-217.2.4
+- Add tunable pad threshold support to lirc_imon
+- Blacklist all iMON devices in usbhid driver so lirc_imon can bind
+- Add new device ID to lirc_mceusb (#512483)
+- Enable IR transceiver on the HD PVR
+
 * Wed Jul 29 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29.6-217.2.3
 - Don't optimize away NULL pointer tests where pointer is used before the test.
   (CVE-2009-1897)

linux-2.6.29-lirc.patch:
 Kconfig            |  112 ++
 Makefile           |   20 
 lirc.h             |  100 ++
 lirc_bt829.c       |  383 ++++++++
 lirc_dev.c         |  851 +++++++++++++++++++
 lirc_dev.h         |  184 ++++
 lirc_i2c.c         |  649 ++++++++++++++
 lirc_igorplugusb.c |  556 ++++++++++++
 lirc_imon.c        | 2298 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 lirc_it87.c        |  986 ++++++++++++++++++++++
 lirc_it87.h        |  116 ++
 lirc_ite8709.c     |  539 ++++++++++++
 lirc_mceusb.c      | 1225 ++++++++++++++++++++++++++++
 lirc_parallel.c    |  709 ++++++++++++++++
 lirc_parallel.h    |   26 
 lirc_sasem.c       |  931 +++++++++++++++++++++
 lirc_serial.c      | 1316 ++++++++++++++++++++++++++++++
 lirc_sir.c         | 1283 +++++++++++++++++++++++++++++
 lirc_streamzap.c   |  777 +++++++++++++++++
 lirc_ttusbir.c     |  397 +++++++++
 lirc_zilog.c       | 1374 +++++++++++++++++++++++++++++++
 21 files changed, 14832 insertions(+)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.10 -r 1.10.2.1 linux-2.6.29-lirc.patchIndex: linux-2.6.29-lirc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/linux-2.6.29-lirc.patch,v
retrieving revision 1.10
retrieving revision 1.10.2.1
diff -u -p -r1.10 -r1.10.2.1
--- linux-2.6.29-lirc.patch	30 Jun 2009 04:59:08 -0000	1.10
+++ linux-2.6.29-lirc.patch	10 Aug 2009 18:32:32 -0000	1.10.2.1
@@ -2,87 +2,40 @@ Linux Infrared Remote Control drivers --
 
 From http://git.wilsonet.com/linux-2.6-lirc.git/
 
-Refreshed 20090630
+Refreshed 20090910
 
 Signed-off-by: Jarod Wilson <jarod at redhat.com>
 
 ---
- MAINTAINERS                           |    9 +
- drivers/input/Kconfig                 |    2 +
- drivers/input/Makefile                |    2 +
- drivers/input/lirc/Kconfig            |  118 ++
- drivers/input/lirc/Makefile           |   21 +
+ drivers/input/lirc/Kconfig            |  112 ++
+ drivers/input/lirc/Makefile           |   20 +
  drivers/input/lirc/lirc.h             |  100 ++
  drivers/input/lirc/lirc_bt829.c       |  383 ++++++
- drivers/input/lirc/lirc_dev.c         |  851 ++++++++++++++
+ drivers/input/lirc/lirc_dev.c         |  851 ++++++++++++
  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        | 2057 +++++++++++++++++++++++++++++++++
- drivers/input/lirc/lirc_it87.c        |  986 ++++++++++++++++
+ drivers/input/lirc/lirc_i2c.c         |  649 ++++++++++
+ drivers/input/lirc/lirc_igorplugusb.c |  556 ++++++++
+ drivers/input/lirc/lirc_imon.c        | 2298 +++++++++++++++++++++++++++++++++
+ 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     | 1105 ++++++++++++++++++
- drivers/input/lirc/lirc_parallel.c    |  709 ++++++++++++
+ drivers/input/lirc/lirc_ite8709.c     |  539 ++++++++
+ drivers/input/lirc/lirc_mceusb.c      | 1225 ++++++++++++++++++
+ 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         | 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, 15261 insertions(+), 0 deletions(-)
+ 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   |  777 +++++++++++
+ drivers/input/lirc/lirc_ttusbir.c     |  397 ++++++
+ drivers/input/lirc/lirc_zilog.c       | 1374 ++++++++++++++++++++
+ 21 files changed, 14832 insertions(+), 0 deletions(-)
 
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 59fd2d1..ad1b16c 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -2749,6 +2749,15 @@ W:	http://www.pasemi.com/
- L:	linuxppc-dev at ozlabs.org
- S:	Supported
- 
-+LINUX INFRARED REMOTE CONTROL DRIVERS (LIRC)
-+P:	Jarod Wilson
-+M:	jarod at redhat.com
-+P:	Christoph Bartelmus
-+M:	lirc at bartelmus.de
-+W:	http://www.lirc.org/
-+L:	lirc-list at lists.sourceforge.net
-+S:	Maintained
-+
- LINUX SECURITY MODULE (LSM) FRAMEWORK
- P:	Chris Wright
- M:	chrisw at sous-sol.org
-diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
-index 5f9d860..2ba0904 100644
---- a/drivers/input/Kconfig
-+++ b/drivers/input/Kconfig
-@@ -170,6 +170,8 @@ source "drivers/input/tablet/Kconfig"
- 
- source "drivers/input/touchscreen/Kconfig"
- 
-+source "drivers/input/lirc/Kconfig"
-+
- source "drivers/input/misc/Kconfig"
- 
- endif
-diff --git a/drivers/input/Makefile b/drivers/input/Makefile
-index 4c9c745..99e2b5e 100644
---- a/drivers/input/Makefile
-+++ b/drivers/input/Makefile
-@@ -25,3 +25,5 @@ obj-$(CONFIG_INPUT_MISC)	+= misc/
- obj-$(CONFIG_INPUT_APMPOWER)	+= apm-power.o
- 
- obj-$(CONFIG_XEN_KBDDEV_FRONTEND)	+= xen-kbdfront.o
-+
-+obj-$(CONFIG_INPUT_LIRC)       += lirc/
 diff --git a/drivers/input/lirc/Kconfig b/drivers/input/lirc/Kconfig
 new file mode 100644
-index 0000000..0482bb9
+index 0000000..6ef8622
 --- /dev/null
 +++ b/drivers/input/lirc/Kconfig
-@@ -0,0 +1,118 @@
+@@ -0,0 +1,112 @@
 +#
 +# LIRC driver(s) configuration
 +#
@@ -139,16 +92,10 @@ index 0000000..0482bb9
 +	  Driver for the ITE8709 IR Receiver
 +
 +config LIRC_MCEUSB
-+	tristate "Microsoft Media Center Ed. Receiver, v1"
-+	depends on LIRC_DEV && USB
-+	help
-+	  Driver for the Microsoft Media Center Ed. Receiver, v1
-+
-+config LIRC_MCEUSB2
-+	tristate "Microsoft Media Center Ed. Receiver, v2"
++	tristate "Windows Media Center Ed. USB IR Transceiver"
 +	depends on LIRC_DEV && USB
 +	help
-+	  Driver for the Microsoft Media Center Ed. Receiver, v2
++	  Driver for Windows Media Center Ed. USB IR Transceivers
 +
 +config LIRC_PARALLEL
 +	tristate "Homebrew Parallel Port Receiver"
@@ -203,10 +150,10 @@ index 0000000..0482bb9
 +endif
 diff --git a/drivers/input/lirc/Makefile b/drivers/input/lirc/Makefile
 new file mode 100644
-index 0000000..a22df78
+index 0000000..7b1386e
 --- /dev/null
 +++ b/drivers/input/lirc/Makefile
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,20 @@
 +# Makefile for the lirc drivers.
 +#
 +
@@ -220,7 +167,6 @@ index 0000000..a22df78
 +obj-$(CONFIG_LIRC_IT87)		+= lirc_it87.o
 +obj-$(CONFIG_LIRC_ITE8709)	+= lirc_ite8709.o
 +obj-$(CONFIG_LIRC_MCEUSB)	+= lirc_mceusb.o
-+obj-$(CONFIG_LIRC_MCEUSB2)	+= lirc_mceusb2.o
 +obj-$(CONFIG_LIRC_PARALLEL)	+= lirc_parallel.o
 +obj-$(CONFIG_LIRC_SASEM)	+= lirc_sasem.o
 +obj-$(CONFIG_LIRC_SERIAL)	+= lirc_serial.o
@@ -725,7 +671,7 @@ 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..a5d5c89
+index 0000000..0510b4e
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_dev.c
 @@ -0,0 +1,851 @@
@@ -802,7 +748,7 @@ index 0000000..a5d5c89
 +	struct cdev cdev;
 +};
 +
-+static DEFINE_MUTEX(driver_lock);
++static DEFINE_MUTEX(lirc_dev_lock);
 +
 +static struct irctl *irctls[MAX_IRCTL_DEVICES];
 +
@@ -998,7 +944,7 @@ index 0000000..a5d5c89
 +		goto out;
 +	}
 +
-+	mutex_lock(&driver_lock);
++	mutex_lock(&lirc_dev_lock);
 +
 +	minor = d->minor;
 +
@@ -1087,7 +1033,7 @@ index 0000000..a5d5c89
 +		goto out_sysfs;
 +
 +	ir->attached = 1;
-+	mutex_unlock(&driver_lock);
++	mutex_unlock(&lirc_dev_lock);
 +
 +	dprintk("lirc_dev: driver %s registered at minor number = %d\n",
 +		ir->d.name, ir->d.minor);
@@ -1096,7 +1042,7 @@ index 0000000..a5d5c89
 +out_sysfs:
 +	device_destroy(lirc_class, MKDEV(MAJOR(lirc_base_dev), ir->d.minor));
 +out_lock:
-+	mutex_unlock(&driver_lock);
++	mutex_unlock(&lirc_dev_lock);
 +out:
 +	return err;
[...2491 lines suppressed...]
 +
 +static int io = LIRC_PORT;
 +static int irq = LIRC_IRQ;
@@ -11750,7 +11310,6 @@ index 0000000..6c64072
 +static DECLARE_WAIT_QUEUE_HEAD(lirc_read_queue);
 +
 +static DEFINE_SPINLOCK(hardware_lock);
-+static DEFINE_SPINLOCK(dev_lock);
 +
 +static int rx_buf[RBUF_LEN];
 +static unsigned int rx_tail, rx_head;
@@ -11767,8 +11326,6 @@ index 0000000..6c64072
 +/* SECTION: Prototypes */
 +
 +/* Communication with user-space */
-+static int lirc_open(struct inode *inode, struct file *file);
-+static int lirc_close(struct inode *inode, struct file *file);
 +static unsigned int lirc_poll(struct file *file, poll_table *wait);
 +static ssize_t lirc_read(struct file *file, char *buf, size_t count,
 +		loff_t *ppos);
@@ -11828,22 +11385,6 @@ index 0000000..6c64072
 +
 +/* SECTION: Communication with user-space */
 +
-+static int lirc_open(struct inode *inode, struct file *file)
-+{
-+	spin_lock(&dev_lock);
-+	if (module_refcount(THIS_MODULE)) {
-+		spin_unlock(&dev_lock);
-+		return -EBUSY;
-+	}
-+	spin_unlock(&dev_lock);
-+	return 0;
-+}
-+
-+static int lirc_close(struct inode *inode, struct file *file)
-+{
-+	return 0;
-+}
-+
 +static unsigned int lirc_poll(struct file *file, poll_table *wait)
 +{
 +	poll_wait(file, &lirc_read_queue, wait);
@@ -12058,8 +11599,8 @@ index 0000000..6c64072
 +	.write		= lirc_write,
 +	.poll		= lirc_poll,
 +	.ioctl		= lirc_ioctl,
-+	.open		= lirc_open,
-+	.release	= lirc_close,
++	.open		= lirc_dev_fop_open,
++	.release	= lirc_dev_fop_close,
 +};
 +
 +static int set_use_inc(void *data)
@@ -14069,10 +13610,10 @@ 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..049c3da
+index 0000000..c532399
 --- /dev/null
 +++ b/drivers/input/lirc/lirc_zilog.c
-@@ -0,0 +1,1384 @@
+@@ -0,0 +1,1374 @@
 +/*
 + * i2c IR lirc driver for devices with zilog IR processors
 + *
@@ -15163,18 +14704,26 @@ index 0000000..049c3da
 +};
 +
 +static int ir_attach(struct i2c_adapter *adap, int have_rx, int have_tx);
-+static int ir_detach(struct i2c_client *client);
-+static int ir_probe(struct i2c_adapter *adap);
++static int ir_remove(struct i2c_client *client);
++static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id);
 +static int ir_command(struct i2c_client *client, unsigned int cmd, void *arg);
 +
++static const struct i2c_device_id ir_transceiver_id[] = {
++	/* Generic entry for any IR transceiver */
++	{ "ir_video", 0 },
++	/* IR device specific entries could be added here */
++	{ }
++};
++
 +static struct i2c_driver driver = {
 +	.driver = {
 +		.owner	= THIS_MODULE,
 +		.name	= "i2c ir driver",
 +	},
-+	.attach_adapter	= ir_probe,
-+	.detach_client	= ir_detach,
++	.probe		= ir_probe,
++	.remove		= ir_remove,
 +	.command	= ir_command,
++	.id_table	= ir_transceiver_id,
 +};
 +
 +static struct i2c_client client_template = {
@@ -15195,20 +14744,8 @@ index 0000000..049c3da
 +
 +static int i2c_attach(struct i2c_client *client, struct IR *ir)
 +{
-+	int ret;
-+
 +	i2c_set_clientdata(client, ir);
 +
-+	ret = i2c_attach_client(client);
-+	if (ret != 0) {
-+		client->addr = 0;
-+		return ret;
-+	}
-+	if (!i2c_use_client(client)) {
-+		i2c_detach_client(client);
-+		client->addr = 0;
-+		return -EFAULT;
-+	}
 +	++ir->devs;
 +	return 0;
 +}
@@ -15309,13 +14846,13 @@ index 0000000..049c3da
 +err:
 +	/* undo everything, hopefully... */
 +	if (ir->c_rx.addr)
-+		ir_detach(&ir->c_rx);
++		ir_remove(&ir->c_rx);
 +	if (ir->c_tx.addr)
-+		ir_detach(&ir->c_tx);
++		ir_remove(&ir->c_tx);
 +	return ret;
 +}
 +
-+static int ir_detach(struct i2c_client *client)
++static int ir_remove(struct i2c_client *client)
 +{
 +	struct IR *ir = i2c_get_clientdata(client);
 +	mutex_lock(&ir->lock);
@@ -15336,21 +14873,17 @@ index 0000000..049c3da
 +			ir->t_notify2 = NULL;
 +		}
 +
-+		/* unregister device */
-+		i2c_detach_client(&ir->c_rx);
-+	} else if (client == &ir->c_tx) {
-+		i2c_detach_client(&ir->c_tx);
 +	} else {
 +		mutex_unlock(&ir->lock);
-+		zilog_error("ir_detach: detached from something we didn't "
-+			    "attach to\n");
++		zilog_error("%s: detached from something we didn't "
++			    "attach to\n", __func__);
 +		return -ENODEV;
 +	}
 +
 +	--ir->devs;
 +	if (ir->devs < 0) {
 +		mutex_unlock(&ir->lock);
-+		zilog_error("ir_detach: invalid device count\n");
++		zilog_error("%s: invalid device count\n", __func__);
 +		return -ENODEV;
 +	} else if (ir->devs == 0) {
 +		/* unregister lirc driver */
@@ -15369,11 +14902,10 @@ index 0000000..049c3da
 +	return 0;
 +}
 +
-+static int ir_probe(struct i2c_adapter *adap)
++static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
 +{
-+	struct i2c_client c;
++	struct i2c_adapter *adap = client->adapter;
 +	char buf;
-+	memset(&c, 0, sizeof(c));
 +
 +	if (adap->id == I2C_HW_B_BT848 ||
 +#ifdef I2C_HW_B_HDPVR
@@ -15386,11 +14918,10 @@ index 0000000..049c3da
 +		 * The external IR receiver is at i2c address 0x71.
 +		 * The IR transmitter is at 0x70.
 +		 */
-+		c.adapter = adap;
-+		c.addr = 0x70;
++		client->addr = 0x70;
 +
 +		if (!disable_rx) {
-+			if (i2c_master_recv(&c, &buf, 1) == 1)
++			if (i2c_master_recv(client, &buf, 1) == 1)
 +				have_rx = 1;
 +			dprintk("probe 0x70 @ %s: %s\n",
 +				adap->name,
@@ -15398,8 +14929,8 @@ index 0000000..049c3da
 +		}
 +
 +		if (!disable_tx) {
-+			c.addr = 0x71;
-+			if (i2c_master_recv(&c, &buf, 1) == 1)
++			client->addr = 0x71;
++			if (i2c_master_recv(client, &buf, 1) == 1)
 +				have_tx = 1;
 +			dprintk("probe 0x71 @ %s: %s\n",
 +				adap->name,




More information about the fedora-extras-commits mailing list