mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 20:23:57 +08:00
7a569f524d
This patch makes in-kernel decoding with the stock Streamzap PC Remote work out of the box. There are quite a few things going on in this patch, all related to getting this working: 1) I had to enable reporting of a long space at the end of each signal, or I had weird buffering and keybounce issues. 2) The keymap has been reworked slightly to match actual decoded values, the first edition was missing the pre-data bits present in the lirc config file for this remote. 3) There's a whole new decoder included, specifically for the not-quite-RC5 15-bit protocol variant used by the Streamzap PC Remote. The decoder, while usable with other recievers (tested with an mceusb receiver), will only be loaded by the streamzap driver, as its likely not of use in almost all other situations. This can be revisited if/when all keytable loading (and disabling of unneeded protocol decoder engines) is moved to userspace, but for now, I think this makes the most sense. Note that I did try to enable handling the streamzap RC5-ish protocol in the current RC5 decoder, but there's no particularly easy way to tell if its 14-bit RC5 or 15-bit Streamzap until we see bit 14, and even then, in testing an attempted decoder merge, only 2/3 of the keys were properly recognized as being the 15-bit variant and decoded correctly, the rest were close enough to compliant with 14-bit that they were decoded as such (but they have overlap with one another, and thus we can't just shrug and use the 14-bit decoded values). Also of note in this patch is the removal of the streamzap driver's internal delay buffer. Per discussion w/Christoph, it shouldn't be needed by lirc any longer anyway, and it doesn't seem to make any difference to the in-kernel decoder engine. That being the case, I'm yanking it all out, as it greatly simplifies the driver code. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
155 lines
4.1 KiB
Plaintext
155 lines
4.1 KiB
Plaintext
menuconfig IR_CORE
|
|
tristate "Infrared remote controller adapters"
|
|
depends on INPUT
|
|
default INPUT
|
|
---help---
|
|
Enable support for Remote Controllers on Linux. This is
|
|
needed in order to support several video capture adapters.
|
|
|
|
Enable this option if you have a video capture board even
|
|
if you don't need IR, as otherwise, you may not be able to
|
|
compile the driver for your adapter.
|
|
|
|
config VIDEO_IR
|
|
tristate
|
|
depends on IR_CORE
|
|
default IR_CORE
|
|
|
|
if IR_CORE
|
|
|
|
config LIRC
|
|
tristate
|
|
default y
|
|
|
|
---help---
|
|
Enable this option to build the Linux Infrared Remote
|
|
Control (LIRC) core device interface driver. The LIRC
|
|
interface passes raw IR to and from userspace, where the
|
|
LIRC daemon handles protocol decoding for IR reception and
|
|
encoding for IR transmitting (aka "blasting").
|
|
|
|
source "drivers/media/IR/keymaps/Kconfig"
|
|
|
|
config IR_NEC_DECODER
|
|
tristate "Enable IR raw decoder for the NEC protocol"
|
|
depends on IR_CORE
|
|
select BITREVERSE
|
|
default y
|
|
|
|
---help---
|
|
Enable this option if you have IR with NEC protocol, and
|
|
if the IR is decoded in software
|
|
|
|
config IR_RC5_DECODER
|
|
tristate "Enable IR raw decoder for the RC-5 protocol"
|
|
depends on IR_CORE
|
|
select BITREVERSE
|
|
default y
|
|
|
|
---help---
|
|
Enable this option if you have IR with RC-5 protocol, and
|
|
if the IR is decoded in software
|
|
|
|
config IR_RC6_DECODER
|
|
tristate "Enable IR raw decoder for the RC6 protocol"
|
|
depends on IR_CORE
|
|
select BITREVERSE
|
|
default y
|
|
|
|
---help---
|
|
Enable this option if you have an infrared remote control which
|
|
uses the RC6 protocol, and you need software decoding support.
|
|
|
|
config IR_JVC_DECODER
|
|
tristate "Enable IR raw decoder for the JVC protocol"
|
|
depends on IR_CORE
|
|
select BITREVERSE
|
|
default y
|
|
|
|
---help---
|
|
Enable this option if you have an infrared remote control which
|
|
uses the JVC protocol, and you need software decoding support.
|
|
|
|
config IR_SONY_DECODER
|
|
tristate "Enable IR raw decoder for the Sony protocol"
|
|
depends on IR_CORE
|
|
default y
|
|
|
|
---help---
|
|
Enable this option if you have an infrared remote control which
|
|
uses the Sony protocol, and you need software decoding support.
|
|
|
|
config IR_RC5_SZ_DECODER
|
|
tristate "Enable IR raw decoder for the RC-5 (streamzap) protocol"
|
|
depends on IR_CORE
|
|
select BITREVERSE
|
|
default y
|
|
|
|
---help---
|
|
Enable this option if you have IR with RC-5 (streamzap) protocol,
|
|
and if the IR is decoded in software. (The Streamzap PC Remote
|
|
uses an IR protocol that is almost standard RC-5, but not quite,
|
|
as it uses an additional bit).
|
|
|
|
config IR_LIRC_CODEC
|
|
tristate "Enable IR to LIRC bridge"
|
|
depends on IR_CORE
|
|
depends on LIRC
|
|
default y
|
|
|
|
---help---
|
|
Enable this option to pass raw IR to and from userspace via
|
|
the LIRC interface.
|
|
|
|
config IR_IMON
|
|
tristate "SoundGraph iMON Receiver and Display"
|
|
depends on USB_ARCH_HAS_HCD
|
|
depends on IR_CORE
|
|
select USB
|
|
---help---
|
|
Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
|
|
IR Receiver and/or LCD/VFD/VGA display.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called imon.
|
|
|
|
config IR_MCEUSB
|
|
tristate "Windows Media Center Ed. eHome Infrared Transceiver"
|
|
depends on USB_ARCH_HAS_HCD
|
|
depends on IR_CORE
|
|
select USB
|
|
---help---
|
|
Say Y here if you want to use a Windows Media Center Edition
|
|
eHome Infrared Transceiver.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called mceusb.
|
|
|
|
config IR_ENE
|
|
tristate "ENE eHome Receiver/Transciever (pnp id: ENE0100/ENE02xxx)"
|
|
depends on PNP
|
|
depends on IR_CORE
|
|
---help---
|
|
Say Y here to enable support for integrated infrared receiver
|
|
/transciever made by ENE.
|
|
|
|
You can see if you have it by looking at lspnp output.
|
|
Output should include ENE0100 ENE0200 or something similiar.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ene_ir.
|
|
|
|
config IR_STREAMZAP
|
|
tristate "Streamzap PC Remote IR Receiver"
|
|
depends on USB_ARCH_HAS_HCD
|
|
depends on IR_CORE
|
|
select USB
|
|
---help---
|
|
Say Y here if you want to use a Streamzap PC Remote
|
|
Infrared Receiver.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called streamzap.
|
|
|
|
endif #IR_CORE
|