diff options
author | Andy Walls <awalls@md.metrocast.net> | 2011-02-17 19:32:06 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-22 18:24:01 -0400 |
commit | aa3f4e446e784372498f009ea37177857f23331e (patch) | |
tree | 8103584f6e8f3d145879443afdcf8cd96156e1a1 /drivers/staging | |
parent | 4933fc9d72104d66c54620537eb6f43457a6896f (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_zilog | 51 |
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 @@ | |||
1 | 1. Both ir-kbd-i2c and lirc_zilog provide support for RX events. | 1 | 1. Both ir-kbd-i2c and lirc_zilog provide support for RX events for |
2 | The 'tx_only' lirc_zilog module parameter will allow ir-kbd-i2c | 2 | the chips supported by lirc_zilog. Before moving lirc_zilog out of staging: |
3 | and lirc_zilog to coexist in the kernel, if the user requires such a set-up. | 3 | |
4 | However the IR unit will not work well without coordination between the | 4 | a. ir-kbd-i2c needs a module parameter added to allow the user to tell |
5 | two modules. A shared mutex, for transceiver access locking, needs to be | 5 | ir-kbd-i2c to ignore Z8 IR units. |
6 | supplied by bridge drivers, in struct IR_i2_init_data, to both ir-kbd-i2c | 6 | |
7 | and lirc_zilog, before they will coexist usefully. This should be fixed | 7 | b. lirc_zilog should provide Rx key presses to the rc core like ir-kbd-i2c |
8 | before moving out of staging. | 8 | does. |
9 | 9 | ||
10 | 2. References and locking need careful examination. For cx18 and ivtv PCI | 10 | |
11 | cards, which are not easily "hot unplugged", the imperfect state of reference | 11 | 2. lirc_zilog module ref-counting need examination. It has not been |
12 | counting and locking is acceptable if not correct. For USB connected units | 12 | verified that cdev and lirc_dev will take the proper module references on |
13 | like HD PVR, PVR USB2, HVR-1900, and HVR1950, the likelyhood of an Ooops on | 13 | lirc_zilog to prevent removal of lirc_zilog when the /dev/lircN device node |
14 | unplug is probably great. Proper reference counting and locking needs to be | 14 | is open. |
15 | implemented 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 | |
17 | 3. The binding between hdpvr and lirc_zilog is currently disabled, | 17 | complete. Testing has shown the cx18 module can be unloaded out from under |
18 | due to an OOPS reported a few years ago when both the hdpvr and cx18 | 18 | irw + lircd + lirc_dev, with the /dev/lirc0 device node open, with no adverse |
19 | drivers were loaded in his system. More details can be seen at: | 19 | effects. The cx18 module could then be reloaded and irw properly began |
20 | http://www.mail-archive.com/linux-media@vger.kernel.org/msg09163.html | 20 | receiving button presses again and ir_send worked without error.) |
21 | More tests need to be done, in order to fix the reported issue. | 21 | |
22 | 22 | ||
23 | 4. In addition to providing a shared mutex for transceiver access | 23 | 3. Bridge drivers, if able, should provide a chip reset() callback |
24 | locking, bridge drivers, if able, should provide a chip reset() callback | ||
25 | to lirc_zilog via struct IR_i2c_init_data. cx18 and ivtv already have routines | 24 | to lirc_zilog via struct IR_i2c_init_data. cx18 and ivtv already have routines |
26 | to perform Z8 chip resets via GPIO manipulations. This will allow lirc_zilog | 25 | to perform Z8 chip resets via GPIO manipulations. This would allow lirc_zilog |
27 | to bring the chip back to normal when it hangs, in the same places the | 26 | to bring the chip back to normal when it hangs, in the same places the |
28 | original lirc_pvr150 driver code does. This is not strictly needed, so it | 27 | original lirc_pvr150 driver code does. This is not strictly needed, so it |
29 | is not required to move lirc_zilog out of staging. | 28 | is not required to move lirc_zilog out of staging. |
30 | 29 | ||
31 | 5. Both lirc_zilog and ir-kbd-i2c support the Zilog Z8 for IR, as programmed | 30 | Note: Both lirc_zilog and ir-kbd-i2c support the Zilog Z8 for IR, as programmed |
32 | and installed on Hauppauge products. When working on either module, developers | 31 | and installed on Hauppauge products. When working on either module, developers |
33 | must consider at least the following bridge drivers which mention an IR Rx unit | 32 | must consider at least the following bridge drivers which mention an IR Rx unit |
34 | at address 0x71 (indicative of a Z8): | 33 | at address 0x71 (indicative of a Z8): |