[media] rc: rename the remaining things to rc_core
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 17 Nov 2010 16:28:38 +0000 (13:28 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 29 Dec 2010 10:16:50 +0000 (08:16 -0200)
The Remote Controller subsystem is meant to be used not only by Infra Red
but also for similar types of Remote Controllers. The core is not specific
to Infra Red. As such, rename:
- ir-core.h to rc-core.h
- IR_CORE to RC_CORE
- namespace inside rc-core.c/rc-core.h

To be consistent with the other changes.

No functional change on this patch.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
52 files changed:
drivers/media/dvb/dm1105/Kconfig
drivers/media/dvb/dm1105/dm1105.c
drivers/media/dvb/dvb-usb/Kconfig
drivers/media/dvb/dvb-usb/dvb-usb.h
drivers/media/dvb/dvb-usb/lmedm04.c
drivers/media/dvb/mantis/Kconfig
drivers/media/dvb/mantis/mantis_input.c
drivers/media/dvb/siano/Kconfig
drivers/media/dvb/siano/smsir.h
drivers/media/dvb/ttpci/Kconfig
drivers/media/dvb/ttpci/budget-ci.c
drivers/media/rc/Kconfig
drivers/media/rc/Makefile
drivers/media/rc/ene_ir.c
drivers/media/rc/imon.c
drivers/media/rc/ir-lirc-codec.c
drivers/media/rc/keymaps/Kconfig
drivers/media/rc/keymaps/rc-lirc.c
drivers/media/rc/mceusb.c
drivers/media/rc/nuvoton-cir.c
drivers/media/rc/rc-core-priv.h
drivers/media/rc/rc-main.c
drivers/media/rc/rc-raw.c
drivers/media/rc/streamzap.c
drivers/media/rc/winbond-cir.c
drivers/media/video/Kconfig
drivers/media/video/bt8xx/Kconfig
drivers/media/video/bt8xx/bttvp.h
drivers/media/video/cx18/Kconfig
drivers/media/video/cx231xx/Kconfig
drivers/media/video/cx231xx/cx231xx.h
drivers/media/video/cx23885/Kconfig
drivers/media/video/cx23885/cx23885-input.c
drivers/media/video/cx23885/cx23885.h
drivers/media/video/cx23885/cx23888-ir.c
drivers/media/video/cx25840/cx25840-ir.c
drivers/media/video/cx88/Kconfig
drivers/media/video/cx88/cx88-input.c
drivers/media/video/em28xx/Kconfig
drivers/media/video/em28xx/em28xx.h
drivers/media/video/ir-kbd-i2c.c
drivers/media/video/ivtv/Kconfig
drivers/media/video/saa7134/Kconfig
drivers/media/video/saa7134/saa7134.h
drivers/media/video/tlg2300/Kconfig
drivers/staging/cx25821/Kconfig
drivers/staging/go7007/Kconfig
drivers/staging/tm6000/Kconfig
drivers/staging/tm6000/tm6000-input.c
include/media/ir-core.h [deleted file]
include/media/ir-kbd-i2c.h
include/media/rc-core.h [new file with mode: 0644]

index 576f3b70d792a00be6d3ab6677d1078a16dd211e..f3de0a4d63f26cd167134fc09c94137ef0a2a645 100644 (file)
@@ -8,7 +8,7 @@ config DVB_DM1105
        select DVB_CX24116 if !DVB_FE_CUSTOMISE
        select DVB_SI21XX if !DVB_FE_CUSTOMISE
        select DVB_DS3000 if !DVB_FE_CUSTOMISE
-       depends on IR_CORE
+       depends on RC_CORE
        help
          Support for cards based on the SDMC DM1105 PCI chip like
          DvbWorld 2002
index d1a43858f29ca00ad22c62149dbe1139218a000d..e9cacf6e927789487a67b5db092d27d45c472c70 100644 (file)
@@ -27,7 +27,7 @@
 #include <linux/pci.h>
 #include <linux/dma-mapping.h>
 #include <linux/slab.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include "demux.h"
 #include "dmxdev.h"
index 2525d3b3c88d97a2a172e557fc9140df72af20fa..3d48ba0193425b9b1971d5eb03385fcb94209d96 100644 (file)
@@ -1,6 +1,6 @@
 config DVB_USB
        tristate "Support for various USB DVB devices"
-       depends on DVB_CORE && USB && I2C && IR_CORE
+       depends on DVB_CORE && USB && I2C && RC_CORE
        help
          By enabling this you will be able to choose the various supported
          USB1.1 and USB2.0 DVB devices.
index 83aa9826560fab46cc55b63b8a503be475422c66..18828cb282c45821f619dcceca5189a4e65d1401 100644 (file)
@@ -14,7 +14,7 @@
 #include <linux/usb.h>
 #include <linux/firmware.h>
 #include <linux/mutex.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include "dvb_frontend.h"
 #include "dvb_demux.h"
index d8f1b150e1cbe6c1ed5bd71acd390427cb4822cf..f0c030837f29fbfc88398d4d3ca25c0ceca2fd38 100644 (file)
@@ -61,7 +61,7 @@
 #define DVB_USB_LOG_PREFIX "LME2510(C)"
 #include <linux/usb.h>
 #include <linux/usb/input.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include "dvb-usb.h"
 #include "lmedm04.h"
index fd0830ed10d81cccb53b574336daa0942353b96c..a13a50503134bbb1c9531b6140308ed8c6f83265 100644 (file)
@@ -1,6 +1,6 @@
 config MANTIS_CORE
        tristate "Mantis/Hopper PCI bridge based devices"
-       depends on PCI && I2C && INPUT && IR_CORE
+       depends on PCI && I2C && INPUT && RC_CORE
 
        help
          Support for PCI cards based on the Mantis and Hopper PCi bridge.
index 209f2110e20cc7692b84232effb018fe20682d1a..e030b18ad6d9bf204f5b6cfaab83c8b77e7d0f51 100644 (file)
@@ -18,7 +18,7 @@
        Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include <linux/pci.h>
 
 #include "dmxdev.h"
index e520bceee0af451177cad22ca2e4394516c3969a..bc6456eb2c4fda8a5528e3b9b68b6014bdaccc19 100644 (file)
@@ -4,7 +4,7 @@
 
 config SMS_SIANO_MDTV
        tristate "Siano SMS1xxx based MDTV receiver"
-       depends on DVB_CORE && IR_CORE && HAS_DMA
+       depends on DVB_CORE && RC_CORE && HAS_DMA
        ---help---
          Choose Y or M here if you have MDTV receiver with a Siano chipset.
 
index c2f68a460ee12a6cbec95e724011235365d17f08..ae92b3a8587e5d4a32e7d5f2a8b35b047f71f2d8 100644 (file)
@@ -28,7 +28,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define __SMS_IR_H__
 
 #include <linux/input.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #define IR_DEFAULT_TIMEOUT             100
 
index 0ffd6943da838db0ab7b563bcc99298b8fc3e740..44afab2fdc2d17413a3587be4f657c9cee292f24 100644 (file)
@@ -97,7 +97,7 @@ config DVB_BUDGET_CI
        select DVB_LNBP21 if !DVB_FE_CUSTOMISE
        select DVB_TDA10023 if !DVB_FE_CUSTOMISE
        select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMISE
-       depends on IR_CORE
+       depends on RC_CORE
        help
          Support for simple SAA7146 based DVB cards
          (so called Budget- or Nova-PCI cards) without onboard
index 9aca0f37993bb6f0c7a3840eed73073678e6107e..32caa9b7af8ea53efc22e27f73dce981638336df 100644 (file)
@@ -34,7 +34,7 @@
 #include <linux/slab.h>
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include "budget.h"
 
index ef19375899ec18f89543de51436d6d32248a8dd5..42b4feb0e7f98b4a760cf23a29f3ced5981dbc1b 100644 (file)
@@ -1,16 +1,17 @@
-menuconfig IR_CORE
-       tristate "Infrared remote controller adapters"
+menuconfig RC_CORE
+       tristate "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.
+         Currently, all supported devices use InfraRed.
 
          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.
 
-if IR_CORE
+if RC_CORE
 
 config LIRC
        tristate
@@ -27,7 +28,7 @@ source "drivers/media/rc/keymaps/Kconfig"
 
 config IR_NEC_DECODER
        tristate "Enable IR raw decoder for the NEC protocol"
-       depends on IR_CORE
+       depends on RC_CORE
        select BITREVERSE
        default y
 
@@ -37,7 +38,7 @@ config IR_NEC_DECODER
 
 config IR_RC5_DECODER
        tristate "Enable IR raw decoder for the RC-5 protocol"
-       depends on IR_CORE
+       depends on RC_CORE
        select BITREVERSE
        default y
 
@@ -47,7 +48,7 @@ config IR_RC5_DECODER
 
 config IR_RC6_DECODER
        tristate "Enable IR raw decoder for the RC6 protocol"
-       depends on IR_CORE
+       depends on RC_CORE
        select BITREVERSE
        default y
 
@@ -57,7 +58,7 @@ config IR_RC6_DECODER
 
 config IR_JVC_DECODER
        tristate "Enable IR raw decoder for the JVC protocol"
-       depends on IR_CORE
+       depends on RC_CORE
        select BITREVERSE
        default y
 
@@ -67,7 +68,7 @@ config IR_JVC_DECODER
 
 config IR_SONY_DECODER
        tristate "Enable IR raw decoder for the Sony protocol"
-       depends on IR_CORE
+       depends on RC_CORE
        default y
 
        ---help---
@@ -76,7 +77,7 @@ config IR_SONY_DECODER
 
 config IR_RC5_SZ_DECODER
        tristate "Enable IR raw decoder for the RC-5 (streamzap) protocol"
-       depends on IR_CORE
+       depends on RC_CORE
        select BITREVERSE
        default y
 
@@ -88,7 +89,7 @@ config IR_RC5_SZ_DECODER
 
 config IR_LIRC_CODEC
        tristate "Enable IR to LIRC bridge"
-       depends on IR_CORE
+       depends on RC_CORE
        depends on LIRC
        default y
 
@@ -99,7 +100,7 @@ config IR_LIRC_CODEC
 config IR_ENE
        tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)"
        depends on PNP
