<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/staging/lirc, branch v2.6.38</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.38</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.38'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2011-01-31T14:18:42Z</updated>
<entry>
<title>[media] lirc_zilog: z8 on usb doesn't like back-to-back i2c_master_send</title>
<updated>2011-01-31T14:18:42Z</updated>
<author>
<name>Jarod Wilson</name>
<email>jarod@redhat.com</email>
</author>
<published>2011-01-19T21:49:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5766d204ae6c1f54beaef37a18c3c9b5e32c3b16'/>
<id>urn:sha1:5766d204ae6c1f54beaef37a18c3c9b5e32c3b16</id>
<content type='text'>
Both the HD-PVR and HVR-1950, driven by the hdpvr and pvrusb2 drivers
respectively, have a zilog z8 chip exposed via i2c. These are both
usb-connected devices, and on both of them, back-to-back i2c_master_send
calls that work fine with a z8 on a pci card fail with a -EIO, as the
chip isn't yet ready from the prior command. To cope with that, add a
delay and retry loop where necessary.

Acked-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] staging/lirc: fix mem leaks and ptr err usage</title>
<updated>2011-01-19T14:52:22Z</updated>
<author>
<name>Jarod Wilson</name>
<email>jarod@redhat.com</email>
</author>
<published>2011-01-17T19:02:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=88914bdf8c677ebd7e797adac05e47303fd6ac77'/>
<id>urn:sha1:88914bdf8c677ebd7e797adac05e47303fd6ac77</id>
<content type='text'>
When the lirc drivers were converted over to using memdup_user, I
mistakenly also removed corresponding calls to kfree. Add those back. I
also screwed up on the allocation error check in lirc_serial, using if
(PTR_ERR()) instead of if (IS_ERR()), which broke transmit.

Reported-by: Jiri Fojtasek &lt;jiri.fojtasek@hlohovec.net&gt;
Signed-off-by: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] lirc_zilog: Update TODO.lirc_zilog</title>
<updated>2011-01-19T13:46:11Z</updated>
<author>
<name>Andy Walls</name>
<email>awalls@md.metrocast.net</email>
</author>
<published>2011-01-16T18:21:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1f1bfaa0a2e97fbeaf6cc5a07212de0afa3a6232'/>
<id>urn:sha1:1f1bfaa0a2e97fbeaf6cc5a07212de0afa3a6232</id>
<content type='text'>
Signed-off-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] lirc_zilog: Add Andy Walls to copyright notice and authors list</title>
<updated>2011-01-19T13:46:10Z</updated>
<author>
<name>Andy Walls</name>
<email>awalls@md.metrocast.net</email>
</author>
<published>2011-01-16T18:20:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c2790c7192be661e14b3d13d8bc187fd87bb9802'/>
<id>urn:sha1:c2790c7192be661e14b3d13d8bc187fd87bb9802</id>
<content type='text'>
Signed-off-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] lirc_zilog: Remove useless struct i2c_driver.command function</title>
<updated>2011-01-19T13:46:09Z</updated>
<author>
<name>Andy Walls</name>
<email>awalls@md.metrocast.net</email>
</author>
<published>2011-01-16T01:56:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6830661ead850c0722e698da5c389db4d85079be'/>
<id>urn:sha1:6830661ead850c0722e698da5c389db4d85079be</id>
<content type='text'>
The ir_command() function is a do-nothing stub; remove it.

Signed-off-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] lirc_zilog: Remove unneeded tests for existence of the IR Tx function</title>
<updated>2011-01-19T13:46:08Z</updated>
<author>
<name>Andy Walls</name>
<email>awalls@md.metrocast.net</email>
</author>
<published>2011-01-16T01:32:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8090232a237ab62e22307fc060097da1a283dd66'/>
<id>urn:sha1:8090232a237ab62e22307fc060097da1a283dd66</id>
<content type='text'>
The driver is now structured so that it must handle an IR Tx unit
for a Z8 IR chip, or it refuses to handle that Z8 IR chip.  This
allows us to assume that ir-&gt;tx != NULL in a few places in the driver,
and also allows us to always report Tx is available to userspace.
Get rid of unneeded tests for ir-&gt;tx == NULL and always report that
Tx is available.

