Hi Mauro,
This is my big rc-core pull request. In summary:
- Teaches ir-kbd-i2c to send raw IR with the zilog microcontroller,
tested on PVR-150 (ivtv), HVR-1600 (cx18), HD-PVR (hdpvr). Only
driver which supports this hardware not tested is usbpvr2.
- Removes lirc_zilog, lirc staging and lirc kapi. This breaks any
out of tree lirc drivers.
- Introduces lirc mode scancode for transmission using the IR encoders,
and receiving full IR protocol information for decoded IR (requires
kfifo fix)
- Various bugs with the lirc uapi have been fixed (e.g. locking), and
now a lirc device can be opened more than once.
- Line count is down 1500 and code is cleaner.
Thanks,
Sean
The following changes since commit 04226916d2360f56d57ad00bc48d2d1854d1e0b0:
media: usbtv: add a new usbid (2017-11-27 14:49:18 -0500)
are available in the Git repository at:
git://linuxtv.org/syoung/media_tree.git for-v4.16a
for you to fetch changes up to b2c96ba352b5ba1f68d13f24d62cbccdb8faa3be:
media: cec: move cec autorepeat handling to rc-core (2017-11-27 21:44:09
+0000)
----------------------------------------------------------------
Arvind Yadav (1):
media: winbond-cir: Fix pnp_irq's error checking for wbcir_probe
Chunyan Zhang (1):
media: rc: Replace timeval with ktime_t in imon.c
Sean Young (33):
media: rc: i2c: set parent of rc device and improve name
media: rc: i2c: use dev_dbg rather hand-rolled debug
media: rc: i2c: only poll if the rc device is opened
media: merge ir_tx_z8f0811_haup and ir_rx_z8f0811_haup i2c devices
media: rc: implement zilog transmitter
media: i2c: enable i2c IR for hardware which isn't HD-PVR
media: staging: remove lirc_zilog driver
media: MAINTAINERS: remove lirc staging area
media: lirc: remove LIRCCODE and LIRC_GET_LENGTH
media: lirc: implement scancode sending
media: lirc: use the correct carrier for scancode transmit
media: rc: auto load encoder if necessary
media: lirc: lirc interface should not be a raw decoder
media: lirc: validate scancode for transmit
media: rc: document and fix rc_validate_scancode()
media: lirc: merge lirc_dev_fop_ioctl and ir_lirc_ioctl
media: lirc: use kfifo rather than lirc_buffer for raw IR
media: lirc: move lirc_dev->attached to rc_dev->registered
media: lirc: do not call close() or open() on unregistered devices
media: lirc: create rc-core open and close lirc functions
media: lirc: remove name from lirc_dev
media: lirc: remove last remnants of lirc kapi
media: lirc: implement reading scancode
media: lirc: ensure lirc device receives nec repeats
media: lirc: document LIRC_MODE_SCANCODE
media: lirc: scancode rc devices should have a lirc device too
kfifo: DECLARE_KIFO_PTR(fifo, u64) does not work on arm 32 bit
media: rc: move ir-lirc-codec.c contents into lirc_dev.c
media: rc: include <uapi/linux/lirc.h> rather than <media/lirc.h>
media: lirc: allow lirc device to be opened more than once
media: lirc: improve locking
media: imon: auto-config ffdc 30 device
media: cec: move cec autorepeat handling to rc-core
Documentation/media/kapi/rc-core.rst | 5 -
Documentation/media/lirc.h.rst.exceptions | 31 +
Documentation/media/uapi/rc/lirc-dev-intro.rst | 68 +-
Documentation/media/uapi/rc/lirc-func.rst | 1 -
Documentation/media/uapi/rc/lirc-get-features.rst | 17 +-
Documentation/media/uapi/rc/lirc-get-length.rst | 44 -
Documentation/media/uapi/rc/lirc-get-rec-mode.rst | 5 +-
Documentation/media/uapi/rc/lirc-get-send-mode.rst | 2 +-
Documentation/media/uapi/rc/lirc-read.rst | 15 +-
Documentation/media/uapi/rc/lirc-write.rst | 19 +-
MAINTAINERS | 6 -
drivers/media/cec/cec-adap.c | 56 +-
drivers/media/cec/cec-core.c | 12 -
drivers/media/i2c/ir-kbd-i2c.c | 540 ++++++-
drivers/media/pci/cx18/cx18-cards.h | 8 +-
drivers/media/pci/cx18/cx18-i2c.c | 13 +-
drivers/media/pci/ivtv/ivtv-cards.h | 22 +-
drivers/media/pci/ivtv/ivtv-i2c.c | 20 +-
drivers/media/pci/saa7134/saa7134-input.c | 3 +-
drivers/media/rc/Kconfig | 29 +-
drivers/media/rc/Makefile | 5 +-
drivers/media/rc/imon.c | 27 +-
drivers/media/rc/ir-jvc-decoder.c | 1 +
drivers/media/rc/ir-lirc-codec.c | 448 ------
drivers/media/rc/ir-mce_kbd-decoder.c | 12 +-
drivers/media/rc/ir-nec-decoder.c | 1 +
drivers/media/rc/ir-rc5-decoder.c | 1 +
drivers/media/rc/ir-rc6-decoder.c | 1 +
drivers/media/rc/ir-sanyo-decoder.c | 1 +
drivers/media/rc/ir-sharp-decoder.c | 1 +
drivers/media/rc/ir-sony-decoder.c | 1 +
drivers/media/rc/lirc_dev.c | 982 ++++++++----
drivers/media/rc/rc-core-priv.h | 52 +-
drivers/media/rc/rc-ir-raw.c | 56 +-
drivers/media/rc/rc-main.c | 229 ++-
drivers/media/rc/winbond-cir.c | 2 +-
drivers/media/usb/hdpvr/hdpvr-core.c | 11 +-
drivers/media/usb/hdpvr/hdpvr-i2c.c | 23 +-
drivers/media/usb/hdpvr/hdpvr.h | 3 +-
drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c | 13 +-
drivers/staging/media/Kconfig | 3 -
drivers/staging/media/Makefile | 1 -
drivers/staging/media/lirc/Kconfig | 21 -
drivers/staging/media/lirc/Makefile | 6 -
drivers/staging/media/lirc/TODO | 36 -
drivers/staging/media/lirc/lirc_zilog.c | 1653 --------------------
include/linux/kfifo.h | 3 +-
include/media/cec.h | 5 -
include/media/i2c/ir-kbd-i2c.h | 6 +-
include/media/lirc.h | 1 -
include/media/lirc_dev.h | 192 ---
include/media/rc-core.h | 65 +-
include/media/rc-map.h | 54 +-
include/uapi/linux/lirc.h | 82 +
54 files changed, 1707 insertions(+), 3207 deletions(-)
delete mode 100644 Documentation/media/uapi/rc/lirc-get-length.rst
delete mode 100644 drivers/media/rc/ir-lirc-codec.c
delete mode 100644 drivers/staging/media/lirc/Kconfig
delete mode 100644 drivers/staging/media/lirc/Makefile
delete mode 100644 drivers/staging/media/lirc/TODO
delete mode 100644 drivers/staging/media/lirc/lirc_zilog.c
delete mode 100644 include/media/lirc.h
delete mode 100644 include/media/lirc_dev.h