-       depends on IR_CORE
+       depends on RC_CORE
        ---help---
           Say Y here to enable support for integrated infrared receiver
           /transceiver made by ENE.
@@ -113,7 +114,7 @@ config IR_ENE
 config IR_IMON
        tristate "SoundGraph iMON Receiver and Display"
        depends on USB_ARCH_HAS_HCD
-       depends on IR_CORE
+       depends on RC_CORE
        select USB
        ---help---
           Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
@@ -125,7 +126,7 @@ config IR_IMON
 config IR_MCEUSB
        tristate "Windows Media Center Ed. eHome Infrared Transceiver"
        depends on USB_ARCH_HAS_HCD
-       depends on IR_CORE
+       depends on RC_CORE
        select USB
        ---help---
           Say Y here if you want to use a Windows Media Center Edition
@@ -137,7 +138,7 @@ config IR_MCEUSB
 config IR_NUVOTON
        tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
        depends on PNP
-       depends on IR_CORE
+       depends on RC_CORE
        ---help---
           Say Y here to enable support for integrated infrared receiver
           /transciever made by Nuvoton (formerly Winbond). This chip is
@@ -150,7 +151,7 @@ config IR_NUVOTON
 config IR_STREAMZAP
        tristate "Streamzap PC Remote IR Receiver"
        depends on USB_ARCH_HAS_HCD
