TODO RC: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
(Remove parts merged for v4.14 (and some cleanups))
Line 1: Line 1:
== Minor bugs/improvement ==
Investigation needed:
* struct ir_raw_event_ctrl member prev_ev. Investigate if this can be removed.
* struct ir_raw_event_ctrl member prev_ev. Investigate if this can be removed.
* serial_ir tx w/ softcarrier, does it work on 32 bit? "new_duty_cycle * NSEC_PER_SEC" > 2^32.
* serial_ir tx w/ softcarrier, does it work on 32 bit? "new_duty_cycle * NSEC_PER_SEC" > 2^32.
* Kconfig RC_CORE should not depend on MEDIA_SUPPORT
* if driver depends on RC_CORE, change this to select RC_CORE, depends on INPUT? OR use a patch like https://patchwork.linuxtv.org/patch/40601/ and remove "depends on RC_CORE".
* if driver depends on RC_CORE, change this to select RC_CORE, depends on INPUT? OR use a patch like https://patchwork.linuxtv.org/patch/40601/ and remove "depends on RC_CORE".
* RC device RC_DRIVER_IR_RAW_TX leaks dev->raw on rc_unregister_device()?
* RC device RC_DRIVER_IR_RAW_TX leaks dev->raw on rc_unregister_device()?
* Unplug iguanair with lirc chardev open causes kernel to go bang
* Unplug iguanair with lirc chardev open causes kernel to go bang
* Compile kernel with KASAN. mceusb says:
[ 56.365080] BUG: KASAN: slab-out-of-bounds in mceusb_dev_printdata+0xdc/0x830 [mceusb] at addr ffff8801df071d0a
* saa7134 should add trailing space (timeout handling). Once this is fixed, implement the following item.
* ir_raw_event_store_edge() should not use REP_DELAY.


== Larger work ==
Worked needed:
* Make it possible to load multiple keymaps with ir-keytable. It should detect if the new keymap conflicts with any already loaded keymap, and ensure the right protocols are selected.
* ir-spi says "Unspecified device" in dmesg since ir-spi does not set input_name; rename input_name to device_name for all RC devices.
* Further improvement: make the kernel mapping rc_proto:scancode -> keycode, not just scancode. This should reduce the number of possible conflicts.
* pwm gpio transmitter needed (Sean Young working on this)
* bitbang gpio transmitter needed (Sean Young working on this)
* lirc_zilog rc core driver (Sean Young working on this)
* lirc_zilog rc core driver (Sean Young working on this)
* Once lirc_zilog is removed, remove lirc kapi.
* Once lirc_zilog is removed, remove lirc kapi. Example is here: https://git.linuxtv.org/syoung/media_tree.git/log/?h=remove-lirc-dev
* Implement scancode reading and transmitting:
* Rename RC_TYPE_ to RC_PROTO_ and RC_BIT_ to RC_PROTO_BIT_
** It's very hard to tell what protocol a remote is using
* rc_validate_filter().
** Kernel already has encoders, make sure they can be used for tx
** static u32 masks[] should be const
** CEC might want to reuse this interface
** hverkuil: that array in rc_validate_filter is too short to handle post-RC_TYPE_SHARP types (TYPE_XMP, TYPE_CEC): it should have an ARRAY_SIZE check.
** Patch series already exist for this
* rc-main.c: put protocol variant keypress delay, name, scancode mask to common struct.

ir-keytable changes needed.
* Cannot list RC core devices if one of them is of type RC_DRIVER_IR_RAW_TX
* Without CONFIG_INPUT_EVDEV ir-keytable goes bang
* "ir-ctl -S rc6_mce:0x800f0410" does not work on 32-bit
* MS MCE Keyboard keymap needs multiple protocols. Keymap needed to select it. https://www.mail-archive.com/linux-media@vger.kernel.org/msg115706.html
* MS MCE Keyboard keymap needs multiple protocols. Keymap needed to select it. https://www.mail-archive.com/linux-media@vger.kernel.org/msg115706.html

Revision as of 14:49, 23 August 2017

Minor bugs/improvement

  • struct ir_raw_event_ctrl member prev_ev. Investigate if this can be removed.
  • serial_ir tx w/ softcarrier, does it work on 32 bit? "new_duty_cycle * NSEC_PER_SEC" > 2^32.
  • if driver depends on RC_CORE, change this to select RC_CORE, depends on INPUT? OR use a patch like https://patchwork.linuxtv.org/patch/40601/ and remove "depends on RC_CORE".
  • RC device RC_DRIVER_IR_RAW_TX leaks dev->raw on rc_unregister_device()?
  • Unplug iguanair with lirc chardev open causes kernel to go bang

Larger work

  • Make it possible to load multiple keymaps with ir-keytable. It should detect if the new keymap conflicts with any already loaded keymap, and ensure the right protocols are selected.
  • Further improvement: make the kernel mapping rc_proto:scancode -> keycode, not just scancode. This should reduce the number of possible conflicts.
  • lirc_zilog rc core driver (Sean Young working on this)
  • Once lirc_zilog is removed, remove lirc kapi. Example is here: https://git.linuxtv.org/syoung/media_tree.git/log/?h=remove-lirc-dev
  • Implement scancode reading and transmitting:
    • It's very hard to tell what protocol a remote is using
    • Kernel already has encoders, make sure they can be used for tx
    • CEC might want to reuse this interface
    • Patch series already exist for this
  • MS MCE Keyboard keymap needs multiple protocols. Keymap needed to select it. https://www.mail-archive.com/linux-media@vger.kernel.org/msg115706.html