[media] lirc_zilog: Update TODO.lirc_zilog
Signed-off-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
c2790c7192
commit
1f1bfaa0a2
@ -1,13 +1,37 @@
|
||||
The binding between hdpvr and lirc_zilog is currently disabled,
|
||||
1. Both ir-kbd-i2c and lirc_zilog provide support for RX events.
|
||||
The 'tx_only' lirc_zilog module parameter will allow ir-kbd-i2c
|
||||
and lirc_zilog to coexist in the kernel, if the user requires such a set-up.
|
||||
However the IR unit will not work well without coordination between the
|
||||
two modules. A shared mutex, for transceiver access locking, needs to be
|
||||
supplied by bridge drivers, in struct IR_i2_init_data, to both ir-kbd-i2c
|
||||
and lirc_zilog, before they will coexist usefully. This should be fixed
|
||||
before moving out of staging.
|
||||
|
||||
2. References and locking need careful examination. For cx18 and ivtv PCI
|
||||
cards, which are not easily "hot unplugged", the imperfect state of reference
|
||||
counting and locking is acceptable if not correct. For USB connected units
|
||||
like HD PVR, PVR USB2, HVR-1900, and HVR1950, the likelyhood of an Ooops on
|
||||
unplug is probably great. Proper reference counting and locking needs to be
|
||||
implemented before this module is moved out of staging.
|
||||
|
||||
3. The binding between hdpvr and lirc_zilog is currently disabled,
|
||||
due to an OOPS reported a few years ago when both the hdpvr and cx18
|
||||
drivers were loaded in his system. More details can be seen at:
|
||||
http://www.mail-archive.com/linux-media@vger.kernel.org/msg09163.html
|
||||
More tests need to be done, in order to fix the reported issue.
|
||||
|
||||
There's a conflict between ir-kbd-i2c: Both provide support for RX events.
|
||||
Such conflict needs to be fixed, before moving it out of staging.
|
||||
4. In addition to providing a shared mutex for transceiver access
|
||||
locking, bridge drivers, if able, should provide a chip reset() callback
|
||||
to lirc_zilog via struct IR_i2c_init_data. cx18 and ivtv already have routines
|
||||
to perform Z8 chip resets via GPIO manipulations. This will allow lirc_zilog
|
||||
to bring the chip back to normal when it hangs, in the same places the
|
||||
original lirc_pvr150 driver code does. This is not strictly needed, so it
|
||||
is not required to move lirc_zilog out of staging.
|
||||
|
||||
The way I2C probe works, it will try to register the driver twice, one
|
||||
for RX and another for TX. The logic needs to be fixed to avoid such
|
||||
issue.
|
||||
5. Both lirc_zilog and ir-kbd-i2c support the Zilog Z8 for IR, as programmed
|
||||
and installed on Hauppauge products. When working on either module, developers
|
||||
must consider at least the following bridge drivers which mention an IR Rx unit
|
||||
at address 0x71 (indicative of a Z8):
|
||||
|
||||
ivtv cx18 hdpvr pvrusb2 bt8xx cx88 saa7134
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user