-       depends on IR_CORE
+       depends on RC_CORE
        select USB
        ---help---
           Say Y here if you want to use a Streamzap PC Remote
@@ -162,7 +163,7 @@ config IR_STREAMZAP
 config IR_WINBOND_CIR
         tristate "Winbond IR remote control"
         depends on X86 && PNP
-       depends on IR_CORE
+       depends on RC_CORE
         select NEW_LEDS
         select LEDS_CLASS
         select LEDS_TRIGGERS
@@ -176,4 +177,4 @@ config IR_WINBOND_CIR
            To compile this driver as a module, choose M here: the module will
           be called winbond_cir.
 
-endif #IR_CORE
+endif #RC_CORE
index 8c0e4cb19551af52d5c0c3666a1c51c38a5f470d..21251ba559049e19132d614bf6852771e683178b 100644 (file)
@@ -2,7 +2,7 @@ rc-core-objs    := rc-main.o rc-raw.o
 
 obj-y += keymaps/
 
-obj-$(CONFIG_IR_CORE) += rc-core.o
+obj-$(CONFIG_RC_CORE) += rc-core.o
 obj-$(CONFIG_LIRC) += lirc_dev.o
 obj-$(CONFIG_IR_NEC_DECODER) += ir-nec-decoder.o
 obj-$(CONFIG_IR_RC5_DECODER) += ir-rc5-decoder.o
index 0a4151f03c7ecf2380eff8f63c395d5d37822eeb..1ace4581f157436bbe931b9ab33d3198bfc0cfe5 100644 (file)
@@ -37,7 +37,7 @@
 #include <linux/interrupt.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include "ene_ir.h"
 
 static int sample_period;
index 8d4b35d1ae5607ed35ccdec50032487703b54027..b6ba3c7dc632a3901412fa9c57af08fd2bbc3b40 100644 (file)
@@ -38,7 +38,7 @@
 #include <linux/input.h>
 #include <linux/usb.h>
 #include <linux/usb/input.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include <linux/time.h>
 #include <linux/timer.h>
index ceabea6053de4fbcfa370c744b2615840a53fb06..f9086c5ba8b1ddb7ee067b1f979b2005c430322d 100644 (file)
@@ -16,7 +16,7 @@
 #include <linux/wait.h>
 #include <media/lirc.h>
 #include <media/lirc_dev.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include "rc-core-priv.h"
 
 #define LIRCBUF_SIZE 256
index 14b22f58f823de07bc98e6fce3e80154c5ddb933..8e615fd55852977e821c9816ef7d09cf3ede62cd 100644 (file)
@@ -1,6 +1,6 @@
 config RC_MAP
        tristate "Compile Remote Controller keymap modules"
-       depends on IR_CORE
+       depends on RC_CORE
        default y
 
        ---help---
index 43fcf9035082770dd26055fb4ca445af5caf576f..9c8577d6e49707d639e4c1f75f81ffcaa3d2b3c2 100644 (file)
@@ -9,7 +9,7 @@
  * (at your option) any later version.
  */
 
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 static struct ir_scancode lirc[] = {
        { },
index 539bec2974b71bd4a6eda37dda091e58c1ef93cd..db7787ac67a365193803e673288ed17ec2d54eb2 100644 (file)
@@ -37,7 +37,7 @@
 #include <linux/slab.h>
 #include <linux/usb.h>
 #include <linux/usb/input.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #define DRIVER_VERSION "1.91"
 #define DRIVER_AUTHOR  "Jarod Wilson <jarod@wilsonet.com>"
index 0ce328f9dacf64fb0244a1febc33640a4f9d3e41..bf3f58f7bd7c946322d411302e68fd63a062760f 100644 (file)
@@ -32,7 +32,7 @@
 #include <linux/interrupt.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include <linux/pci_ids.h>
 
 #include "nuvoton-cir.h"
index 3616c32d3f87d259ed445aca3d2379b1f459707c..48065b714d009faef8a10e2846e3bc6914e6ce13 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <linux/slab.h>
 #include <linux/spinlock.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 struct ir_raw_handler {
        struct list_head list;
index 5b67eea96ebbe21441d4cdf0d965cb8a5c3c516f..d91b62cf1324a1593fbc3aadbeef3c287400ac00 100644 (file)
@@ -12,7 +12,7 @@
  *  GNU General Public License for more details.
  */
 
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include <linux/spinlock.h>
 #include <linux/delay.h>
 #include <linux/input.h>
@@ -1103,11 +1103,11 @@ EXPORT_SYMBOL_GPL(rc_unregister_device);
  * Init/exit code for the module. Basically, creates/removes /sys/class/rc
  */
 
-static int __init ir_core_init(void)
+static int __init rc_core_init(void)
 {
        int rc = class_register(&ir_input_class);
        if (rc) {
-               printk(KERN_ERR "ir_core: unable to register rc class\n");
+               printk(KERN_ERR "rc_core: unable to register rc class\n");
                return rc;
        }
 
@@ -1118,18 +1118,18 @@ static int __init ir_core_init(void)
        return 0;
 }
 
-static void __exit ir_core_exit(void)
+static void __exit rc_core_exit(void)
 {
        class_unregister(&ir_input_class);
        ir_unregister_map(&empty_map);
 }
 
-module_init(ir_core_init);
-module_exit(ir_core_exit);
+module_init(rc_core_init);
+module_exit(rc_core_exit);
 
-int ir_core_debug;    /* ir_debug level (0,1,2) */
-EXPORT_SYMBOL_GPL(ir_core_debug);
-module_param_named(debug, ir_core_debug, int, 0644);
+int rc_core_debug;    /* ir_debug level (0,1,2) */
+EXPORT_SYMBOL_GPL(rc_core_debug);
+module_param_named(debug, rc_core_debug, int, 0644);
 
 MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>");
 MODULE_LICENSE("GPL");
index ab9b1e4071c037b8ff81a66c473fbc83d05bb351..165412fd240eed14ed7d212ffe2456139f5a0a81 100644 (file)
@@ -357,7 +357,7 @@ static void init_decoders(struct work_struct *work)
        load_lirc_codec();
 
        /* If needed, we may later add some init code. In this case,
-          it is needed to change the CONFIG_MODULE test at ir-core.h
+          it is needed to change the CONFIG_MODULE test at rc-core.h
         */
 }
 #endif
