mic: vop: Fix use-after-free on remove
[linux/fpc-iii.git] / drivers / media / rc / Kconfig
blob8a216068a35a17ea37d102e9f5fb5479dd9b7f80
2 menuconfig RC_CORE
3         tristate "Remote Controller support"
4         depends on INPUT
5         ---help---
6           Enable support for Remote Controllers on Linux. This is
7           needed in order to support several video capture adapters,
8           standalone IR receivers/transmitters, and RF receivers.
10           Enable this option if you have a video capture board even
11           if you don't need IR, as otherwise, you may not be able to
12           compile the driver for your adapter.
14           Say Y when you have a TV or an IR device.
16 if RC_CORE
17 source "drivers/media/rc/keymaps/Kconfig"
19 config LIRC
20         bool "LIRC user interface"
21         depends on RC_CORE
22         ---help---
23            Enable this option to enable the Linux Infrared Remote
24            Control user interface (e.g. /dev/lirc*). This interface
25            passes raw IR to and from userspace, which is needed for
26            IR transmitting (aka "blasting") and for the lirc daemon.
28 config BPF_LIRC_MODE2
29         bool "Support for eBPF programs attached to lirc devices"
30         depends on BPF_SYSCALL
31         depends on RC_CORE=y
32         depends on LIRC
33         help
34            Allow attaching eBPF programs to a lirc device using the bpf(2)
35            syscall command BPF_PROG_ATTACH. This is supported for raw IR
36            receivers.
38            These eBPF programs can be used to decode IR into scancodes, for
39            IR protocols not supported by the kernel decoders.
41 menuconfig RC_DECODERS
42         bool "Remote controller decoders"
43         depends on RC_CORE
45 if RC_DECODERS
46 config IR_NEC_DECODER
47         tristate "Enable IR raw decoder for the NEC protocol"
48         depends on RC_CORE
49         select BITREVERSE
51         ---help---
52            Enable this option if you have IR with NEC protocol, and
53            if the IR is decoded in software
55 config IR_RC5_DECODER
56         tristate "Enable IR raw decoder for the RC-5 protocol"
57         depends on RC_CORE
58         select BITREVERSE
60         ---help---
61            Enable this option if you have IR with RC-5 protocol, and
62            if the IR is decoded in software
64 config IR_RC6_DECODER
65         tristate "Enable IR raw decoder for the RC6 protocol"
66         depends on RC_CORE
67         select BITREVERSE
69         ---help---
70            Enable this option if you have an infrared remote control which
71            uses the RC6 protocol, and you need software decoding support.
73 config IR_JVC_DECODER
74         tristate "Enable IR raw decoder for the JVC protocol"
75         depends on RC_CORE
76         select BITREVERSE
78         ---help---
79            Enable this option if you have an infrared remote control which
80            uses the JVC protocol, and you need software decoding support.
82 config IR_SONY_DECODER
83         tristate "Enable IR raw decoder for the Sony protocol"
84         depends on RC_CORE
85         select BITREVERSE
87         ---help---
88            Enable this option if you have an infrared remote control which
89            uses the Sony protocol, and you need software decoding support.
91 config IR_SANYO_DECODER
92         tristate "Enable IR raw decoder for the Sanyo protocol"
93         depends on RC_CORE
95         ---help---
96            Enable this option if you have an infrared remote control which
97            uses the Sanyo protocol (Sanyo, Aiwa, Chinon remotes),
98            and you need software decoding support.
100 config IR_SHARP_DECODER
101         tristate "Enable IR raw decoder for the Sharp protocol"
102         depends on RC_CORE
104         ---help---
105            Enable this option if you have an infrared remote control which
106            uses the Sharp protocol (Sharp, Denon), and you need software
107            decoding support.
109 config IR_MCE_KBD_DECODER
110         tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol"
111         depends on RC_CORE
112         select BITREVERSE
114         ---help---
115            Enable this option if you have a Microsoft Remote Keyboard for
116            Windows Media Center Edition, which you would like to use with
117            a raw IR receiver in your system.
119 config IR_XMP_DECODER
120         tristate "Enable IR raw decoder for the XMP protocol"
121         depends on RC_CORE
122         select BITREVERSE
124         ---help---
125            Enable this option if you have IR with XMP protocol, and
126            if the IR is decoded in software
128 config IR_IMON_DECODER
129         tristate "Enable IR raw decoder for the iMON protocol"
130         depends on RC_CORE
131         ---help---
132            Enable this option if you have iMON PAD or Antec Veris infrared
133            remote control and you would like to use it with a raw IR
134            receiver, or if you wish to use an encoder to transmit this IR.
136 endif #RC_DECODERS
138 menuconfig RC_DEVICES
139         bool "Remote Controller devices"
140         depends on RC_CORE
142 if RC_DEVICES
144 config RC_ATI_REMOTE
145         tristate "ATI / X10 based USB RF remote controls"
146         depends on USB_ARCH_HAS_HCD
147         depends on RC_CORE
148         select USB
149         help
150            Say Y here if you want to use an X10 based USB remote control.
151            These are RF remotes with USB receivers.
153            Such devices include the ATI remote that comes with many of ATI's
154            All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote,
155            Medion RF remote, and SnapStream FireFly remote.
157            This driver provides mouse pointer, left and right mouse buttons,
158            and maps all the other remote buttons to keypress events.
160            To compile this driver as a module, choose M here: the module will be
161            called ati_remote.
163 config IR_ENE
164         tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)"
165         depends on PNP || COMPILE_TEST
166         depends on RC_CORE
167         ---help---
168            Say Y here to enable support for integrated infrared receiver
169            /transceiver made by ENE.
171            You can see if you have it by looking at lspnp output.
172            Output should include ENE0100 ENE0200 or something similar.
174            To compile this driver as a module, choose M here: the
175            module will be called ene_ir.
177 config IR_HIX5HD2
178         tristate "Hisilicon hix5hd2 IR remote control"
179         depends on RC_CORE
180         depends on OF || COMPILE_TEST
181         help
182            Say Y here if you want to use hisilicon hix5hd2 remote control.
183            To compile this driver as a module, choose M here: the module will be
184            called ir-hix5hd2.
186            If you're not sure, select N here
188 config IR_IMON
189         tristate "SoundGraph iMON Receiver and Display"
190         depends on USB_ARCH_HAS_HCD
191         depends on RC_CORE
192         select USB
193         ---help---
194            Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
195            IR Receiver and/or LCD/VFD/VGA display.
197            To compile this driver as a module, choose M here: the
198            module will be called imon.
200 config IR_IMON_RAW
201         tristate "SoundGraph iMON Receiver (early raw IR models)"
202         depends on USB_ARCH_HAS_HCD
203         depends on RC_CORE
204         select USB
205         ---help---
206            Say Y here if you want to use a SoundGraph iMON IR Receiver,
207            early raw models.
209            To compile this driver as a module, choose M here: the
210            module will be called imon_raw.
212 config IR_MCEUSB
213         tristate "Windows Media Center Ed. eHome Infrared Transceiver"
214         depends on USB_ARCH_HAS_HCD
215         depends on RC_CORE
216         select USB
217         ---help---
218            Say Y here if you want to use a Windows Media Center Edition
219            eHome Infrared Transceiver.
221            To compile this driver as a module, choose M here: the
222            module will be called mceusb.
224 config IR_ITE_CIR
225         tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
226         depends on PNP || COMPILE_TEST
227         depends on RC_CORE
228         ---help---
229            Say Y here to enable support for integrated infrared receivers
230            /transceivers made by ITE Tech Inc. These are found in
231            several ASUS devices, like the ASUS Digimatrix or the ASUS
232            EEEBox 1501U.
234            To compile this driver as a module, choose M here: the
235            module will be called ite-cir.
237 config IR_FINTEK
238         tristate "Fintek Consumer Infrared Transceiver"
239         depends on PNP || COMPILE_TEST
240         depends on RC_CORE
241         ---help---
242            Say Y here to enable support for integrated infrared receiver
243            /transciever made by Fintek. This chip is found on assorted
244            Jetway motherboards (and of course, possibly others).
246            To compile this driver as a module, choose M here: the
247            module will be called fintek-cir.
249 config IR_MESON
250         tristate "Amlogic Meson IR remote receiver"
251         depends on RC_CORE
252         depends on ARCH_MESON || COMPILE_TEST
253         ---help---
254            Say Y if you want to use the IR remote receiver available
255            on Amlogic Meson SoCs.
257            To compile this driver as a module, choose M here: the
258            module will be called meson-ir.
260 config IR_MTK
261         tristate "Mediatek IR remote receiver"
262         depends on RC_CORE
263         depends on ARCH_MEDIATEK || COMPILE_TEST
264         ---help---
265            Say Y if you want to use the IR remote receiver available
266            on Mediatek SoCs.
268            To compile this driver as a module, choose M here: the
269            module will be called mtk-cir.
271 config IR_NUVOTON
272         tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
273         depends on PNP || COMPILE_TEST
274         depends on RC_CORE
275         ---help---
276            Say Y here to enable support for integrated infrared receiver
277            /transciever made by Nuvoton (formerly Winbond). This chip is
278            found in the ASRock ION 330HT, as well as assorted Intel
279            DP55-series motherboards (and of course, possibly others).
281            To compile this driver as a module, choose M here: the
282            module will be called nuvoton-cir.
284 config IR_REDRAT3
285         tristate "RedRat3 IR Transceiver"
286         depends on USB_ARCH_HAS_HCD
287         depends on RC_CORE
288         select NEW_LEDS
289         select LEDS_CLASS
290         select USB
291         ---help---
292            Say Y here if you want to use a RedRat3 Infrared Transceiver.
294            To compile this driver as a module, choose M here: the
295            module will be called redrat3.
297 config IR_SPI
298         tristate "SPI connected IR LED"
299         depends on SPI && LIRC
300         depends on OF || COMPILE_TEST
301         ---help---
302           Say Y if you want to use an IR LED connected through SPI bus.
304           To compile this driver as a module, choose M here: the module will be
305           called ir-spi.
307 config IR_STREAMZAP
308         tristate "Streamzap PC Remote IR Receiver"
309         depends on USB_ARCH_HAS_HCD
310         depends on RC_CORE
311         select USB
312         ---help---
313            Say Y here if you want to use a Streamzap PC Remote
314            Infrared Receiver.
316            To compile this driver as a module, choose M here: the
317            module will be called streamzap.
319 config IR_WINBOND_CIR
320         tristate "Winbond IR remote control"
321         depends on (X86 && PNP) || COMPILE_TEST
322         depends on RC_CORE
323         select NEW_LEDS
324         select LEDS_CLASS
325         select BITREVERSE
326         ---help---
327            Say Y here if you want to use the IR remote functionality found
328            in some Winbond SuperI/O chips. Currently only the WPCD376I
329            chip is supported (included in some Intel Media series
330            motherboards).
332            To compile this driver as a module, choose M here: the module will
333            be called winbond_cir.
335 config IR_IGORPLUGUSB
336         tristate "IgorPlug-USB IR Receiver"
337         depends on USB_ARCH_HAS_HCD
338         depends on RC_CORE
339         select USB
340         ---help---
341            Say Y here if you want to use the IgorPlug-USB IR Receiver by
342            Igor Cesko. This device is included on the Fit-PC2.
344            Note that this device can only record bursts of 36 IR pulses and
345            spaces, which is not enough for the NEC, Sanyo and RC-6 protocol.
347            To compile this driver as a module, choose M here: the module will
348            be called igorplugusb.
350 config IR_IGUANA
351         tristate "IguanaWorks USB IR Transceiver"
352         depends on USB_ARCH_HAS_HCD
353         depends on RC_CORE
354         select USB
355         ---help---
356            Say Y here if you want to use the IguanaWorks USB IR Transceiver.
357            Both infrared receive and send are supported. If you want to
358            change the ID or the pin config, use the user space driver from
359            IguanaWorks.
361            Only firmware 0x0205 and later is supported.
363            To compile this driver as a module, choose M here: the module will
364            be called iguanair.
366 config IR_TTUSBIR
367         tristate "TechnoTrend USB IR Receiver"
368         depends on USB_ARCH_HAS_HCD
369         depends on RC_CORE
370         select USB
371         select NEW_LEDS
372         select LEDS_CLASS
373         ---help---
374            Say Y here if you want to use the TechnoTrend USB IR Receiver. The
375            driver can control the led.
377            To compile this driver as a module, choose M here: the module will
378            be called ttusbir.
380 config IR_RX51
381         tristate "Nokia N900 IR transmitter diode"
382         depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE
383         ---help---
384            Say Y or M here if you want to enable support for the IR
385            transmitter diode built in the Nokia N900 (RX51) device.
387            The driver uses omap DM timers for generating the carrier
388            wave and pulses.
390 source "drivers/media/rc/img-ir/Kconfig"
392 config RC_LOOPBACK
393         tristate "Remote Control Loopback Driver"
394         depends on RC_CORE
395         ---help---
396            Say Y here if you want support for the remote control loopback
397            driver which allows TX data to be sent back as RX data.
398            This is mostly useful for debugging purposes.
400            If you're not sure, select N here.
402            To compile this driver as a module, choose M here: the module will
403            be called rc_loopback.
405 config IR_GPIO_CIR
406         tristate "GPIO IR remote control"
407         depends on RC_CORE
408         depends on (OF && GPIOLIB) || COMPILE_TEST
409         ---help---
410            Say Y if you want to use GPIO based IR Receiver.
412            To compile this driver as a module, choose M here: the module will
413            be called gpio-ir-recv.
415 config IR_GPIO_TX
416         tristate "GPIO IR Bit Banging Transmitter"
417         depends on RC_CORE
418         depends on LIRC
419         depends on (OF && GPIOLIB) || COMPILE_TEST
420         ---help---
421            Say Y if you want to a GPIO based IR transmitter. This is a
422            bit banging driver.
424            To compile this driver as a module, choose M here: the module will
425            be called gpio-ir-tx.
427 config IR_PWM_TX
428         tristate "PWM IR transmitter"
429         depends on RC_CORE
430         depends on LIRC
431         depends on PWM
432         depends on OF || COMPILE_TEST
433         ---help---
434            Say Y if you want to use a PWM based IR transmitter. This is
435            more power efficient than the bit banging gpio driver.
437            To compile this driver as a module, choose M here: the module will
438            be called pwm-ir-tx.
440 config RC_ST
441         tristate "ST remote control receiver"
442         depends on RC_CORE
443         depends on ARCH_STI || COMPILE_TEST
444         ---help---
445            Say Y here if you want support for ST remote control driver
446            which allows both IR and UHF RX.
447            The driver passes raw pulse and space information to the LIRC decoder.
449            If you're not sure, select N here.
451 config IR_SUNXI
452         tristate "SUNXI IR remote control"
453         depends on RC_CORE
454         depends on ARCH_SUNXI || COMPILE_TEST
455         ---help---
456            Say Y if you want to use sunXi internal IR Controller
458            To compile this driver as a module, choose M here: the module will
459            be called sunxi-ir.
461 config IR_SERIAL
462         tristate "Homebrew Serial Port Receiver"
463         depends on RC_CORE
464         ---help---
465            Say Y if you want to use Homebrew Serial Port Receivers and
466            Transceivers.
468            To compile this driver as a module, choose M here: the module will
469            be called serial-ir.
471 config IR_SERIAL_TRANSMITTER
472         bool "Serial Port Transmitter"
473         depends on IR_SERIAL
474         ---help---
475            Serial Port Transmitter support
477 config IR_SIR
478         tristate "Built-in SIR IrDA port"
479         depends on RC_CORE
480         ---help---
481            Say Y if you want to use a IrDA SIR port Transceivers.
483            To compile this driver as a module, choose M here: the module will
484            be called sir-ir.
486 config IR_TANGO
487         tristate "Sigma Designs SMP86xx IR decoder"
488         depends on RC_CORE
489         depends on ARCH_TANGO || COMPILE_TEST
490         ---help---
491            Adds support for the HW IR decoder embedded on Sigma Designs
492            Tango-based systems (SMP86xx, SMP87xx).
493            The HW decoder supports NEC, RC-5, RC-6 IR protocols.
494            When compiled as a module, look for tango-ir.
496 config RC_XBOX_DVD
497         tristate "Xbox DVD Movie Playback Kit"
498         depends on RC_CORE
499         depends on USB_ARCH_HAS_HCD
500         select USB
501         help
502            Say Y here if you want to use the Xbox DVD Movie Playback Kit.
503            These are IR remotes with USB receivers for the Original Xbox (2001).
505            To compile this driver as a module, choose M here: the module will be
506            called xbox_remote.
508 config IR_ZX
509         tristate "ZTE ZX IR remote control"
510         depends on RC_CORE
511         depends on ARCH_ZX || COMPILE_TEST
512         ---help---
513            Say Y if you want to use the IR remote control available
514            on ZTE ZX family SoCs.
516            To compile this driver as a module, choose M here: the
517            module will be called zx-irdec.
519 endif #RC_DEVICES
521 endif #RC_CORE