rpms/kernel/F-10 kernel.spec, 1.1398, 1.1399 linux-2.6.29-lirc.patch, 1.9, 1.10

Jarod Wilson jwilson at fedoraproject.org
Mon Aug 17 13:57:27 UTC 2009


Author: jwilson

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

Modified Files:
	kernel.spec linux-2.6.29-lirc.patch 
Log Message:
* Mon Aug 17 2009 Jarod Wilson <jarod at redhat.com> 2.6.29.6-99
- Fix flub in prior lirc patch update that resulted in no lirc
  drivers getting built



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1398
retrieving revision 1.1399
diff -u -p -r1.1398 -r1.1399
--- kernel.spec	17 Aug 2009 13:50:45 -0000	1.1398
+++ kernel.spec	17 Aug 2009 13:57:27 -0000	1.1399
@@ -2004,7 +2004,11 @@ fi
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
-* Mon Aug 17 2009 Chuck Ebbert <cebbert at redhat.com> kernel-2.6.29.6-98
+* Mon Aug 17 2009 Jarod Wilson <jarod at redhat.com> 2.6.29.6-99
+- Fix flub in prior lirc patch update that resulted in no lirc
+  drivers getting built
+
+* Mon Aug 17 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29.6-98
 - More security fixes from the F-11 2.6.29.6 kernel.
 
 * Sat Aug 15 2009 Kyle McMartin <kyle at redhat.com> 2.6.29.6-96

linux-2.6.29-lirc.patch:
 MAINTAINERS                           |    9 
 drivers/input/Kconfig                 |    2 
 drivers/input/Makefile                |    2 
 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.h         |  184 ++
 drivers/input/lirc/lirc_i2c.c         |  649 +++++++++
 drivers/input/lirc/lirc_igorplugusb.c |  556 ++++++++
 drivers/input/lirc/lirc_imon.c        | 2297 ++++++++++++++++++++++++++++++++++
 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      | 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         | 1283 ++++++++++++++++++
 drivers/input/lirc/lirc_streamzap.c   |  777 +++++++++++
 drivers/input/lirc/lirc_ttusbir.c     |  397 +++++
 drivers/input/lirc/lirc_zilog.c       | 1374 ++++++++++++++++++++
 24 files changed, 14844 insertions(+)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.9 -r 1.10 linux-2.6.29-lirc.patchIndex: linux-2.6.29-lirc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/linux-2.6.29-lirc.patch,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -p -r1.9 -r1.10
--- linux-2.6.29-lirc.patch	30 Jun 2009 05:02:32 -0000	1.9
+++ linux-2.6.29-lirc.patch	17 Aug 2009 13:57:27 -0000	1.10
@@ -2,7 +2,7 @@ Linux Infrared Remote Control drivers --
 
 From http://git.wilsonet.com/linux-2.6-lirc.git/
 
-Refreshed 20090630
+Refreshed 20090917
 
 Signed-off-by: Jarod Wilson <jarod at redhat.com>
 
@@ -10,29 +10,28 @@ 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/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        | 2297 +++++++++++++++++++++++++++++++++
+ 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 ++++++++++++++++++++
+ 24 files changed, 14844 insertions(+), 0 deletions(-)
 
 diff --git a/MAINTAINERS b/MAINTAINERS
 index 59fd2d1..ad1b16c 100644
@@ -79,10 +78,10 @@ index 4c9c745..99e2b5e 100644
 +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 +138,10 @@ index 0000000..0482bb9
 +	  Driver for the ITE8709 IR Receiver
 +
 +config LIRC_MCEUSB
-+	tristate "Microsoft Media Center Ed. Receiver, v1"
++	tristate "Windows Media Center Ed. USB IR Transceiver"
 +	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"
-+	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 +196,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 +213,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 +717,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 +794,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 +990,7 @@ index 0000000..a5d5c89
 +		goto out;
 +	}
 +
-+	mutex_lock(&driver_lock);
++	mutex_lock(&lirc_dev_lock);
 +
 +	minor = d->minor;
 +
@@ -1087,7 +1079,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 +1088,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;
 +}
@@ -1115,12 +1107,12 @@ index 0000000..a5d5c89
 +
 +	ir = irctls[minor];
 +
-+	mutex_lock(&driver_lock);
++	mutex_lock(&lirc_dev_lock);
 +
 +	if (ir->d.minor != minor) {
 +		printk(KERN_ERR "lirc_dev: lirc_unregister_driver: "
 +		       "minor (%d) device not registered!", minor);
-+		mutex_unlock(&driver_lock);
++		mutex_unlock(&lirc_dev_lock);
 +		return -ENOENT;
 +	}
 +
@@ -1148,7 +1140,7 @@ index 0000000..a5d5c89
 +		irctls[minor] = NULL;
 +	}
 +
-+	mutex_unlock(&driver_lock);
++	mutex_unlock(&lirc_dev_lock);
 +
 +	return 0;
 +}
@@ -1165,7 +1157,7 @@ index 0000000..a5d5c89
 +		return -ENODEV;
 +	}
 +
-+	if (mutex_lock_interruptible(&driver_lock))
++	if (mutex_lock_interruptible(&lirc_dev_lock))
 +		return -ERESTARTSYS;
 +
 +	ir = irctls[iminor(inode)];
@@ -1211,7 +1203,7 @@ index 0000000..a5d5c89
 +		dprintk(LOGHEAD "open result = %d\n", ir->d.name, ir->d.minor,
 +			retval);
 +
-+	mutex_unlock(&driver_lock);
[...2451 lines suppressed...]
 +
 +static int io = LIRC_PORT;
 +static int irq = LIRC_IRQ;
@@ -11750,7 +11355,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 +11371,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 +11430,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 +11644,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 +13655,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 +14749,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 +14789,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 +14891,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 +14918,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 +14947,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 +14963,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 +14974,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 scm-commits mailing list