index f05f5c173fdfbea9f1ed9f2c499a37ac1600c6dd..ea2cb636a193b6e8b6201577e9767dc9466755d1 100644 (file)
@@ -36,7 +36,7 @@
 #include <linux/slab.h>
 #include <linux/usb.h>
 #include <linux/usb/input.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #define DRIVER_VERSION "1.61"
 #define DRIVER_NAME    "streamzap"
index 0ee16ec23bbff9d863ded42f9fe493d6ccb9b713..186de55220013e8b0ea19dd726a97e7a07e8b17b 100644 (file)
@@ -50,7 +50,7 @@
 #include <linux/io.h>
 #include <linux/bitrev.h>
 #include <linux/slab.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #define DRVNAME "winbond-cir"
 
index 963b3e6c4a97b1e908d70cf633302c12cfd16817..4b751ef47a83d518d39a15aa5451a8eb886dcd6b 100644 (file)
@@ -96,7 +96,7 @@ config VIDEO_HELPER_CHIPS_AUTO
 
 config VIDEO_IR_I2C
        tristate "I2C module for IR" if !VIDEO_HELPER_CHIPS_AUTO
-       depends on I2C && IR_CORE
+       depends on I2C && RC_CORE
        default y
        ---help---
          Most boards have an IR chip directly connected via GPIO. However,
index 3c7c0a572c45f7aaad2cbd1411404d40d2a05047..7da5c2e1fc12466bd11f6c0a79502aad66cdea84 100644 (file)
@@ -4,7 +4,7 @@ config VIDEO_BT848
        select I2C_ALGOBIT
        select VIDEO_BTCX
        select VIDEOBUF_DMA_SG
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select VIDEO_MSP3400 if VIDEO_HELPER_CHIPS_AUTO
index 0bbdd481e336c24135f70ad0a420e85c4650f34d..b71d04d120852b1f7903e7c0bd2900910ea0d473 100644 (file)
@@ -41,7 +41,7 @@
 #include <linux/device.h>
 #include <media/videobuf-dma-sg.h>
 #include <media/tveeprom.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include <media/ir-kbd-i2c.h>
 
 #include "bt848.h"
index f3c3ccb491fe40c35c12851c2b103c27f5f8e895..d9d2f6ad6ffbcfb66797cf93abf32b35220479b8 100644 (file)
@@ -2,7 +2,7 @@ config VIDEO_CX18
        tristate "Conexant cx23418 MPEG encoder support"
        depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C && EXPERIMENTAL
        select I2C_ALGOBIT
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select VIDEO_CX2341X
index d6a235007a7dad376dfd4a5f257ea09fc9407f7f..ae85a7a7bd73814c81b578761b522e7ddda9c8bf 100644 (file)
@@ -3,7 +3,7 @@ config VIDEO_CX231XX
        depends on VIDEO_DEV && I2C
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEOBUF_VMALLOC
        select VIDEO_CX25840
        select VIDEO_CX2341X
@@ -16,7 +16,7 @@ config VIDEO_CX231XX
 
 config VIDEO_CX231XX_RC
        bool "Conexant cx231xx Remote Controller additional support"
-       depends on IR_CORE
+       depends on RC_CORE
        depends on VIDEO_CX231XX
        default y
        ---help---
index fcccc9d2a08e5090cdc615a1857d33cf6ea2fb3e..87a20ae6fcc05267969da60f76bdc3818edbb8d5 100644 (file)
@@ -34,7 +34,7 @@
 
 #include <media/videobuf-vmalloc.h>
 #include <media/v4l2-device.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include <media/ir-kbd-i2c.h>
 #include <media/videobuf-dvb.h>
 
index e1367b35647afc4c2bc53992851ab4548c545a61..6b4a516addfea765dd7fe35e817d0c60a1e877f1 100644 (file)
@@ -5,7 +5,7 @@ config VIDEO_CX23885
        select VIDEO_BTCX
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEOBUF_DVB
        select VIDEOBUF_DMA_SG
        select VIDEO_CX25840
index f1bb3a8683c1c23e9dff8a084329999eb3b93883..e824ba63fdde0465103fc7d8f7a2d13dde8df650 100644 (file)
@@ -36,7 +36,7 @@
  */
 
 #include <linux/slab.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include <media/v4l2-subdev.h>
 
 #include "cx23885.h"
index f350d88944e8e1a972660fa427f60d3b1ae3ae04..fd387229daff28a797e96b252b0fe21a9a915bcc 100644 (file)
@@ -30,7 +30,7 @@
 #include <media/tveeprom.h>
 #include <media/videobuf-dma-sg.h>
 #include <media/videobuf-dvb.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include "btcx-risc.h"
 #include "cx23885-reg.h"
index e78e3e4c8112c79c062b319adb966a66ca72f211..e37be6fcf67dba7d43b32006d749e79e5db73954 100644 (file)
@@ -26,7 +26,7 @@
 
 #include <media/v4l2-device.h>
 #include <media/v4l2-chip-ident.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include "cx23885.h"
 
