aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorAndy Walls <awalls@md.metrocast.net>2011-02-17 19:32:06 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-22 18:24:01 -0400
commitaa3f4e446e784372498f009ea37177857f23331e (patch)
tree8103584f6e8f3d145879443afdcf8cd96156e1a1 /drivers/staging
parent4933fc9d72104d66c54620537eb6f43457a6896f (diff)
[media] lirc_zilog: Update TODO list based on work completed and revised plans
Update the TODO.lirc_zilog based on what has been completed. Also revised the development plan for lirc_zilog to not try and split Tx/Rx for one IR transceiver unit between lirc_zilog and ir-kbd-i2c, since that would be a ref-counting nightmare. Signed-off-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/lirc/TODO.lirc_zilog51
1 files changed, 25 insertions, 26 deletions
diff --git a/drivers/staging/lirc/TODO.lirc_zilog b/drivers/staging/lirc/TODO.lirc_zilog
index 2d0263f07937..a97800a8e127 100644
--- a/drivers/staging/lirc/TODO.lirc_zilog
+++ b/drivers/staging/lirc/TODO.lirc_zilog
@@ -1,34 +1,33 @@
11. Both ir-kbd-i2c and lirc_zilog provide support for RX events. 11. Both ir-kbd-i2c and lirc_zilog provide support for RX events for
2The 'tx_only' lirc_zilog module parameter will allow ir-kbd-i2c 2the chips supported by lirc_zilog. Before moving lirc_zilog out of staging:
3and lirc_zilog to coexist in the kernel, if the user requires such a set-up. 3
4However the IR unit will not work well without coordination between the 4a. ir-kbd-i2c needs a module parameter added to allow the user to tell
5two modules. A shared mutex, for transceiver access locking, needs to be 5 ir-kbd-i2c to ignore Z8 IR units.
6supplied by bridge drivers, in struct IR_i2_init_data, to both ir-kbd-i2c 6
7and lirc_zilog, before they will coexist usefully. This should be fixed 7b. lirc_zilog should provide Rx key presses to the rc core like ir-kbd-i2c
8before moving out of staging. 8 does.
9 9
102. References and locking need careful examination. For cx18 and ivtv PCI 10
11cards, which are not easily "hot unplugged", the imperfect state of reference 112. lirc_zilog module ref-counting need examination. It has not been
12counting and locking is acceptable if not correct. For USB connected units 12verified that cdev and lirc_dev will take the proper module references on
13like HD PVR, PVR USB2, HVR-1900, and HVR1950, the likelyhood of an Ooops on 13lirc_zilog to prevent removal of lirc_zilog when the /dev/lircN device node
14unplug is probably great. Proper reference counting and locking needs to be 14is open.
15implemented before this module is moved out of staging. 15
16 16(The good news is ref-counting of lirc_zilog internal structures appears to be
173. The binding between hdpvr and lirc_zilog is currently disabled, 17complete. Testing has shown the cx18 module can be unloaded out from under
18due to an OOPS reported a few years ago when both the hdpvr and cx18 18irw + lircd + lirc_dev, with the /dev/lirc0 device node open, with no adverse
19drivers were loaded in his system. More details can be seen at: 19effects. The cx18 module could then be reloaded and irw properly began
20 http://www.mail-archive.com/linux-media@vger.kernel.org/msg09163.html 20receiving button presses again and ir_send worked without error.)
21More tests need to be done, in order to fix the reported issue. 21
22 22
234. In addition to providing a shared mutex for transceiver access 233. Bridge drivers, if able, should provide a chip reset() callback
24locking, bridge drivers, if able, should provide a chip reset() callback
25to lirc_zilog via struct IR_i2c_init_data. cx18 and ivtv already have routines 24to lirc_zilog via struct IR_i2c_init_data. cx18 and ivtv already have routines
26to perform Z8 chip resets via GPIO manipulations. This will allow lirc_zilog 25to perform Z8 chip resets via GPIO manipulations. This would allow lirc_zilog
27to bring the chip back to normal when it hangs, in the same places the 26to bring the chip back to normal when it hangs, in the same places the
28original lirc_pvr150 driver code does. This is not strictly needed, so it 27original lirc_pvr150 driver code does. This is not strictly needed, so it
29is not required to move lirc_zilog out of staging. 28is not required to move lirc_zilog out of staging.
30 29
315. Both lirc_zilog and ir-kbd-i2c support the Zilog Z8 for IR, as programmed 30Note: Both lirc_zilog and ir-kbd-i2c support the Zilog Z8 for IR, as programmed
32and installed on Hauppauge products. When working on either module, developers 31and installed on Hauppauge products. When working on either module, developers
33must consider at least the following bridge drivers which mention an IR Rx unit 32must consider at least the following bridge drivers which mention an IR Rx unit
34at address 0x71 (indicative of a Z8): 33at address 0x71 (indicative of a Z8):