Signed-off-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] lirc_zilog: Update IR Rx polling kthread start/stop and some printks</title>
<updated>2011-01-19T13:46:07Z</updated>
<author>
<name>Andy Walls</name>
<email>awalls@md.metrocast.net</email>
</author>
<published>2011-01-16T01:02:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b757730b022b4b1367d0435fcaa1b0a01e8aef42'/>
<id>urn:sha1:b757730b022b4b1367d0435fcaa1b0a01e8aef42</id>
<content type='text'>
The IR Rx polling thread was originally a kernel_thread long ago,
and had only been minimally converted to a kthread.  This patch
finishes that conversion by

- cleaning up all the unneeded completions

- destroying the kthread properly by calling kthread_stop()

- changing lirc_thread() to test kthread_should_stop() just before
	every point where it may sleep

- reorganizing the lirc_thread() function so it uses fewer lines

- modifying the name of the kthread from "lirc_zilog" to
	"zilog-rx-i2c-N", so ps will show which kthread polls
	which Zilog Z8 IR unit.

Also some minor tweaks were made to logging emitted by the
ir_probe() function.

Signed-off-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] lirc_zilog: Extensive rework of ir_probe()/ir_remove()</title>
<updated>2011-01-19T13:46:06Z</updated>
<author>
<name>Andy Walls</name>
<email>awalls@md.metrocast.net</email>
</author>
<published>2011-01-15T04:04:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a68a9b73fbb05144a71b573f262fbc8ed8f71179'/>
<id>urn:sha1:a68a9b73fbb05144a71b573f262fbc8ed8f71179</id>
<content type='text'>
This patch is an extensive rework of the ir_probe() and ir_remove() functions.

It removes all the double binding and allocation problems on module load.

It removes almost all the memory leaks on module exit and on device
instantiation failure. Proper destruction of the Rx polling kthread still
needs investigation and more work, but it is no worse than it already was.

This rework also had side effects that include:

- encapsulation of the ir_devices[] array
- serialization of access to the ir_devices[] array
- semantic change of the module parameter "disable_rx" to "tx_only"

If tx_only is true, the module does not claim the i2c_client for the IR Rx
function, and only claims and handles the i2c_client for the IR Tx function.
This is a first step in providing the option of letting ir-kbd-i2c.c handle
IR Rx function, while lirc_zilog handles the IR Tx function.

Signed-off-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] lirc_zilog: Don't make private copies of i2c clients</title>
<updated>2011-01-19T13:46:05Z</updated>
<author>
<name>Andy Walls</name>
<email>awalls@md.metrocast.net</email>
</author>
<published>2011-01-15T00:11:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e9b351f64f5c02acf6552d2109bc213bfa133388'/>
<id>urn:sha1:e9b351f64f5c02acf6552d2109bc213bfa133388</id>
<content type='text'>
Don't make private copies of the i2c clients provided by the I2C
subsystem, don't change the client address field, and don't probe
the client addresses - the bridge driver already did that.  This
moves us to the proper I2C and binding model.

Signed-off-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
<entry>
<title>[media] lirc_zilog: Split struct IR into structs IR, IR_tx, and IR_rx</title>
<updated>2011-01-19T13:46:04Z</updated>
<author>
<name>Andy Walls</name>
<email>awalls@md.metrocast.net</email>
</author>
<published>2011-01-13T05:00:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=06da95a3ec831dee23f6af58934944a8eb9c3a56'/>
<id>urn:sha1:06da95a3ec831dee23f6af58934944a8eb9c3a56</id>
<content type='text'>
This change is a mostly mechanical break of the main struct IR
data structure into common, Rx, and Tx structures.  There were some
small logical changes required as well, such as eliminating "is_hdpvr",
to accomplish this.

This change is an intiial step in reworking lirc_zilog to decouple the
Rx and Tx handling as much as possible to fit with the new I2C
binding model.  This change actually makes lirc_zilog a little more
broken than it already was - memory deallocation in particular got worse.
However, this change makes the remaining problems easier to see and address.

Signed-off-by: Andy Walls &lt;awalls@md.metrocast.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
</feed>