index 97a4e9b25fe47fe54c44399cd6fd38ae0e1c9db7..627926f6bde805d2065235a691cfd98f9478d978 100644 (file)
@@ -24,7 +24,7 @@
 #include <linux/slab.h>
 #include <linux/kfifo.h>
 #include <media/cx25840.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include "cx25840-core.h"
 
index dbae62935e1f35ccb26c65ae87fa3b6ae4c6b07a..5c42abdf422f35fe47a77c711f47adea3e8c26fa 100644 (file)
@@ -1,6 +1,6 @@
 config VIDEO_CX88
        tristate "Conexant 2388x (bt878 successor) support"
-       depends on VIDEO_DEV && PCI && I2C && IR_CORE
+       depends on VIDEO_DEV && PCI && I2C && RC_CORE
        select I2C_ALGOBIT
        select VIDEO_BTCX
        select VIDEOBUF_DMA_SG
index 3b2ef45d6348db1fc0e61b78ceff78df63b478ab..a73033846fce86c987a1a757e9ecc624de63ef5c 100644 (file)
@@ -29,7 +29,7 @@
 #include <linux/module.h>
 
 #include "cx88.h"
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #define MODULE_NAME "cx88xx"
 
index 72ea2baba790b3287ff3c46cb87ebc0ef769afe0..985100ea17a4096cba87f91305599f27f485341b 100644 (file)
@@ -3,7 +3,7 @@ config VIDEO_EM28XX
        depends on VIDEO_DEV && I2C
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEOBUF_VMALLOC
        select VIDEO_SAA711X if VIDEO_HELPER_CHIPS_AUTO
        select VIDEO_TVP5150 if VIDEO_HELPER_CHIPS_AUTO
index 6a48043a7b92b9a5344f8afcc5fdab0546c876e7..6f2795a3d4b7c7ef2a386b8c2435b3cf4fb32986 100644 (file)
@@ -33,7 +33,7 @@
 #include <media/videobuf-vmalloc.h>
 #include <media/v4l2-device.h>
 #include <media/ir-kbd-i2c.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #if defined(CONFIG_VIDEO_EM28XX_DVB) || defined(CONFIG_VIDEO_EM28XX_DVB_MODULE)
 #include <media/videobuf-dvb.h>
 #endif
index de0060fa33f1d0cefb3a8d81f2f3e9e9cef8525d..83662a4ff73cb954e0aa1a809ae252d8a35907d3 100644 (file)
@@ -46,7 +46,7 @@
 #include <linux/i2c.h>
 #include <linux/workqueue.h>
 
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include <media/ir-kbd-i2c.h>
 
 /* ----------------------------------------------------------------------- */
index c4f19801c73b6252b31a5f8b825ae40a9cc559cf..89f65914cc8eb745f3659cfc6a44f93e1f7cf26b 100644 (file)
@@ -2,7 +2,7 @@ config VIDEO_IVTV
        tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support"
        depends on VIDEO_V4L2 && PCI && I2C
        select I2C_ALGOBIT
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select VIDEO_CX2341X
index e03bff9e42461aeb473c59a65c6ff863cb60f7e1..380f1b28cfcc1f2f41a354b31579a518c5f886db 100644 (file)
@@ -26,7 +26,7 @@ config VIDEO_SAA7134_ALSA
 
 config VIDEO_SAA7134_RC
        bool "Philips SAA7134 Remote Controller support"
-       depends on IR_CORE
+       depends on RC_CORE
        depends on VIDEO_SAA7134
        default y
        ---help---
index c6ef95ec68f20f536268ecaed2669c2c5280b3cb..1923f3ca0eab78ba72d5b9f677db11e73b7152b4 100644 (file)
@@ -37,7 +37,7 @@
 #include <media/v4l2-ioctl.h>
 #include <media/v4l2-device.h>
 #include <media/tuner.h>
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 #include <media/ir-kbd-i2c.h>
 #include <media/videobuf-dma-sg.h>
 #include <sound/core.h>
index 580580ec936233d9c9974be43c03e0442384af80..645d915267e6e4c4ff09a5375817c8ba15d493b3 100644 (file)
@@ -3,7 +3,7 @@ config VIDEO_TLG2300
        depends on VIDEO_DEV && I2C && SND && DVB_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEOBUF_VMALLOC
        select SND_PCM
        select VIDEOBUF_DVB
index f8f2bb01055f4e910fda9b01f543439e38ad4680..b2656957aa8f1fc7747486804df0b8c3fdafe1b8 100644 (file)
@@ -5,7 +5,7 @@ config VIDEO_CX25821
        select I2C_ALGOBIT
        select VIDEO_BTCX
        select VIDEO_TVEEPROM
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEOBUF_DVB
        select VIDEOBUF_DMA_SG
        select VIDEO_CX25840
index edc90919f3c6e122058ee34adf575d5bc4720bf5..1da57df5cbcbc08beba2b4134e37a44c854b627d 100644 (file)
@@ -4,7 +4,7 @@ config VIDEO_GO7007
        depends on BKL # please fix
        depends on SND
        select VIDEOBUF_DMA_SG
-       depends on IR_CORE
+       depends on RC_CORE
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select SND_PCM
index de7ebb99d8f6cc61ff600b2d9580627f1a12e78d..114eec8a630a62f8610b7f9df8e7254c55e583e4 100644 (file)
@@ -1,6 +1,6 @@
 config VIDEO_TM6000
        tristate "TV Master TM5600/6000/6010 driver"
-       depends on VIDEO_DEV && I2C && INPUT && IR_CORE && USB && EXPERIMENTAL
+       depends on VIDEO_DEV && I2C && INPUT && RC_CORE && USB && EXPERIMENTAL
        select VIDEO_TUNER
        select MEDIA_TUNER_XC2028
        select MEDIA_TUNER_XC5000
index 3517d20c13103f44821b615addbdbc5ae2a7b1c9..58e93d0f304fc5c0a993fa1fb994316891927527 100644 (file)
@@ -24,7 +24,7 @@
 #include <linux/input.h>
 #include <linux/usb.h>
 
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #include "tm6000.h"
 #include "tm6000-regs.h"
diff --git a/include/media/ir-core.h b/include/media/ir-core.h
deleted file mode 100644 (file)
index c590998..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Remote Controller core header
- *
- * Copyright (C) 2009-2010 by Mauro Carvalho Chehab <mchehab@redhat.com>
- *
- * This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation version 2 of the License.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- */
-
-#ifndef _IR_CORE
-#define _IR_CORE
-
-#include <linux/spinlock.h>
-#include <linux/kfifo.h>
-#include <linux/time.h>
-#include <linux/timer.h>
-#include <media/rc-map.h>
-
-extern int ir_core_debug;
-#define IR_dprintk(level, fmt, arg...) if (ir_core_debug >= level) \
-       printk(KERN_DEBUG "%s: " fmt , __func__, ## arg)
-
-enum rc_driver_type {
-       RC_DRIVER_SCANCODE = 0, /* Driver or hardware generates a scancode */
-       RC_DRIVER_IR_RAW,       /* Needs a Infra-Red pulse/space decoder */
-};
-
-/**
- * struct rc_dev - represents a remote control device
- * @dev: driver model's view of this device
- * @input_name: name of the input child device
- * @input_phys: physical path to the input child device
- * @input_id: id of the input child device (struct input_id)
- * @driver_name: name of the hardware driver which registered this device
- * @map_name: name of the default keymap
- * @rc_tab: current scan/key table
- * @devno: unique remote control device number
- * @raw: additional data for raw pulse/space devices
- * @input_dev: the input child device used to communicate events to userspace
- * @driver_type: specifies if protocol decoding is done in hardware or software 
- * @idle: used to keep track of RX state
- * @allowed_protos: bitmask with the supported IR_TYPE_* protocols
- * @scanmask: some hardware decoders are not capable of providing the full
- *     scancode to the application. As this is a hardware limit, we can't do
- *     anything with it. Yet, as the same keycode table can be used with other
- *     devices, a mask is provided to allow its usage. Drivers should generally
- *     leave this field in blank
- * @priv: driver-specific data
- * @keylock: protects the remaining members of the struct
- * @keypressed: whether a key is currently pressed
- * @keyup_jiffies: time (in jiffies) when the current keypress should be released
- * @timer_keyup: timer for releasing a keypress
- * @last_keycode: keycode of last keypress
- * @last_scancode: scancode of last keypress
- * @last_toggle: toggle value of last command
- * @timeout: optional time after which device stops sending data
- * @min_timeout: minimum timeout supported by device
- * @max_timeout: maximum timeout supported by device
- * @rx_resolution : resolution (in ns) of input sampler
- * @tx_resolution: resolution (in ns) of output sampler
- * @change_protocol: allow changing the protocol used on hardware decoders
- * @open: callback to allow drivers to enable polling/irq when IR input device
- *     is opened.
- * @close: callback to allow drivers to disable polling/irq when IR input device
- *     is opened.
- * @s_tx_mask: set transmitter mask (for devices with multiple tx outputs)
- * @s_tx_carrier: set transmit carrier frequency
- * @s_tx_duty_cycle: set transmit duty cycle (0% - 100%)
- * @s_rx_carrier: inform driver about carrier it is expected to handle
- * @tx_ir: transmit IR
- * @s_idle: enable/disable hardware idle mode, upon which,
- *     device doesn't interrupt host until it sees IR pulses
- * @s_learning_mode: enable wide band receiver used for learning
- * @s_carrier_report: enable carrier reports
- */
-struct rc_dev {
-       struct device                   dev;
-       const char                      *input_name;
-       const char                      *input_phys;
-       struct input_id                 input_id;
-       char                            *driver_name;
-       const char                      *map_name;
-       struct ir_scancode_table        rc_tab;
-       unsigned long                   devno;
-       struct ir_raw_event_ctrl        *raw;
-       struct input_dev                *input_dev;
-       enum rc_driver_type             driver_type;
-       bool                            idle;
-       u64                             allowed_protos;
-       u32                             scanmask;
-       void                            *priv;
-       spinlock_t                      keylock;
-       bool                            keypressed;
-       unsigned long                   keyup_jiffies;
-       struct timer_list               timer_keyup;
-       u32                             last_keycode;
-       u32                             last_scancode;
-       u8                              last_toggle;
-       u32                             timeout;
-       u32                             min_timeout;
-       u32                             max_timeout;
-       u32                             rx_resolution;
-       u32                             tx_resolution;
-       int                             (*change_protocol)(struct rc_dev *dev, u64 ir_type);
-       int                             (*open)(struct rc_dev *dev);
-       void                            (*close)(struct rc_dev *dev);
-       int                             (*s_tx_mask)(struct rc_dev *dev, u32 mask);
-       int                             (*s_tx_carrier)(struct rc_dev *dev, u32 carrier);
-       int                             (*s_tx_duty_cycle)(struct rc_dev *dev, u32 duty_cycle);
-       int                             (*s_rx_carrier_range)(struct rc_dev *dev, u32 min, u32 max);
-       int                             (*tx_ir)(struct rc_dev *dev, int *txbuf, u32 n);
-       void                            (*s_idle)(struct rc_dev *dev, bool enable);
-       int                             (*s_learning_mode)(struct rc_dev *dev, int enable);
-       int                             (*s_carrier_report) (struct rc_dev *dev, int enable);
-};
-
-enum raw_event_type {
-       IR_SPACE        = (1 << 0),
-       IR_PULSE        = (1 << 1),
-       IR_START_EVENT  = (1 << 2),
-       IR_STOP_EVENT   = (1 << 3),
-};
-
-#define to_rc_dev(d) container_of(d, struct rc_dev, dev)
-
-
-void ir_repeat(struct rc_dev *dev);
-void ir_keydown(struct rc_dev *dev, int scancode, u8 toggle);
-void ir_keydown_notimeout(struct rc_dev *dev, int scancode, u8 toggle);
-void ir_keyup(struct rc_dev *dev);
-u32 ir_g_keycode_from_table(struct rc_dev *dev, u32 scancode);
-
-/* From ir-raw-event.c */
-struct ir_raw_event {
-       union {
-               u32             duration;
-
-               struct {
-                       u32     carrier;
-                       u8      duty_cycle;
-               };
-       };
-
-       unsigned                pulse:1;
-       unsigned                reset:1;
-       unsigned                timeout:1;
-       unsigned                carrier_report:1;
-};
-
-#define DEFINE_IR_RAW_EVENT(event) \
-       struct ir_raw_event event = { \
-               { .duration = 0 } , \
-               .pulse = 0, \
-               .reset = 0, \
-               .timeout = 0, \
-               .carrier_report = 0 }
-
-static inline void init_ir_raw_event(struct ir_raw_event *ev)
-{
-       memset(ev, 0, sizeof(*ev));
-}
-
-#define IR_MAX_DURATION         0xFFFFFFFF      /* a bit more than 4 seconds */
-
-struct rc_dev *rc_allocate_device(void);
-void rc_free_device(struct rc_dev *dev);
-int rc_register_device(struct rc_dev *dev);
-void rc_unregister_device(struct rc_dev *dev);
-
-void ir_raw_event_handle(struct rc_dev *dev);
-int ir_raw_event_store(struct rc_dev *dev, struct ir_raw_event *ev);
-int ir_raw_event_store_edge(struct rc_dev *dev, enum raw_event_type type);
-int ir_raw_event_store_with_filter(struct rc_dev *dev,
-                               struct ir_raw_event *ev);
-void ir_raw_event_set_idle(struct rc_dev *dev, bool idle);
-
-static inline void ir_raw_event_reset(struct rc_dev *dev)
-{
-       DEFINE_IR_RAW_EVENT(ev);
-       ev.reset = true;
-
-       ir_raw_event_store(dev, &ev);
-       ir_raw_event_handle(dev);
-}
-
-
-/* extract mask bits out of data and pack them into the result */
-static inline u32 ir_extract_bits(u32 data, u32 mask)
-{
-       u32 vbit = 1, value = 0;
-
-       do {
-           if (mask & 1) {
-               if (data & 1)
-                       value |= vbit;
-               vbit <<= 1;
-           }
-           data >>= 1;
-       } while (mask >>= 1);
-
-       return value;
-}
-
-
-#endif /* _IR_CORE */
index d27505f2448ec1fd3502326e9c26154d5179b5bb..f22b359c37ff4fd9ea930653a209873b78478c9e 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef _IR_I2C
 #define _IR_I2C
 
-#include <media/ir-core.h>
+#include <media/rc-core.h>
 
 #define DEFAULT_POLLING_INTERVAL       100     /* ms */
 
diff --git a/include/media/rc-core.h b/include/media/rc-core.h
new file mode 100644 (file)
index 0000000..eedb2f0
--- /dev/null
@@ -0,0 +1,211 @@
+/*
+ * Remote Controller core header
+ *
+ * Copyright (C) 2009-2010 by Mauro Carvalho Chehab <mchehab@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation version 2 of the License.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ */
+
+#ifndef _IR_CORE
+#define _IR_CORE
+
+#include <linux/spinlock.h>
+#include <linux/kfifo.h>
+#include <linux/time.h>
+#include <linux/timer.h>
+#include <media/rc-map.h>
+
+extern int rc_core_debug;
+#define IR_dprintk(level, fmt, arg...) if (rc_core_debug >= level) \
+       printk(KERN_DEBUG "%s: " fmt , __func__, ## arg)
+
+enum rc_driver_type {
+       RC_DRIVER_SCANCODE = 0, /* Driver or hardware generates a scancode */
+       RC_DRIVER_IR_RAW,       /* Needs a Infra-Red pulse/space decoder */
+};
+
+/**
+ * struct rc_dev - represents a remote control device
+ * @dev: driver model's view of this device
+ * @input_name: name of the input child device
+ * @input_phys: physical path to the input child device
+ * @input_id: id of the input child device (struct input_id)
+ * @driver_name: name of the hardware driver which registered this device
+ * @map_name: name of the default keymap
+ * @rc_tab: current scan/key table
+ * @devno: unique remote control device number
+ * @raw: additional data for raw pulse/space devices
+ * @input_dev: the input child device used to communicate events to userspace
+ * @driver_type: specifies if protocol decoding is done in hardware or software 
+ * @idle: used to keep track of RX state
+ * @allowed_protos: bitmask with the supported IR_TYPE_* protocols
+ * @scanmask: some hardware decoders are not capable of providing the full
+ *     scancode to the application. As this is a hardware limit, we can't do
+ *     anything with it. Yet, as the same keycode table can be used with other
+ *     devices, a mask is provided to allow its usage. Drivers should generally
+ *     leave this field in blank
+ * @priv: driver-specific data
+ * @keylock: protects the remaining members of the struct
+ * @keypressed: whether a key is currently pressed
+ * @keyup_jiffies: time (in jiffies) when the current keypress should be released
+ * @timer_keyup: timer for releasing a keypress
+ * @last_keycode: keycode of last keypress
+ * @last_scancode: scancode of last keypress
+ * @last_toggle: toggle value of last command
+ * @timeout: optional time after which device stops sending data
+ * @min_timeout: minimum timeout supported by device
+ * @max_timeout: maximum timeout supported by device
+ * @rx_resolution : resolution (in ns) of input sampler
+ * @tx_resolution: resolution (in ns) of output sampler
+ * @change_protocol: allow changing the protocol used on hardware decoders
+ * @open: callback to allow drivers to enable polling/irq when IR input device
+ *     is opened.
+ * @close: callback to allow drivers to disable polling/irq when IR input device
+ *     is opened.
+ * @s_tx_mask: set transmitter mask (for devices with multiple tx outputs)
+ * @s_tx_carrier: set transmit carrier frequency
+ * @s_tx_duty_cycle: set transmit duty cycle (0% - 100%)
+ * @s_rx_carrier: inform driver about carrier it is expected to handle
+ * @tx_ir: transmit IR
+ * @s_idle: enable/disable hardware idle mode, upon which,
+ *     device doesn't interrupt host until it sees IR pulses
+ * @s_learning_mode: enable wide band receiver used for learning
+ * @s_carrier_report: enable carrier reports
+ */
+struct rc_dev {
+       struct device                   dev;
+       const char                      *input_name;
+       const char                      *input_phys;
+       struct input_id                 input_id;
+       char                            *driver_name;
+       const char                      *map_name;
+       struct ir_scancode_table        rc_tab;
+       unsigned long                   devno;
+       struct ir_raw_event_ctrl        *raw;
+       struct input_dev                *input_dev;
+       enum rc_driver_type             driver_type;
+       bool                            idle;
+       u64                             allowed_protos;
+       u32                             scanmask;
+       void                            *priv;
+       spinlock_t                      keylock;
+       bool                            keypressed;
+       unsigned long                   keyup_jiffies;
+       struct timer_list               timer_keyup;
+       u32                             last_keycode;
+       u32                             last_scancode;
+       u8                              last_toggle;
+       u32                             timeout;
+       u32                             min_timeout;
+       u32                             max_timeout;
+       u32                             rx_resolution;
+       u32                             tx_resolution;
+       int                             (*change_protocol)(struct rc_dev *dev, u64 ir_type);
+       int                             (*open)(struct rc_dev *dev);
+       void                            (*close)(struct rc_dev *dev);
+       int                             (*s_tx_mask)(struct rc_dev *dev, u32 mask);
+       int                             (*s_tx_carrier)(struct rc_dev *dev, u32 carrier);
+       int                             (*s_tx_duty_cycle)(struct rc_dev *dev, u32 duty_cycle);
+       int                             (*s_rx_carrier_range)(struct rc_dev *dev, u32 min, u32 max);
+       int                             (*tx_ir)(struct rc_dev *dev, int *txbuf, u32 n);
+       void                            (*s_idle)(struct rc_dev *dev, bool enable);
+       int                             (*s_learning_mode)(struct rc_dev *dev, int enable);
+       int                             (*s_carrier_report) (struct rc_dev *dev, int enable);
+};
+
+enum raw_event_type {
+       IR_SPACE        = (1 << 0),
+       IR_PULSE        = (1 << 1),
+       IR_START_EVENT  = (1 << 2),
+       IR_STOP_EVENT   = (1 << 3),
+};
+
+#define to_rc_dev(d) container_of(d, struct rc_dev, dev)
+
+
+void ir_repeat(struct rc_dev *dev);
+void ir_keydown(struct rc_dev *dev, int scancode, u8 toggle);
+void ir_keydown_notimeout(struct rc_dev *dev, int scancode, u8 toggle);
+void ir_keyup(struct rc_dev *dev);
+u32 ir_g_keycode_from_table(struct rc_dev *dev, u32 scancode);
+
+/* From ir-raw-event.c */
+struct ir_raw_event {
+       union {
+               u32             duration;
+
+               struct {
+                       u32     carrier;
+                       u8      duty_cycle;
+               };
+       };
+
+       unsigned                pulse:1;
+       unsigned                reset:1;
+       unsigned                timeout:1;
+       unsigned                carrier_report:1;
+};
+
+#define DEFINE_IR_RAW_EVENT(event) \
+       struct ir_raw_event event = { \
+               { .duration = 0 } , \
+               .pulse = 0, \
+               .reset = 0, \
+               .timeout = 0, \
+               .carrier_report = 0 }
+
+static inline void init_ir_raw_event(struct ir_raw_event *ev)
+{
+       memset(ev, 0, sizeof(*ev));
+}
+
+#define IR_MAX_DURATION         0xFFFFFFFF      /* a bit more than 4 seconds */
+
+struct rc_dev *rc_allocate_device(void);
+void rc_free_device(struct rc_dev *dev);
+int rc_register_device(struct rc_dev *dev);
+void rc_unregister_device(struct rc_dev *dev);
+
+void ir_raw_event_handle(struct rc_dev *dev);
+int ir_raw_event_store(struct rc_dev *dev, struct ir_raw_event *ev);
+int ir_raw_event_store_edge(struct rc_dev *dev, enum raw_event_type type);
+int ir_raw_event_store_with_filter(struct rc_dev *dev,
+                               struct ir_raw_event *ev);
+void ir_raw_event_set_idle(struct rc_dev *dev, bool idle);
+
+static inline void ir_raw_event_reset(struct rc_dev *dev)
+{
+       DEFINE_IR_RAW_EVENT(ev);
+       ev.reset = true;
+
+       ir_raw_event_store(dev, &ev);
+       ir_raw_event_handle(dev);
+}
+
+
+/* extract mask bits out of data and pack them into the result */
+static inline u32 ir_extract_bits(u32 data, u32 mask)
+{
+       u32 vbit = 1, value = 0;
+
+       do {
+           if (mask & 1) {
+               if (data & 1)
+                       value |= vbit;
+               vbit <<= 1;
+           }
+           data >>= 1;
+       } while (mask >>= 1);
+
+       return value;
+}
+
+
+#endif /* _IR_CORE */