Skip to contentSkip to conversation

Various RC fixes

PATCH In review Sean Young 2 participants 8 messages Aug 7, 2017 – Aug 10, 2017

Subsystems (36)
lore
Share & tools
lore

Sean Young

author maintainer
#0 lore raw

cover Various RC fixes

Some improvements to the saa7134 raw decoder, more efficient gpio-ir-recv and a few cosmetic changes.

Sean Young (6):
[media] rc-core: improve ir_raw_store_edge() handling [media] rc: saa7134: add trailing space for timely decoding [media] rc: simplify ir_raw_event_store_edge() [media] rc: ensure we do not read out of bounds [media] rc: rename RC_TYPE_* to RC_PROTO_* and RC_BIT_* to

    RC_PROTO_BIT_*

[media] rc: saa7134: raw decoder can support any protocol

 drivers/hid/hid-picolcd_cir.c                      |   2 +-
 drivers/media/cec/cec-adap.c                       |   6 +-
 drivers/media/cec/cec-core.c                       |   2 +-
 drivers/media/common/siano/smsir.c                 |   2 +-
 drivers/media/i2c/ir-kbd-i2c.c                     |  57 +++---
 drivers/media/pci/bt8xx/bttv-input.c               |  16 +-
 drivers/media/pci/cx18/cx18-i2c.c                  |   4 +-
 drivers/media/pci/cx23885/cx23885-input.c          |  14 +-
 drivers/media/pci/cx88/cx88-input.c                |  28 +--
 drivers/media/pci/dm1105/dm1105.c                  |   2 +-
 drivers/media/pci/ivtv/ivtv-i2c.c                  |  14 +-
 drivers/media/pci/mantis/mantis_input.c            |   2 +-
 drivers/media/pci/saa7134/saa7134-input.c          |  79 +++-----
 drivers/media/pci/smipcie/smipcie-ir.c             |   2 +-
 drivers/media/pci/ttpci/budget-ci.c                |   5 +-
 drivers/media/rc/ati_remote.c                      |   5 +-
 drivers/media/rc/ene_ir.c                          |   2 +-
 drivers/media/rc/fintek-cir.c                      |   2 +-
 drivers/media/rc/gpio-ir-recv.c                    |  29 +--
 drivers/media/rc/igorplugusb.c                     |   9 +-
 drivers/media/rc/iguanair.c                        |   2 +-
 drivers/media/rc/img-ir/img-ir-hw.c                |   4 +-
 drivers/media/rc/img-ir/img-ir-hw.h                |   4 +-
 drivers/media/rc/img-ir/img-ir-jvc.c               |   4 +-
 drivers/media/rc/img-ir/img-ir-nec.c               |  20 +-
 drivers/media/rc/img-ir/img-ir-raw.c               |   4 +-
 drivers/media/rc/img-ir/img-ir-rc5.c               |   4 +-
 drivers/media/rc/img-ir/img-ir-rc6.c               |   4 +-
 drivers/media/rc/img-ir/img-ir-sanyo.c             |   4 +-
 drivers/media/rc/img-ir/img-ir-sharp.c             |   4 +-
 drivers/media/rc/img-ir/img-ir-sony.c              |  27 +--
 drivers/media/rc/imon.c                            |  49 ++---
 drivers/media/rc/ir-hix5hd2.c                      |   2 +-
 drivers/media/rc/ir-jvc-decoder.c                  |   6 +-
 drivers/media/rc/ir-mce_kbd-decoder.c              |   6 +-
 drivers/media/rc/ir-nec-decoder.c                  |  17 +-
 drivers/media/rc/ir-rc5-decoder.c                  |  25 +--
 drivers/media/rc/ir-rc6-decoder.c                  |  30 +--
 drivers/media/rc/ir-sanyo-decoder.c                |   6 +-
 drivers/media/rc/ir-sharp-decoder.c                |   6 +-
 drivers/media/rc/ir-sony-decoder.c                 |  23 +--
 drivers/media/rc/ir-xmp-decoder.c                  |   4 +-
 drivers/media/rc/ite-cir.c                         |   2 +-
 drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c    |   8 +-
 drivers/media/rc/keymaps/rc-alink-dtu-m.c          |   8 +-
 drivers/media/rc/keymaps/rc-anysee.c               |   8 +-
 drivers/media/rc/keymaps/rc-apac-viewcomp.c        |   8 +-
 drivers/media/rc/keymaps/rc-asus-pc39.c            |   8 +-
 drivers/media/rc/keymaps/rc-asus-ps3-100.c         |   8 +-
 drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c |   8 +-
 drivers/media/rc/keymaps/rc-ati-x10.c              |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-a16d.c       |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-cardbus.c    |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-dvbt.c       |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-m135a.c      |   8 +-
 .../media/rc/keymaps/rc-avermedia-m733a-rm-k6.c    |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-rm-ks.c      |   8 +-
 drivers/media/rc/keymaps/rc-avermedia.c            |   8 +-
 drivers/media/rc/keymaps/rc-avertv-303.c           |   8 +-
 drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c   |   8 +-
 drivers/media/rc/keymaps/rc-behold-columbus.c      |   8 +-
 drivers/media/rc/keymaps/rc-behold.c               |   8 +-
 drivers/media/rc/keymaps/rc-budget-ci-old.c        |   8 +-
 drivers/media/rc/keymaps/rc-cec.c                  |   2 +-
 drivers/media/rc/keymaps/rc-cinergy-1400.c         |   8 +-
 drivers/media/rc/keymaps/rc-cinergy.c              |   8 +-
 drivers/media/rc/keymaps/rc-d680-dmb.c             |   8 +-
 drivers/media/rc/keymaps/rc-delock-61959.c         |   8 +-
 drivers/media/rc/keymaps/rc-dib0700-nec.c          |   8 +-
 drivers/media/rc/keymaps/rc-dib0700-rc5.c          |   8 +-
 drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c  |   8 +-
 drivers/media/rc/keymaps/rc-digittrade.c           |   8 +-
 drivers/media/rc/keymaps/rc-dm1105-nec.c           |   8 +-
 drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c      |   8 +-
 drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c   |   8 +-
 drivers/media/rc/keymaps/rc-dtt200u.c              |   8 +-
 drivers/media/rc/keymaps/rc-dvbsky.c               |   8 +-
 drivers/media/rc/keymaps/rc-dvico-mce.c            |   8 +-
 drivers/media/rc/keymaps/rc-dvico-portable.c       |   8 +-
 drivers/media/rc/keymaps/rc-em-terratec.c          |   8 +-
 drivers/media/rc/keymaps/rc-encore-enltv-fm53.c    |   8 +-
 drivers/media/rc/keymaps/rc-encore-enltv.c         |   8 +-
 drivers/media/rc/keymaps/rc-encore-enltv2.c        |   8 +-
 drivers/media/rc/keymaps/rc-evga-indtube.c         |   8 +-
 drivers/media/rc/keymaps/rc-eztv.c                 |   8 +-
 drivers/media/rc/keymaps/rc-flydvb.c               |   8 +-
 drivers/media/rc/keymaps/rc-flyvideo.c             |   8 +-
 drivers/media/rc/keymaps/rc-fusionhdtv-mce.c       |   8 +-
 drivers/media/rc/keymaps/rc-gadmei-rm008z.c        |   8 +-
 drivers/media/rc/keymaps/rc-geekbox.c              |   8 +-
 drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c   |   8 +-
 drivers/media/rc/keymaps/rc-gotview7135.c          |   8 +-
 drivers/media/rc/keymaps/rc-hauppauge.c            |   8 +-
 drivers/media/rc/keymaps/rc-imon-mce.c             |   8 +-
 drivers/media/rc/keymaps/rc-imon-pad.c             |   8 +-
 drivers/media/rc/keymaps/rc-iodata-bctv7e.c        |   8 +-
 drivers/media/rc/keymaps/rc-it913x-v1.c            |   8 +-
 drivers/media/rc/keymaps/rc-it913x-v2.c            |   8 +-
 drivers/media/rc/keymaps/rc-kaiomy.c               |   8 +-
 drivers/media/rc/keymaps/rc-kworld-315u.c          |   8 +-
 drivers/media/rc/keymaps/rc-kworld-pc150u.c        |   8 +-
 .../media/rc/keymaps/rc-kworld-plus-tv-analog.c    |   8 +-
 drivers/media/rc/keymaps/rc-leadtek-y04g0051.c     |   8 +-
 drivers/media/rc/keymaps/rc-lme2510.c              |   8 +-
 drivers/media/rc/keymaps/rc-manli.c                |   8 +-
 .../media/rc/keymaps/rc-medion-x10-digitainer.c    |   8 +-
 drivers/media/rc/keymaps/rc-medion-x10-or2x.c      |   8 +-
 drivers/media/rc/keymaps/rc-medion-x10.c           |   8 +-
 drivers/media/rc/keymaps/rc-msi-digivox-ii.c       |   8 +-
 drivers/media/rc/keymaps/rc-msi-digivox-iii.c      |   8 +-
 drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c  |   8 +-
 drivers/media/rc/keymaps/rc-msi-tvanywhere.c       |   8 +-
 drivers/media/rc/keymaps/rc-nebula.c               |   8 +-
 .../media/rc/keymaps/rc-nec-terratec-cinergy-xs.c  |   8 +-
 drivers/media/rc/keymaps/rc-norwood.c              |   8 +-
 drivers/media/rc/keymaps/rc-npgtech.c              |   8 +-
 drivers/media/rc/keymaps/rc-pctv-sedna.c           |   8 +-
 drivers/media/rc/keymaps/rc-pinnacle-color.c       |   8 +-
 drivers/media/rc/keymaps/rc-pinnacle-grey.c        |   8 +-
 drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c     |   8 +-
 drivers/media/rc/keymaps/rc-pixelview-002t.c       |   8 +-
 drivers/media/rc/keymaps/rc-pixelview-mk12.c       |   8 +-
 drivers/media/rc/keymaps/rc-pixelview-new.c        |   8 +-
 drivers/media/rc/keymaps/rc-pixelview.c            |   8 +-
 .../media/rc/keymaps/rc-powercolor-real-angel.c    |   8 +-
 drivers/media/rc/keymaps/rc-proteus-2309.c         |   8 +-
 drivers/media/rc/keymaps/rc-purpletv.c             |   8 +-
 drivers/media/rc/keymaps/rc-pv951.c                |   8 +-
 drivers/media/rc/keymaps/rc-rc6-mce.c              |   8 +-
 .../media/rc/keymaps/rc-real-audio-220-32-keys.c   |   8 +-
 drivers/media/rc/keymaps/rc-reddo.c                |   8 +-
 drivers/media/rc/keymaps/rc-snapstream-firefly.c   |   8 +-
 drivers/media/rc/keymaps/rc-streamzap.c            |   8 +-
 drivers/media/rc/keymaps/rc-su3000.c               |   8 +-
 drivers/media/rc/keymaps/rc-tbs-nec.c              |   8 +-
 drivers/media/rc/keymaps/rc-technisat-ts35.c       |   8 +-
 drivers/media/rc/keymaps/rc-technisat-usb2.c       |   8 +-
 .../media/rc/keymaps/rc-terratec-cinergy-c-pci.c   |   8 +-
 .../media/rc/keymaps/rc-terratec-cinergy-s2-hd.c   |   8 +-
 drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c  |   8 +-
 drivers/media/rc/keymaps/rc-terratec-slim-2.c      |   8 +-
 drivers/media/rc/keymaps/rc-terratec-slim.c        |   8 +-
 drivers/media/rc/keymaps/rc-tevii-nec.c            |   8 +-
 drivers/media/rc/keymaps/rc-tivo.c                 |   8 +-
 .../media/rc/keymaps/rc-total-media-in-hand-02.c   |   8 +-
 drivers/media/rc/keymaps/rc-total-media-in-hand.c  |   8 +-
 drivers/media/rc/keymaps/rc-trekstor.c             |   8 +-
 drivers/media/rc/keymaps/rc-tt-1500.c              |   8 +-
 drivers/media/rc/keymaps/rc-twinhan-dtv-cab-ci.c   |   8 +-
 drivers/media/rc/keymaps/rc-twinhan1027.c          |   8 +-
 drivers/media/rc/keymaps/rc-videomate-m1f.c        |   8 +-
 drivers/media/rc/keymaps/rc-videomate-s350.c       |   8 +-
 drivers/media/rc/keymaps/rc-videomate-tv-pvr.c     |   8 +-
 drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c |   8 +-
 drivers/media/rc/keymaps/rc-winfast.c              |   8 +-
 drivers/media/rc/keymaps/rc-zx-irdec.c             |   2 +-
 drivers/media/rc/mceusb.c                          |   2 +-
 drivers/media/rc/meson-ir.c                        |   2 +-
 drivers/media/rc/mtk-cir.c                         |   2 +-
 drivers/media/rc/nuvoton-cir.c                     |   4 +-
 drivers/media/rc/rc-core-priv.h                    |   5 +-
 drivers/media/rc/rc-ir-raw.c                       |  67 ++++---
 drivers/media/rc/rc-loopback.c                     |   4 +-
 drivers/media/rc/rc-main.c                         | 195 ++++++++++---------
 drivers/media/rc/redrat3.c                         |   2 +-
 drivers/media/rc/serial_ir.c                       |   2 +-
 drivers/media/rc/sir_ir.c                          |   2 +-
 drivers/media/rc/st_rc.c                           |   2 +-
 drivers/media/rc/streamzap.c                       |   2 +-
 drivers/media/rc/sunxi-cir.c                       |   2 +-
 drivers/media/rc/ttusbir.c                         |   2 +-
 drivers/media/rc/winbond-cir.c                     |  33 ++--
 drivers/media/rc/zx-irdec.c                        |   9 +-
 drivers/media/usb/au0828/au0828-input.c            |   4 +-
 drivers/media/usb/cx231xx/cx231xx-input.c          |   6 +-
 drivers/media/usb/dvb-usb-v2/af9015.c              |  11 +-
 drivers/media/usb/dvb-usb-v2/af9035.c              |  14 +-
 drivers/media/usb/dvb-usb-v2/anysee.c              |   4 +-
 drivers/media/usb/dvb-usb-v2/az6007.c              |  11 +-
 drivers/media/usb/dvb-usb-v2/dvb_usb.h             |   2 +-
 drivers/media/usb/dvb-usb-v2/dvbsky.c              |   4 +-
 drivers/media/usb/dvb-usb-v2/lmedm04.c             |   6 +-
 drivers/media/usb/dvb-usb-v2/rtl28xxu.c            |  13 +-
 drivers/media/usb/dvb-usb/cxusb.c                  |  30 +--
 drivers/media/usb/dvb-usb/dib0700.h                |   2 +-
 drivers/media/usb/dvb-usb/dib0700_core.c           |  28 +--
 drivers/media/usb/dvb-usb/dib0700_devices.c        | 152 +++++++--------
 drivers/media/usb/dvb-usb/dtt200u.c                |  12 +-
 drivers/media/usb/dvb-usb/dvb-usb.h                |   2 +-
 drivers/media/usb/dvb-usb/dw2102.c                 |  21 +-
 drivers/media/usb/dvb-usb/m920x.c                  |   4 +-
 drivers/media/usb/dvb-usb/pctv452e.c               |   6 +-
 drivers/media/usb/dvb-usb/technisat-usb2.c         |   2 +-
 drivers/media/usb/dvb-usb/ttusb2.c                 |   4 +-
 drivers/media/usb/em28xx/em28xx-input.c            | 124 ++++++------
 drivers/media/usb/hdpvr/hdpvr-i2c.c                |   3 +-
 drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c       |  10 +-
 drivers/media/usb/tm6000/tm6000-input.c            |  38 ++--
 include/media/i2c/ir-kbd-i2c.h                     |   8 +-
 include/media/rc-core.h                            |  43 ++---
 include/media/rc-map.h                             | 215 +++++++++++----------
 201 files changed, 1278 insertions(+), 1269 deletions(-)
Signature · 1 line
2.13.4
author maintainer
#1 lore raw

PATCH 1/6 rc-core: improve ir_raw_store_edge() handling

The gpio-ir-recv driver does many spurious wakeups (once per edge); the saa7134 driver has special handling to only wakeup 15ms after the first edge. Make this part of rc-core so gpio-ir-recv also benefits from this (so a rc-5 keypress now causes 3 wakeups rather than 24).

---
 drivers/media/pci/saa7134/saa7134-input.c | 26 +-------------------------
 drivers/media/rc/rc-core-priv.h           |  2 ++
 drivers/media/rc/rc-ir-raw.c              | 15 +++++++++++++++
 3 files changed, 18 insertions(+), 25 deletions(-)
drivers/media/pci/saa7134/saa7134-input.c +1 -25
index ba1fc77a6f7b..81e27ddcf6df 100644
@@ -452,13 +452,6 @@ static void saa7134_input_timer(unsigned long data)
 	mod_timer(&ir->timer, jiffies + msecs_to_jiffies(ir->polling));
 }
 
-static void ir_raw_decode_timer_end(unsigned long data)
-{
-	struct saa7134_dev *dev = (struct saa7134_dev *)data;
-
-	ir_raw_event_handle(dev->remote->dev);
-}
-
 static int __saa7134_ir_start(void *priv)
 {
 	struct saa7134_dev *dev = priv;
@@ -514,10 +507,6 @@ static int __saa7134_ir_start(void *priv)
 			    (unsigned long)dev);
 		ir->timer.expires = jiffies + HZ;
 		add_timer(&ir->timer);
-	} else if (ir->raw_decode) {
-		/* set timer_end for code completion */
-		setup_timer(&ir->timer, ir_raw_decode_timer_end,
-			    (unsigned long)dev);
 	}
 
 	return 0;
@@ -535,7 +524,7 @@ static void __saa7134_ir_stop(void *priv)
 	if (!ir->running)
 		return;
 
-	if (ir->polling || ir->raw_decode)
+	if (ir->polling)
 		del_timer_sync(&ir->timer);
 
 	ir->running = false;
@@ -1057,7 +1046,6 @@ void saa7134_probe_i2c_ir(struct saa7134_dev *dev)
 static int saa7134_raw_decode_irq(struct saa7134_dev *dev)
 {
 	struct saa7134_card_ir *ir = dev->remote;
-	unsigned long timeout;
 	int space;
 
 	/* Generate initial event */
@@ -1066,17 +1054,5 @@ static int saa7134_raw_decode_irq(struct saa7134_dev *dev)
 	space = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2) & ir->mask_keydown;
 	ir_raw_event_store_edge(dev->remote->dev, space ? IR_SPACE : IR_PULSE);
 
-	/*
-	 * Wait 15 ms from the start of the first IR event before processing
-	 * the event. This time is enough for NEC protocol. May need adjustments
-	 * to work with other protocols.
-	 */
-	smp_mb();
-
-	if (!timer_pending(&ir->timer)) {
-		timeout = jiffies + msecs_to_jiffies(15);
-		mod_timer(&ir->timer, timeout);
-	}
-
 	return 1;
 }
drivers/media/rc/rc-core-priv.h +2 -0
index b3e7cac2c3ee..cae13efc1a88 100644
@@ -43,6 +43,8 @@ struct ir_raw_event_ctrl {
 	ktime_t				last_event;	/* when last event occurred */
 	enum raw_event_type		last_type;	/* last event type */
 	struct rc_dev			*dev;		/* pointer to the parent rc_dev */
+	/* edge driver */
+	struct timer_list edge_handle;
 
 	/* raw decoder state follows */
 	struct ir_raw_event prev_ev;
drivers/media/rc/rc-ir-raw.c +15 -0
index b6d256f03847..07a694298119 100644
@@ -133,6 +133,11 @@ int ir_raw_event_store_edge(struct rc_dev *dev, enum raw_event_type type)
 
 	dev->raw->last_event = now;
 	dev->raw->last_type = type;
+
+	if (!timer_pending(&dev->raw->edge_handle))
+		mod_timer(&dev->raw->edge_handle,
+			  jiffies + msecs_to_jiffies(15));
+
 	return rc;
 }
 EXPORT_SYMBOL_GPL(ir_raw_event_store_edge);
@@ -483,6 +488,13 @@ int ir_raw_encode_scancode(enum rc_type protocol, u32 scancode,
 }
 EXPORT_SYMBOL(ir_raw_encode_scancode);
 
+static void edge_handle(unsigned long arg)
+{
+	struct rc_dev *dev = (struct rc_dev *)arg;
+
+	ir_raw_event_handle(dev);
+}
+
 /*
  * Used to (un)register raw event clients
  */
@@ -504,6 +516,8 @@ int ir_raw_event_prepare(struct rc_dev *dev)
 
 	dev->raw->dev = dev;
 	dev->change_protocol = change_protocol;
+	setup_timer(&dev->raw->edge_handle, edge_handle,
+		    (unsigned long)dev);
 	INIT_KFIFO(dev->raw->kfifo);
 
 	return 0;
@@ -555,6 +569,7 @@ void ir_raw_event_unregister(struct rc_dev *dev)
 		return;
 
 	kthread_stop(dev->raw->thread);
+	del_timer_sync(&dev->raw->edge_handle);
 
 	mutex_lock(&ir_raw_handler_lock);
 	list_del(&dev->raw->list);
Signature · 1 line
2.13.4
author maintainer
#2 lore raw

PATCH 2/6 rc: saa7134: add trailing space for timely decoding

In reply to Sean Young

The gpio-ir-recv driver adds timeouts which the saa7134 lacks; this causes keypress not to arrive, and to only arrive once more IR is received. This is what the commit below calls "ghost keypresses", and it does not solve the issue completely.

This makes the IR on the HVR-1150 much more reliable and responsive.

Fixes 3f5c4c73322e ("[media] rc: fix ghost keypresses with certain hw")
---
 drivers/media/pci/saa7134/saa7134-input.c |  3 +++
 drivers/media/rc/gpio-ir-recv.c           | 21 ---------------------
 drivers/media/rc/rc-ir-raw.c              | 19 ++++++++++++++++++-
 3 files changed, 21 insertions(+), 22 deletions(-)
drivers/media/pci/saa7134/saa7134-input.c +3 -0
index 81e27ddcf6df..4b58c129be92 100644
@@ -873,6 +873,9 @@ int saa7134_input_init1(struct saa7134_dev *dev)
 	rc->dev.parent = &dev->pci->dev;
 	rc->map_name = ir_codes;
 	rc->driver_name = MODULE_NAME;
+	rc->min_timeout = 1;
+	rc->timeout = IR_DEFAULT_TIMEOUT;
+	rc->max_timeout = 10 * IR_DEFAULT_TIMEOUT;
 
 	err = rc_register_device(rc);
 	if (err)
drivers/media/rc/gpio-ir-recv.c +0 -21
index 561c27a4be64..512e31593a77 100644
@@ -30,7 +30,6 @@ struct gpio_rc_dev {
 	struct rc_dev *rcdev;
 	int gpio_nr;
 	bool active_low;
-	struct timer_list flush_timer;
 };
 
 #ifdef CONFIG_OF
@@ -94,26 +93,10 @@ static irqreturn_t gpio_ir_recv_irq(int irq, void *dev_id)
 	if (rc < 0)
 		goto err_get_value;
 
-	mod_timer(&gpio_dev->flush_timer,
-		  jiffies + nsecs_to_jiffies(gpio_dev->rcdev->timeout));
-
-	ir_raw_event_handle(gpio_dev->rcdev);
-
 err_get_value:
 	return IRQ_HANDLED;
 }
 
-static void flush_timer(unsigned long arg)
-{
-	struct gpio_rc_dev *gpio_dev = (struct gpio_rc_dev *)arg;
-	DEFINE_IR_RAW_EVENT(ev);
-
-	ev.timeout = true;
-	ev.duration = gpio_dev->rcdev->timeout;
-	ir_raw_event_store(gpio_dev->rcdev, &ev);
-	ir_raw_event_handle(gpio_dev->rcdev);
-}
-
 static int gpio_ir_recv_probe(struct platform_device *pdev)
 {
 	struct gpio_rc_dev *gpio_dev;
@@ -171,9 +154,6 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
 	gpio_dev->gpio_nr = pdata->gpio_nr;
 	gpio_dev->active_low = pdata->active_low;
 
-	setup_timer(&gpio_dev->flush_timer, flush_timer,
-		    (unsigned long)gpio_dev);
-
 	rc = gpio_request(pdata->gpio_nr, "gpio-ir-recv");
 	if (rc < 0)
 		goto err_gpio_request;
@@ -216,7 +196,6 @@ static int gpio_ir_recv_remove(struct platform_device *pdev)
 	struct gpio_rc_dev *gpio_dev = platform_get_drvdata(pdev);
 
 	free_irq(gpio_to_irq(gpio_dev->gpio_nr), gpio_dev);
-	del_timer_sync(&gpio_dev->flush_timer);
 	rc_unregister_device(gpio_dev->rcdev);
 	gpio_free(gpio_dev->gpio_nr);
 	kfree(gpio_dev);
drivers/media/rc/rc-ir-raw.c +18 -1
index 07a694298119..ef5efd994eef 100644
@@ -134,9 +134,13 @@ int ir_raw_event_store_edge(struct rc_dev *dev, enum raw_event_type type)
 	dev->raw->last_event = now;
 	dev->raw->last_type = type;
 
-	if (!timer_pending(&dev->raw->edge_handle))
+	/* timer could be set to timeout (125ms by default) */
+	if (!timer_pending(&dev->raw->edge_handle) ||
+	    time_after(dev->raw->edge_handle.expires,
+		       jiffies + msecs_to_jiffies(15))) {
 		mod_timer(&dev->raw->edge_handle,
 			  jiffies + msecs_to_jiffies(15));
+	}
 
 	return rc;
 }
@@ -491,6 +495,19 @@ EXPORT_SYMBOL(ir_raw_encode_scancode);
 static void edge_handle(unsigned long arg)
 {
 	struct rc_dev *dev = (struct rc_dev *)arg;
+	ktime_t interval = ktime_get() - dev->raw->last_event;
+
+	if (interval >= dev->timeout) {
+		DEFINE_IR_RAW_EVENT(ev);
+
+		ev.timeout = true;
+		ev.duration = interval;
+
+		ir_raw_event_store(dev, &ev);
+	} else {
+		mod_timer(&dev->raw->edge_handle,
+			  jiffies + nsecs_to_jiffies(dev->timeout - interval));
+	}
 
 	ir_raw_event_handle(dev);
 }
Signature · 1 line
2.13.4
author maintainer
#3 lore raw

PATCH 3/6 rc: simplify ir_raw_event_store_edge()

In reply to Sean Young

Since commit 12749b198fa4 ("[media] rc: saa7134: add trailing space for timely decoding"), the workaround of inserting reset events is no longer needed.

Verified on a HVR-1150.

Fixes 3f5c4c73322e ("[media] rc: fix ghost keypresses with certain hw")
---
 drivers/media/pci/saa7134/saa7134-input.c |  2 +-
 drivers/media/rc/gpio-ir-recv.c           |  6 +-----
 drivers/media/rc/img-ir/img-ir-raw.c      |  4 ++--
 drivers/media/rc/rc-core-priv.h           |  1 -
 drivers/media/rc/rc-ir-raw.c              | 31 +++++--------------------------
 include/media/rc-core.h                   | 10 +---------
 6 files changed, 10 insertions(+), 44 deletions(-)
drivers/media/pci/saa7134/saa7134-input.c +1 -1
index 4b58c129be92..e7b386ee3ff9 100644
@@ -1055,7 +1055,7 @@ static int saa7134_raw_decode_irq(struct saa7134_dev *dev)
 	saa_clearb(SAA7134_GPIO_GPMODE3, SAA7134_GPIO_GPRESCAN);
 	saa_setb(SAA7134_GPIO_GPMODE3, SAA7134_GPIO_GPRESCAN);
 	space = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2) & ir->mask_keydown;
-	ir_raw_event_store_edge(dev->remote->dev, space ? IR_SPACE : IR_PULSE);
+	ir_raw_event_store_edge(dev->remote->dev, !space);
 
 	return 1;
 }
drivers/media/rc/gpio-ir-recv.c +1 -5
index 512e31593a77..24c7ac8f1b82 100644
@@ -76,7 +76,6 @@ static irqreturn_t gpio_ir_recv_irq(int irq, void *dev_id)
 	struct gpio_rc_dev *gpio_dev = dev_id;
 	int gval;
 	int rc = 0;
-	enum raw_event_type type = IR_SPACE;
 
 	gval = gpio_get_value(gpio_dev->gpio_nr);
 
@@ -86,10 +85,7 @@ static irqreturn_t gpio_ir_recv_irq(int irq, void *dev_id)
 	if (gpio_dev->active_low)
 		gval = !gval;
 
-	if (gval == 1)
-		type = IR_PULSE;
-
-	rc = ir_raw_event_store_edge(gpio_dev->rcdev, type);
+	rc = ir_raw_event_store_edge(gpio_dev->rcdev, gval == 1);
 	if (rc < 0)
 		goto err_get_value;
 
drivers/media/rc/img-ir/img-ir-raw.c +2 -2
index 7f23a863310c..64714efc1145 100644
@@ -40,9 +40,9 @@ static void img_ir_refresh_raw(struct img_ir_priv *priv, u32 irq_status)
 
 	/* report the edge to the IR raw decoders */
 	if (ir_status) /* low */
-		ir_raw_event_store_edge(rc_dev, IR_SPACE);
+		ir_raw_event_store_edge(rc_dev, false);
 	else /* high */
-		ir_raw_event_store_edge(rc_dev, IR_PULSE);
+		ir_raw_event_store_edge(rc_dev, true);
 	ir_raw_event_handle(rc_dev);
 }
 
drivers/media/rc/rc-core-priv.h +0 -1
index cae13efc1a88..5e5b10fbc47e 100644
@@ -41,7 +41,6 @@ struct ir_raw_event_ctrl {
 	/* fifo for the pulse/space durations */
 	DECLARE_KFIFO(kfifo, struct ir_raw_event, MAX_IR_EVENT_SIZE);
 	ktime_t				last_event;	/* when last event occurred */
-	enum raw_event_type		last_type;	/* last event type */
 	struct rc_dev			*dev;		/* pointer to the parent rc_dev */
 	/* edge driver */
 	struct timer_list edge_handle;
drivers/media/rc/rc-ir-raw.c +5 -26
index ef5efd994eef..1761be8c7028 100644
@@ -88,7 +88,7 @@ EXPORT_SYMBOL_GPL(ir_raw_event_store);
 /**
  * ir_raw_event_store_edge() - notify raw ir decoders of the start of a pulse/space
  * @dev:	the struct rc_dev device descriptor
- * @type:	the type of the event that has occurred
+ * @pulse:	true for pulse, false for space
  *
  * This routine (which may be called from an interrupt context) is used to
  * store the beginning of an ir pulse or space (or the start/end of ir
@@ -96,43 +96,22 @@ EXPORT_SYMBOL_GPL(ir_raw_event_store);
  * hardware which does not provide durations directly but only interrupts
  * (or similar events) on state change.
  */
-int ir_raw_event_store_edge(struct rc_dev *dev, enum raw_event_type type)
+int ir_raw_event_store_edge(struct rc_dev *dev, bool pulse)
 {
 	ktime_t			now;
-	s64			delta; /* ns */
 	DEFINE_IR_RAW_EVENT(ev);
 	int			rc = 0;
-	int			delay;
 
 	if (!dev->raw)
 		return -EINVAL;
 
 	now = ktime_get();
-	delta = ktime_to_ns(ktime_sub(now, dev->raw->last_event));
-	delay = MS_TO_NS(dev->input_dev->rep[REP_DELAY]);
+	ev.duration = ktime_sub(now, dev->raw->last_event);
+	ev.pulse = !pulse;
 
-	/* Check for a long duration since last event or if we're
-	 * being called for the first time, note that delta can't
-	 * possibly be negative.
-	 */
-	if (delta > delay || !dev->raw->last_type)
-		type |= IR_START_EVENT;
-	else
-		ev.duration = delta;
-
-	if (type & IR_START_EVENT)
-		ir_raw_event_reset(dev);
-	else if (dev->raw->last_type & IR_SPACE) {
-		ev.pulse = false;
-		rc = ir_raw_event_store(dev, &ev);
-	} else if (dev->raw->last_type & IR_PULSE) {
-		ev.pulse = true;
-		rc = ir_raw_event_store(dev, &ev);
-	} else
-		return 0;
+	rc = ir_raw_event_store(dev, &ev);
 
 	dev->raw->last_event = now;
-	dev->raw->last_type = type;
 
 	/* timer could be set to timeout (125ms by default) */
 	if (!timer_pending(&dev->raw->edge_handle) ||
include/media/rc-core.h +1 -9
index b6c18840d125..5be527ff851d 100644
@@ -272,14 +272,6 @@ u32 rc_g_keycode_from_table(struct rc_dev *dev, u32 scancode);
  * The Raw interface is specific to InfraRed. It may be a good idea to
  * split it later into a separate header.
  */
-
-enum raw_event_type {
-	IR_SPACE        = (1 << 0),
-	IR_PULSE        = (1 << 1),
-	IR_START_EVENT  = (1 << 2),
-	IR_STOP_EVENT   = (1 << 3),
-};
-
 struct ir_raw_event {
 	union {
 		u32             duration;
@@ -308,7 +300,7 @@ static inline void init_ir_raw_event(struct ir_raw_event *ev)
 
 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_edge(struct rc_dev *dev, bool pulse);
 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);
Signature · 1 line
2.13.4
author maintainer
#4 lore raw

PATCH 4/6 rc: ensure we do not read out of bounds

In reply to Sean Young

If rc_validate_filter() is called for CEC or XMP, then we would read beyond the end of the array.

---
 drivers/media/rc/rc-main.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/media/rc/rc-main.c +4 -1
index f306e67b8b66..7aaf28bcb01e 100644
@@ -733,7 +733,7 @@ EXPORT_SYMBOL_GPL(rc_keydown_notimeout);
 static int rc_validate_filter(struct rc_dev *dev,
 			      struct rc_scancode_filter *filter)
 {
-	static u32 masks[] = {
+	static const u32 masks[] = {
 		[RC_TYPE_RC5] = 0x1f7f,
 		[RC_TYPE_RC5X_20] = 0x1f7f3f,
 		[RC_TYPE_RC5_SZ] = 0x2fff,
@@ -757,6 +757,9 @@ static int rc_validate_filter(struct rc_dev *dev,
 	u32 s = filter->data;
 	enum rc_type protocol = dev->wakeup_protocol;
 
+	if (protocol >= ARRAY_SIZE(masks))
+		return -EINVAL;
+
 	switch (protocol) {
 	case RC_TYPE_NECX:
 		if ((((s >> 16) ^ ~(s >> 8)) & 0xff) == 0)
Signature · 1 line
2.13.4
author maintainer
#5 lore raw

PATCH 5/6 rc: rename RC_TYPE_* to RC_PROTO_* and RC_BIT_* to RC_PROTO_BIT_*

In reply to Sean Young

RC_TYPE is confusing and it's just the protocol. So rename it.

---
 drivers/hid/hid-picolcd_cir.c                      |   2 +-
 drivers/media/cec/cec-adap.c                       |   6 +-
 drivers/media/cec/cec-core.c                       |   2 +-
 drivers/media/common/siano/smsir.c                 |   2 +-
 drivers/media/i2c/ir-kbd-i2c.c                     |  57 +++---
 drivers/media/pci/bt8xx/bttv-input.c               |  16 +-
 drivers/media/pci/cx18/cx18-i2c.c                  |   4 +-
 drivers/media/pci/cx23885/cx23885-input.c          |  14 +-
 drivers/media/pci/cx88/cx88-input.c                |  28 +--
 drivers/media/pci/dm1105/dm1105.c                  |   2 +-
 drivers/media/pci/ivtv/ivtv-i2c.c                  |  14 +-
 drivers/media/pci/mantis/mantis_input.c            |   2 +-
 drivers/media/pci/saa7134/saa7134-input.c          |  44 +++--
 drivers/media/pci/smipcie/smipcie-ir.c             |   2 +-
 drivers/media/pci/ttpci/budget-ci.c                |   5 +-
 drivers/media/rc/ati_remote.c                      |   5 +-
 drivers/media/rc/ene_ir.c                          |   2 +-
 drivers/media/rc/fintek-cir.c                      |   2 +-
 drivers/media/rc/gpio-ir-recv.c                    |   2 +-
 drivers/media/rc/igorplugusb.c                     |   9 +-
 drivers/media/rc/iguanair.c                        |   2 +-
 drivers/media/rc/img-ir/img-ir-hw.c                |   4 +-
 drivers/media/rc/img-ir/img-ir-hw.h                |   4 +-
 drivers/media/rc/img-ir/img-ir-jvc.c               |   4 +-
 drivers/media/rc/img-ir/img-ir-nec.c               |  20 +-
 drivers/media/rc/img-ir/img-ir-rc5.c               |   4 +-
 drivers/media/rc/img-ir/img-ir-rc6.c               |   4 +-
 drivers/media/rc/img-ir/img-ir-sanyo.c             |   4 +-
 drivers/media/rc/img-ir/img-ir-sharp.c             |   4 +-
 drivers/media/rc/img-ir/img-ir-sony.c              |  27 +--
 drivers/media/rc/imon.c                            |  49 ++---
 drivers/media/rc/ir-hix5hd2.c                      |   2 +-
 drivers/media/rc/ir-jvc-decoder.c                  |   6 +-
 drivers/media/rc/ir-mce_kbd-decoder.c              |   6 +-
 drivers/media/rc/ir-nec-decoder.c                  |  17 +-
 drivers/media/rc/ir-rc5-decoder.c                  |  25 +--
 drivers/media/rc/ir-rc6-decoder.c                  |  30 +--
 drivers/media/rc/ir-sanyo-decoder.c                |   6 +-
 drivers/media/rc/ir-sharp-decoder.c                |   6 +-
 drivers/media/rc/ir-sony-decoder.c                 |  23 +--
 drivers/media/rc/ir-xmp-decoder.c                  |   4 +-
 drivers/media/rc/ite-cir.c                         |   2 +-
 drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c    |   8 +-
 drivers/media/rc/keymaps/rc-alink-dtu-m.c          |   8 +-
 drivers/media/rc/keymaps/rc-anysee.c               |   8 +-
 drivers/media/rc/keymaps/rc-apac-viewcomp.c        |   8 +-
 drivers/media/rc/keymaps/rc-asus-pc39.c            |   8 +-
 drivers/media/rc/keymaps/rc-asus-ps3-100.c         |   8 +-
 drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c |   8 +-
 drivers/media/rc/keymaps/rc-ati-x10.c              |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-a16d.c       |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-cardbus.c    |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-dvbt.c       |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-m135a.c      |   8 +-
 .../media/rc/keymaps/rc-avermedia-m733a-rm-k6.c    |   8 +-
 drivers/media/rc/keymaps/rc-avermedia-rm-ks.c      |   8 +-
 drivers/media/rc/keymaps/rc-avermedia.c            |   8 +-
 drivers/media/rc/keymaps/rc-avertv-303.c           |   8 +-
 drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c   |   8 +-
 drivers/media/rc/keymaps/rc-behold-columbus.c      |   8 +-
 drivers/media/rc/keymaps/rc-behold.c               |   8 +-
 drivers/media/rc/keymaps/rc-budget-ci-old.c        |   8 +-
 drivers/media/rc/keymaps/rc-cec.c                  |   2 +-
 drivers/media/rc/keymaps/rc-cinergy-1400.c         |   8 +-
 drivers/media/rc/keymaps/rc-cinergy.c              |   8 +-
 drivers/media/rc/keymaps/rc-d680-dmb.c             |   8 +-
 drivers/media/rc/keymaps/rc-delock-61959.c         |   8 +-
 drivers/media/rc/keymaps/rc-dib0700-nec.c          |   8 +-
 drivers/media/rc/keymaps/rc-dib0700-rc5.c          |   8 +-
 drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c  |   8 +-
 drivers/media/rc/keymaps/rc-digittrade.c           |   8 +-
 drivers/media/rc/keymaps/rc-dm1105-nec.c           |   8 +-
 drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c      |   8 +-
 drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c   |   8 +-
 drivers/media/rc/keymaps/rc-dtt200u.c              |   8 +-
 drivers/media/rc/keymaps/rc-dvbsky.c               |   8 +-
 drivers/media/rc/keymaps/rc-dvico-mce.c            |   8 +-
 drivers/media/rc/keymaps/rc-dvico-portable.c       |   8 +-
 drivers/media/rc/keymaps/rc-em-terratec.c          |   8 +-
 drivers/media/rc/keymaps/rc-encore-enltv-fm53.c    |   8 +-
 drivers/media/rc/keymaps/rc-encore-enltv.c         |   8 +-
 drivers/media/rc/keymaps/rc-encore-enltv2.c        |   8 +-
 drivers/media/rc/keymaps/rc-evga-indtube.c         |   8 +-
 drivers/media/rc/keymaps/rc-eztv.c                 |   8 +-
 drivers/media/rc/keymaps/rc-flydvb.c               |   8 +-
 drivers/media/rc/keymaps/rc-flyvideo.c             |   8 +-
 drivers/media/rc/keymaps/rc-fusionhdtv-mce.c       |   8 +-
 drivers/media/rc/keymaps/rc-gadmei-rm008z.c        |   8 +-
 drivers/media/rc/keymaps/rc-geekbox.c              |   8 +-
 drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c   |   8 +-
 drivers/media/rc/keymaps/rc-gotview7135.c          |   8 +-
 drivers/media/rc/keymaps/rc-hauppauge.c            |   8 +-
 drivers/media/rc/keymaps/rc-imon-mce.c             |   8 +-
 drivers/media/rc/keymaps/rc-imon-pad.c             |   8 +-
 drivers/media/rc/keymaps/rc-iodata-bctv7e.c        |   8 +-
 drivers/media/rc/keymaps/rc-it913x-v1.c            |   8 +-
 drivers/media/rc/keymaps/rc-it913x-v2.c            |   8 +-
 drivers/media/rc/keymaps/rc-kaiomy.c               |   8 +-
 drivers/media/rc/keymaps/rc-kworld-315u.c          |   8 +-
 drivers/media/rc/keymaps/rc-kworld-pc150u.c        |   8 +-
 .../media/rc/keymaps/rc-kworld-plus-tv-analog.c    |   8 +-
 drivers/media/rc/keymaps/rc-leadtek-y04g0051.c     |   8 +-
 drivers/media/rc/keymaps/rc-lme2510.c              |   8 +-
 drivers/media/rc/keymaps/rc-manli.c                |   8 +-
 .../media/rc/keymaps/rc-medion-x10-digitainer.c    |   8 +-
 drivers/media/rc/keymaps/rc-medion-x10-or2x.c      |   8 +-
 drivers/media/rc/keymaps/rc-medion-x10.c           |   8 +-
 drivers/media/rc/keymaps/rc-msi-digivox-ii.c       |   8 +-
 drivers/media/rc/keymaps/rc-msi-digivox-iii.c      |   8 +-
 drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c  |   8 +-
 drivers/media/rc/keymaps/rc-msi-tvanywhere.c       |   8 +-
 drivers/media/rc/keymaps/rc-nebula.c               |   8 +-
 .../media/rc/keymaps/rc-nec-terratec-cinergy-xs.c  |   8 +-
 drivers/media/rc/keymaps/rc-norwood.c              |   8 +-
 drivers/media/rc/keymaps/rc-npgtech.c              |   8 +-
 drivers/media/rc/keymaps/rc-pctv-sedna.c           |   8 +-
 drivers/media/rc/keymaps/rc-pinnacle-color.c       |   8 +-
 drivers/media/rc/keymaps/rc-pinnacle-grey.c        |   8 +-
 drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c     |   8 +-
 drivers/media/rc/keymaps/rc-pixelview-002t.c       |   8 +-
 drivers/media/rc/keymaps/rc-pixelview-mk12.c       |   8 +-
 drivers/media/rc/keymaps/rc-pixelview-new.c        |   8 +-
 drivers/media/rc/keymaps/rc-pixelview.c            |   8 +-
 .../media/rc/keymaps/rc-powercolor-real-angel.c    |   8 +-
 drivers/media/rc/keymaps/rc-proteus-2309.c         |   8 +-
 drivers/media/rc/keymaps/rc-purpletv.c             |   8 +-
 drivers/media/rc/keymaps/rc-pv951.c                |   8 +-
 drivers/media/rc/keymaps/rc-rc6-mce.c              |   8 +-
 .../media/rc/keymaps/rc-real-audio-220-32-keys.c   |   8 +-
 drivers/media/rc/keymaps/rc-reddo.c                |   8 +-
 drivers/media/rc/keymaps/rc-snapstream-firefly.c   |   8 +-
 drivers/media/rc/keymaps/rc-streamzap.c            |   8 +-
 drivers/media/rc/keymaps/rc-su3000.c               |   8 +-
 drivers/media/rc/keymaps/rc-tbs-nec.c              |   8 +-
 drivers/media/rc/keymaps/rc-technisat-ts35.c       |   8 +-
 drivers/media/rc/keymaps/rc-technisat-usb2.c       |   8 +-
 .../media/rc/keymaps/rc-terratec-cinergy-c-pci.c   |   8 +-
 .../media/rc/keymaps/rc-terratec-cinergy-s2-hd.c   |   8 +-
 drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c  |   8 +-
 drivers/media/rc/keymaps/rc-terratec-slim-2.c      |   8 +-
 drivers/media/rc/keymaps/rc-terratec-slim.c        |   8 +-
 drivers/media/rc/keymaps/rc-tevii-nec.c            |   8 +-
 drivers/media/rc/keymaps/rc-tivo.c                 |   8 +-
 .../media/rc/keymaps/rc-total-media-in-hand-02.c   |   8 +-
 drivers/media/rc/keymaps/rc-total-media-in-hand.c  |   8 +-
 drivers/media/rc/keymaps/rc-trekstor.c             |   8 +-
 drivers/media/rc/keymaps/rc-tt-1500.c              |   8 +-
 drivers/media/rc/keymaps/rc-twinhan-dtv-cab-ci.c   |   8 +-
 drivers/media/rc/keymaps/rc-twinhan1027.c          |   8 +-
 drivers/media/rc/keymaps/rc-videomate-m1f.c        |   8 +-
 drivers/media/rc/keymaps/rc-videomate-s350.c       |   8 +-
 drivers/media/rc/keymaps/rc-videomate-tv-pvr.c     |   8 +-
 drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c |   8 +-
 drivers/media/rc/keymaps/rc-winfast.c              |   8 +-
 drivers/media/rc/keymaps/rc-zx-irdec.c             |   2 +-
 drivers/media/rc/mceusb.c                          |   2 +-
 drivers/media/rc/meson-ir.c                        |   2 +-
 drivers/media/rc/mtk-cir.c                         |   2 +-
 drivers/media/rc/nuvoton-cir.c                     |   4 +-
 drivers/media/rc/rc-core-priv.h                    |   2 +-
 drivers/media/rc/rc-ir-raw.c                       |   4 +-
 drivers/media/rc/rc-loopback.c                     |   4 +-
 drivers/media/rc/rc-main.c                         | 190 +++++++++---------
 drivers/media/rc/redrat3.c                         |   2 +-
 drivers/media/rc/serial_ir.c                       |   2 +-
 drivers/media/rc/sir_ir.c                          |   2 +-
 drivers/media/rc/st_rc.c                           |   2 +-
 drivers/media/rc/streamzap.c                       |   2 +-
 drivers/media/rc/sunxi-cir.c                       |   2 +-
 drivers/media/rc/ttusbir.c                         |   2 +-
 drivers/media/rc/winbond-cir.c                     |  33 ++--
 drivers/media/rc/zx-irdec.c                        |   9 +-
 drivers/media/usb/au0828/au0828-input.c            |   4 +-
 drivers/media/usb/cx231xx/cx231xx-input.c          |   6 +-
 drivers/media/usb/dvb-usb-v2/af9015.c              |  11 +-
 drivers/media/usb/dvb-usb-v2/af9035.c              |  14 +-
 drivers/media/usb/dvb-usb-v2/anysee.c              |   4 +-
 drivers/media/usb/dvb-usb-v2/az6007.c              |  11 +-
 drivers/media/usb/dvb-usb-v2/dvb_usb.h             |   2 +-
 drivers/media/usb/dvb-usb-v2/dvbsky.c              |   4 +-
 drivers/media/usb/dvb-usb-v2/lmedm04.c             |   6 +-
 drivers/media/usb/dvb-usb-v2/rtl28xxu.c            |  13 +-
 drivers/media/usb/dvb-usb/cxusb.c                  |  30 +--
 drivers/media/usb/dvb-usb/dib0700.h                |   2 +-
 drivers/media/usb/dvb-usb/dib0700_core.c           |  28 +--
 drivers/media/usb/dvb-usb/dib0700_devices.c        | 152 +++++++--------
 drivers/media/usb/dvb-usb/dtt200u.c                |  12 +-
 drivers/media/usb/dvb-usb/dvb-usb.h                |   2 +-
 drivers/media/usb/dvb-usb/dw2102.c                 |  21 +-
 drivers/media/usb/dvb-usb/m920x.c                  |   4 +-
 drivers/media/usb/dvb-usb/pctv452e.c               |   6 +-
 drivers/media/usb/dvb-usb/technisat-usb2.c         |   2 +-
 drivers/media/usb/dvb-usb/ttusb2.c                 |   4 +-
 drivers/media/usb/em28xx/em28xx-input.c            | 124 ++++++------
 drivers/media/usb/hdpvr/hdpvr-i2c.c                |   3 +-
 drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c       |  10 +-
 drivers/media/usb/tm6000/tm6000-input.c            |  38 ++--
 include/media/i2c/ir-kbd-i2c.h                     |   8 +-
 include/media/rc-core.h                            |  33 ++--
 include/media/rc-map.h                             | 215 +++++++++++----------
 200 files changed, 1223 insertions(+), 1177 deletions(-)
drivers/hid/hid-picolcd_cir.c +1 -1
index b3b2233f3c65..32747b7f917e 100644
@@ -113,7 +113,7 @@ int picolcd_init_cir(struct picolcd_data *data, struct hid_report *report)
 		return -ENOMEM;
 
 	rdev->priv             = data;
-	rdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+	rdev->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
 	rdev->open             = picolcd_cir_open;
 	rdev->close            = picolcd_cir_close;
 	rdev->device_name      = data->hdev->name;
drivers/media/cec/cec-adap.c +3 -3
index 1a021828c8d4..9ab7fd37f6ec 100644
@@ -1854,10 +1854,10 @@ static int cec_receive_notify(struct cec_adapter *adap, struct cec_msg *msg,
 		 */
 		case 0x60:
 			if (msg->len == 2)
-				rc_keydown(adap->rc, RC_TYPE_CEC,
+				rc_keydown(adap->rc, RC_PROTO_CEC,
 					   msg->msg[2], 0);
 			else
-				rc_keydown(adap->rc, RC_TYPE_CEC,
+				rc_keydown(adap->rc, RC_PROTO_CEC,
 					   msg->msg[2] << 8 | msg->msg[3], 0);
 			break;
 		/*
@@ -1873,7 +1873,7 @@ static int cec_receive_notify(struct cec_adapter *adap, struct cec_msg *msg,
 		case 0x67: case 0x68: case 0x69: case 0x6a:
 			break;
 		default:
-			rc_keydown(adap->rc, RC_TYPE_CEC, msg->msg[2], 0);
+			rc_keydown(adap->rc, RC_PROTO_CEC, msg->msg[2], 0);
 			break;
 		}
 #endif
drivers/media/cec/cec-core.c +1 -1
index efb7bbbc941f..3b69c64c948c 100644
@@ -275,7 +275,7 @@ struct cec_adapter *cec_allocate_adapter(const struct cec_adap_ops *ops,
 	adap->rc->input_id.product = 0;
 	adap->rc->input_id.version = 1;
 	adap->rc->driver_name = CEC_NAME;
-	adap->rc->allowed_protocols = RC_BIT_CEC;
+	adap->rc->allowed_protocols = RC_PROTO_BIT_CEC;
 	adap->rc->priv = adap;
 	adap->rc->map_name = RC_MAP_CEC;
 	adap->rc->timeout = MS_TO_NS(100);
drivers/media/common/siano/smsir.c +1 -1
index 941c342896cc..e77bb0c95e69 100644
@@ -86,7 +86,7 @@ int sms_ir_init(struct smscore_device_t *coredev)
 #endif
 
 	dev->priv = coredev;
-	dev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+	dev->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
 	dev->map_name = sms_get_board(board_id)->rc_codes;
 	dev->driver_name = MODULE_NAME;
 
drivers/media/i2c/ir-kbd-i2c.c +29 -28

204 lines not on this page · raw message

drivers/media/pci/bt8xx/bttv-input.c +9 -7
index bb8eda51ee27..73d655d073d6 100644
@@ -69,12 +69,13 @@ static void ir_handle_key(struct bttv *btv)
 
 	if ((ir->mask_keydown && (gpio & ir->mask_keydown)) ||
 	    (ir->mask_keyup   && !(gpio & ir->mask_keyup))) {
-		rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+		rc_keydown_notimeout(ir->dev, RC_PROTO_UNKNOWN, data, 0);
 	} else {
 		/* HACK: Probably, ir->mask_keydown is missing
 		   for this board */
 		if (btv->c.type == BTTV_BOARD_WINFAST2000)
-			rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+			rc_keydown_notimeout(ir->dev, RC_PROTO_UNKNOWN, data,
+					     0);
 
 		rc_keyup(ir->dev);
 	}
@@ -99,7 +100,7 @@ static void ir_enltv_handle_key(struct bttv *btv)
 			gpio, data,
 			(gpio & ir->mask_keyup) ? " up" : "up/down");
 
-		rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+		rc_keydown_notimeout(ir->dev, RC_PROTO_UNKNOWN, data, 0);
 		if (keyup)
 			rc_keyup(ir->dev);
 	} else {
@@ -113,7 +114,8 @@ static void ir_enltv_handle_key(struct bttv *btv)
 		if (keyup)
 			rc_keyup(ir->dev);
 		else
-			rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+			rc_keydown_notimeout(ir->dev, RC_PROTO_UNKNOWN, data,
+					     0);
 	}
 
 	ir->last_gpio = data | keyup;
@@ -235,7 +237,7 @@ static void bttv_rc5_timer_end(unsigned long data)
 	}
 
 	scancode = RC_SCANCODE_RC5(system, command);
-	rc_keydown(ir->dev, RC_TYPE_RC5, scancode, toggle);
+	rc_keydown(ir->dev, RC_PROTO_RC5, scancode, toggle);
 	dprintk("scancode %x, toggle %x\n", scancode, toggle);
 }
 
@@ -327,7 +329,7 @@ static void bttv_ir_stop(struct bttv *btv)
  * Get_key functions used by I2C remotes
  */
 
-static int get_key_pv951(struct IR_i2c *ir, enum rc_type *protocol,
+static int get_key_pv951(struct IR_i2c *ir, enum rc_proto *protocol,
 			 u32 *scancode, u8 *toggle)
 {
 	unsigned char b;
@@ -355,7 +357,7 @@ static int get_key_pv951(struct IR_i2c *ir, enum rc_type *protocol,
 	 * 	   the device is bound to the vendor-provided RC.
 	 */
 
-	*protocol = RC_TYPE_UNKNOWN;
+	*protocol = RC_PROTO_UNKNOWN;
 	*scancode = b;
 	*toggle = 0;
 	return 1;
drivers/media/pci/cx18/cx18-i2c.c +2 -2
index eabdd4c5520a..b89fbcbfb491 100644
@@ -93,8 +93,8 @@ static int cx18_i2c_new_ir(struct cx18 *cx, struct i2c_adapter *adap, u32 hw,
 	case CX18_HW_Z8F0811_IR_RX_HAUP:
 		init_data->ir_codes = RC_MAP_HAUPPAUGE;
 		init_data->internal_get_key_func = IR_KBD_GET_KEY_HAUP_XVR;
-		init_data->type = RC_BIT_RC5 | RC_BIT_RC6_MCE |
-							RC_BIT_RC6_6A_32;
+		init_data->type = RC_PROTO_BIT_RC5 | RC_PROTO_BIT_RC6_MCE |
+							RC_PROTO_BIT_RC6_6A_32;
 		init_data->name = cx->card_name;
 		info.platform_data = init_data;
 		break;
drivers/media/pci/cx23885/cx23885-input.c +7 -7
index c9b8e3f4d9fb..944b70831f12 100644
@@ -284,32 +284,32 @@ int cx23885_input_init(struct cx23885_dev *dev)
 	case CX23885_BOARD_HAUPPAUGE_HVR1290:
 	case CX23885_BOARD_HAUPPAUGE_HVR1250:
 		/* Integrated CX2388[58] IR controller */
-		allowed_protos = RC_BIT_ALL_IR_DECODER;
+		allowed_protos = RC_PROTO_BIT_ALL_IR_DECODER;
 		/* The grey Hauppauge RC-5 remote */
 		rc_map = RC_MAP_HAUPPAUGE;
 		break;
 	case CX23885_BOARD_TERRATEC_CINERGY_T_PCIE_DUAL:
 		/* Integrated CX23885 IR controller */
-		allowed_protos = RC_BIT_ALL_IR_DECODER;
+		allowed_protos = RC_PROTO_BIT_ALL_IR_DECODER;
 		/* The grey Terratec remote with orange buttons */
 		rc_map = RC_MAP_NEC_TERRATEC_CINERGY_XS;
 		break;
 	case CX23885_BOARD_TEVII_S470:
 		/* Integrated CX23885 IR controller */
-		allowed_protos = RC_BIT_ALL_IR_DECODER;
+		allowed_protos = RC_PROTO_BIT_ALL_IR_DECODER;
 		/* A guess at the remote */
 		rc_map = RC_MAP_TEVII_NEC;
 		break;
 	case CX23885_BOARD_MYGICA_X8507:
 		/* Integrated CX23885 IR controller */
-		allowed_protos = RC_BIT_ALL_IR_DECODER;
+		allowed_protos = RC_PROTO_BIT_ALL_IR_DECODER;
 		/* A guess at the remote */
 		rc_map = RC_MAP_TOTAL_MEDIA_IN_HAND_02;
 		break;
 	case CX23885_BOARD_TBS_6980:
 	case CX23885_BOARD_TBS_6981:
 		/* Integrated CX23885 IR controller */
-		allowed_protos = RC_BIT_ALL_IR_DECODER;
+		allowed_protos = RC_PROTO_BIT_ALL_IR_DECODER;
 		/* A guess at the remote */
 		rc_map = RC_MAP_TBS_NEC;
 		break;
@@ -320,12 +320,12 @@ int cx23885_input_init(struct cx23885_dev *dev)
 	case CX23885_BOARD_DVBSKY_S952:
 	case CX23885_BOARD_DVBSKY_T982:
 		/* Integrated CX23885 IR controller */
-		allowed_protos = RC_BIT_ALL_IR_DECODER;
+		allowed_protos = RC_PROTO_BIT_ALL_IR_DECODER;
 		rc_map = RC_MAP_DVBSKY;
 		break;
 	case CX23885_BOARD_TT_CT2_4500_CI:
 		/* Integrated CX23885 IR controller */
-		allowed_protos = RC_BIT_ALL_IR_DECODER;
+		allowed_protos = RC_PROTO_BIT_ALL_IR_DECODER;
 		rc_map = RC_MAP_TT_1500;
 		break;
 	default:
drivers/media/pci/cx88/cx88-input.c +15 -13
index a5dbee776455..e02449bf2041 100644
@@ -132,7 +132,7 @@ static void cx88_ir_handle_key(struct cx88_IR *ir)
 
 		data = (data << 4) | ((gpio_key & 0xf0) >> 4);
 
-		rc_keydown(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+		rc_keydown(ir->dev, RC_PROTO_UNKNOWN, data, 0);
 
 	} else if (ir->core->boardnr == CX88_BOARD_PROLINK_PLAYTVPVR ||
 		   ir->core->boardnr == CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO) {
@@ -146,7 +146,7 @@ static void cx88_ir_handle_key(struct cx88_IR *ir)
 		scancode = RC_SCANCODE_NECX(addr, cmd);
 
 		if (0 == (gpio & ir->mask_keyup))
-			rc_keydown_notimeout(ir->dev, RC_TYPE_NECX, scancode,
+			rc_keydown_notimeout(ir->dev, RC_PROTO_NECX, scancode,
 					     0);
 		else
 			rc_keyup(ir->dev);
@@ -154,20 +154,22 @@ static void cx88_ir_handle_key(struct cx88_IR *ir)
 	} else if (ir->mask_keydown) {
 		/* bit set on keydown */
 		if (gpio & ir->mask_keydown)
-			rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+			rc_keydown_notimeout(ir->dev, RC_PROTO_UNKNOWN, data,
+					     0);
 		else
 			rc_keyup(ir->dev);
 
 	} else if (ir->mask_keyup) {
 		/* bit cleared on keydown */
 		if (0 == (gpio & ir->mask_keyup))
-			rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+			rc_keydown_notimeout(ir->dev, RC_PROTO_UNKNOWN, data,
+					     0);
 		else
 			rc_keyup(ir->dev);
 
 	} else {
 		/* can't distinguish keydown/up :-/ */
-		rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+		rc_keydown_notimeout(ir->dev, RC_PROTO_UNKNOWN, data, 0);
 		rc_keyup(ir->dev);
 	}
 }
@@ -267,7 +269,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
 	struct cx88_IR *ir;
 	struct rc_dev *dev;
 	char *ir_codes = NULL;
-	u64 rc_type = RC_BIT_OTHER;
+	u64 rc_proto = RC_PROTO_BIT_OTHER;
 	int err = -ENOMEM;
 	u32 hardware_mask = 0;	/* For devices with a hardware mask, when
 				 * used with a full-code IR table
@@ -348,7 +350,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
 		 * 002-T mini RC, provided with newer PV hardware
 		 */
 		ir_codes = RC_MAP_PIXELVIEW_MK12;
-		rc_type = RC_BIT_NECX;
+		rc_proto = RC_PROTO_BIT_NECX;
 		ir->gpio_addr = MO_GP1_IO;
 		ir->mask_keyup = 0x80;
 		ir->polling = 10; /* ms */
@@ -487,7 +489,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
 		dev->timeout = 10 * 1000 * 1000; /* 10 ms */
 	} else {
 		dev->driver_type = RC_DRIVER_SCANCODE;
-		dev->allowed_protocols = rc_type;
+		dev->allowed_protocols = rc_proto;
 	}
 
 	ir->core = core;
@@ -557,7 +559,7 @@ void cx88_ir_irq(struct cx88_core *core)
 	ir_raw_event_handle(ir->dev);
 }
 
-static int get_key_pvr2000(struct IR_i2c *ir, enum rc_type *protocol,
+static int get_key_pvr2000(struct IR_i2c *ir, enum rc_proto *protocol,
 			   u32 *scancode, u8 *toggle)
 {
 	int flags, code;
@@ -582,7 +584,7 @@ static int get_key_pvr2000(struct IR_i2c *ir, enum rc_type *protocol,
 	dprintk("IR Key/Flags: (0x%02x/0x%02x)\n",
 		code & 0xff, flags & 0xff);
 
-	*protocol = RC_TYPE_UNKNOWN;
+	*protocol = RC_PROTO_UNKNOWN;
 	*scancode = code & 0xff;
 	*toggle = 0;
 	return 1;
@@ -612,7 +614,7 @@ void cx88_i2c_init_ir(struct cx88_core *core)
 	case CX88_BOARD_LEADTEK_PVR2000:
 		addr_list = pvr2000_addr_list;
 		core->init_data.name = "cx88 Leadtek PVR 2000 remote";
-		core->init_data.type = RC_BIT_UNKNOWN;
+		core->init_data.type = RC_PROTO_BIT_UNKNOWN;
 		core->init_data.get_key = get_key_pvr2000;
 		core->init_data.ir_codes = RC_MAP_EMPTY;
 		break;
@@ -633,8 +635,8 @@ void cx88_i2c_init_ir(struct cx88_core *core)
 			/* Hauppauge XVR */
 			core->init_data.name = "cx88 Hauppauge XVR remote";
 			core->init_data.ir_codes = RC_MAP_HAUPPAUGE;
-			core->init_data.type = RC_BIT_RC5 | RC_BIT_RC6_MCE |
-							RC_BIT_RC6_6A_32;
+			core->init_data.type = RC_PROTO_BIT_RC5 |
+				RC_PROTO_BIT_RC6_MCE | RC_PROTO_BIT_RC6_6A_32;
 			core->init_data.internal_get_key_func = IR_KBD_GET_KEY_HAUP_XVR;
 
 			info.platform_data = &core->init_data;
drivers/media/pci/dm1105/dm1105.c +1 -1
index 996d0a1a770c..5604aed6cad5 100644
@@ -675,7 +675,7 @@ static void dm1105_emit_key(struct work_struct *work)
 	data = (ircom >> 8) & 0x7f;
 
 	/* FIXME: UNKNOWN because we don't generate a full NEC scancode (yet?) */
-	rc_keydown(ir->dev, RC_TYPE_UNKNOWN, data, 0);
+	rc_keydown(ir->dev, RC_PROTO_UNKNOWN, data, 0);
 }
 
 /* work handler */
drivers/media/pci/ivtv/ivtv-i2c.c +7 -7
index dea80efd5836..69b4fa6f0362 100644
@@ -148,7 +148,7 @@ static const char * const hw_devicenames[] = {
 	"ir_video",		/* IVTV_HW_I2C_IR_RX_ADAPTEC */
 };
 
-static int get_key_adaptec(struct IR_i2c *ir, enum rc_type *protocol,
+static int get_key_adaptec(struct IR_i2c *ir, enum rc_proto *protocol,
 			   u32 *scancode, u8 *toggle)
 {
 	unsigned char keybuf[4];
@@ -168,7 +168,7 @@ static int get_key_adaptec(struct IR_i2c *ir, enum rc_type *protocol,
 	keybuf[2] &= 0x7f;
 	keybuf[3] |= 0x80;
 
-	*protocol = RC_TYPE_UNKNOWN;
+	*protocol = RC_PROTO_UNKNOWN;
 	*scancode = keybuf[3] | keybuf[2] << 8 | keybuf[1] << 16 |keybuf[0] << 24;
 	*toggle = 0;
 	return 1;
@@ -201,22 +201,22 @@ static int ivtv_i2c_new_ir(struct ivtv *itv, u32 hw, const char *type, u8 addr)
 		init_data->ir_codes = RC_MAP_AVERMEDIA_CARDBUS;
 		init_data->internal_get_key_func =
 					IR_KBD_GET_KEY_AVERMEDIA_CARDBUS;
-		init_data->type = RC_BIT_OTHER;
+		init_data->type = RC_PROTO_BIT_OTHER;
 		init_data->name = "AVerMedia AVerTV card";
 		break;
 	case IVTV_HW_I2C_IR_RX_HAUP_EXT:
 	case IVTV_HW_I2C_IR_RX_HAUP_INT:
 		init_data->ir_codes = RC_MAP_HAUPPAUGE;
 		init_data->internal_get_key_func = IR_KBD_GET_KEY_HAUP;
-		init_data->type = RC_BIT_RC5;
+		init_data->type = RC_PROTO_BIT_RC5;
 		init_data->name = itv->card_name;
 		break;
 	case IVTV_HW_Z8F0811_IR_RX_HAUP:
 		/* Default to grey remote */
 		init_data->ir_codes = RC_MAP_HAUPPAUGE;
 		init_data->internal_get_key_func = IR_KBD_GET_KEY_HAUP_XVR;
-		init_data->type = RC_BIT_RC5 | RC_BIT_RC6_MCE |
-							RC_BIT_RC6_6A_32;
+		init_data->type = RC_PROTO_BIT_RC5 | RC_PROTO_BIT_RC6_MCE |
+							RC_PROTO_BIT_RC6_6A_32;
 		init_data->name = itv->card_name;
 		break;
 	case IVTV_HW_I2C_IR_RX_ADAPTEC:
@@ -224,7 +224,7 @@ static int ivtv_i2c_new_ir(struct ivtv *itv, u32 hw, const char *type, u8 addr)
 		init_data->name = itv->card_name;
 		/* FIXME: The protocol and RC_MAP needs to be corrected */
 		init_data->ir_codes = RC_MAP_EMPTY;
-		init_data->type = RC_BIT_UNKNOWN;
+		init_data->type = RC_PROTO_BIT_UNKNOWN;
 		break;
 	}
 
drivers/media/pci/mantis/mantis_input.c +1 -1
index 001b7f827699..7519dcc934dd 100644
@@ -31,7 +31,7 @@
 void mantis_input_process(struct mantis_pci *mantis, int scancode)
 {
 	if (mantis->rc)
-		rc_keydown(mantis->rc, RC_TYPE_UNKNOWN, scancode, 0);
+		rc_keydown(mantis->rc, RC_PROTO_UNKNOWN, scancode, 0);
 }
 
 int mantis_input_init(struct mantis_pci *mantis)
drivers/media/pci/saa7134/saa7134-input.c +24 -20

161 lines not on this page · raw message

drivers/media/pci/smipcie/smipcie-ir.c +1 -1
index fc3375720a35..c5595af6b976 100644
@@ -144,7 +144,7 @@ static void smi_ir_decode(struct work_struct *work)
 			rc5_system = (dwIRCode & 0x7C0) >> 6;
 			toggle = (dwIRCode & 0x800) ? 1 : 0;
 			scancode = rc5_system << 8 | rc5_command;
-			rc_keydown(rc_dev, RC_TYPE_RC5, scancode, toggle);
+			rc_keydown(rc_dev, RC_PROTO_RC5, scancode, toggle);
 		}
 	}
 end_ir_decode:
drivers/media/pci/ttpci/budget-ci.c +3 -2
index cd4e63b99e0b..87e8924d4691 100644
@@ -158,14 +158,15 @@ static void msp430_ir_interrupt(unsigned long data)
 		return;
 
 	if (budget_ci->ir.full_rc5) {
-		rc_keydown(dev, RC_TYPE_RC5,
+		rc_keydown(dev, RC_PROTO_RC5,
 			   RC_SCANCODE_RC5(budget_ci->ir.rc5_device, budget_ci->ir.ir_key),
 			   !!(command & 0x20));
 		return;
 	}
 
 	/* FIXME: We should generate complete scancodes for all devices */
-	rc_keydown(dev, RC_TYPE_UNKNOWN, budget_ci->ir.ir_key, !!(command & 0x20));
+	rc_keydown(dev, RC_PROTO_UNKNOWN, budget_ci->ir.ir_key,
+		   !!(command & 0x20));
 }
 
 static int msp430_ir_init(struct budget_ci *budget_ci)
drivers/media/rc/ati_remote.c +3 -2
index a7f76002b30a..d0871d60a723 100644
@@ -622,7 +622,8 @@ static void ati_remote_input_report(struct urb *urb)
 				* it would cause ghost repeats which would be a
 				* regression for this driver.
 				*/
-				rc_keydown_notimeout(ati_remote->rdev, RC_TYPE_OTHER,
+				rc_keydown_notimeout(ati_remote->rdev,
+						     RC_PROTO_OTHER,
 						     scancode, data[2]);
 				rc_keyup(ati_remote->rdev);
 			}
@@ -760,7 +761,7 @@ static void ati_remote_rc_init(struct ati_remote *ati_remote)
 	struct rc_dev *rdev = ati_remote->rdev;
 
 	rdev->priv = ati_remote;
-	rdev->allowed_protocols = RC_BIT_OTHER;
+	rdev->allowed_protocols = RC_PROTO_BIT_OTHER;
 	rdev->driver_name = "ati_remote";
 
 	rdev->open = ati_remote_rc_open;
drivers/media/rc/ene_ir.c +1 -1
index 41f6b1c52407..af7ba23e16e1 100644
@@ -1053,7 +1053,7 @@ static int ene_probe(struct pnp_dev *pnp_dev, const struct pnp_device_id *id)
 	if (!dev->hw_learning_and_tx_capable)
 		learning_mode_force = false;
 
-	rdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+	rdev->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
 	rdev->priv = dev;
 	rdev->open = ene_open;
 	rdev->close = ene_close;
drivers/media/rc/fintek-cir.c +1 -1
index 57155e4c9f38..f2639d0c2fca 100644
@@ -529,7 +529,7 @@ static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id
 
 	/* Set up the rc device */
 	rdev->priv = fintek;
-	rdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+	rdev->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
 	rdev->open = fintek_open;
 	rdev->close = fintek_close;
 	rdev->device_name = FINTEK_DESCRIPTION;
drivers/media/rc/gpio-ir-recv.c +1 -1
index 24c7ac8f1b82..7248b3662285 100644
@@ -143,7 +143,7 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
 	if (pdata->allowed_protos)
 		rcdev->allowed_protocols = pdata->allowed_protos;
 	else
-		rcdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+		rcdev->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
 	rcdev->map_name = pdata->map_name ?: RC_MAP_EMPTY;
 
 	gpio_dev->rcdev = rcdev;
drivers/media/rc/igorplugusb.c +5 -4
index 5babc6371df4..a5ea86be8f44 100644
@@ -202,10 +202,11 @@ static int igorplugusb_probe(struct usb_interface *intf,
 	 * This device can only store 36 pulses + spaces, which is not enough
 	 * for the NEC protocol and many others.
 	 */
-	rc->allowed_protocols = RC_BIT_ALL_IR_DECODER & ~(RC_BIT_NEC |
-			RC_BIT_NECX | RC_BIT_NEC32 | RC_BIT_RC6_6A_20 |
-			RC_BIT_RC6_6A_24 | RC_BIT_RC6_6A_32 | RC_BIT_RC6_MCE |
-			RC_BIT_SONY20 | RC_BIT_SANYO);
+	rc->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER &
+		~(RC_PROTO_BIT_NEC | RC_PROTO_BIT_NECX | RC_PROTO_BIT_NEC32 |
+		  RC_PROTO_BIT_RC6_6A_20 | RC_PROTO_BIT_RC6_6A_24 |
+		  RC_PROTO_BIT_RC6_6A_32 | RC_PROTO_BIT_RC6_MCE |
+		  RC_PROTO_BIT_SONY20 | RC_PROTO_BIT_SANYO);
 
 	rc->priv = ir;
 	rc->driver_name = DRIVER_NAME;
drivers/media/rc/iguanair.c +1 -1
index 4357dd36d7b9..30e24da67226 100644
@@ -491,7 +491,7 @@ static int iguanair_probe(struct usb_interface *intf,
 	rc->input_phys = ir->phys;
 	usb_to_input_id(ir->udev, &rc->input_id);
 	rc->dev.parent = &intf->dev;
-	rc->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+	rc->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
 	rc->priv = ir;
 	rc->open = iguanair_open;
 	rc->close = iguanair_close;
drivers/media/rc/img-ir/img-ir-hw.c +2 -2
index dd46973e0cbf..82fdf4cc0824 100644
@@ -589,7 +589,7 @@ static void img_ir_set_decoder(struct img_ir_priv *priv,
 	/* clear the wakeup scancode filter */
 	rdev->scancode_wakeup_filter.data = 0;
 	rdev->scancode_wakeup_filter.mask = 0;
-	rdev->wakeup_protocol = RC_TYPE_UNKNOWN;
+	rdev->wakeup_protocol = RC_PROTO_UNKNOWN;
 
 	/* clear raw filters */
 	_img_ir_set_filter(priv, NULL);
@@ -823,7 +823,7 @@ static void img_ir_handle_data(struct img_ir_priv *priv, u32 len, u64 raw)
 	int ret = IMG_IR_SCANCODE;
 	struct img_ir_scancode_req request;
 
-	request.protocol = RC_TYPE_UNKNOWN;
+	request.protocol = RC_PROTO_UNKNOWN;
 	request.toggle   = 0;
 
 	if (dec->scancode)
drivers/media/rc/img-ir/img-ir-hw.h +2 -2
index 91a297731661..58b68dd6c67d 100644
@@ -135,13 +135,13 @@ struct img_ir_timing_regvals {
 /**
  * struct img_ir_scancode_req - Scancode request data.
  * @protocol:	Protocol code of received message (defaults to
- *		RC_TYPE_UNKNOWN).
+ *		RC_PROTO_UNKNOWN).
  * @scancode:	Scan code of received message (must be written by
  *		handler if IMG_IR_SCANCODE is returned).
  * @toggle:	Toggle bit (defaults to 0).
  */
 struct img_ir_scancode_req {
-	enum rc_type protocol;
+	enum rc_proto protocol;
 	u32 scancode;
 	u8 toggle;
 };
drivers/media/rc/img-ir/img-ir-jvc.c +2 -2
index d3e2fc0bcfe1..4b07c76fbe1b 100644
@@ -23,7 +23,7 @@ static int img_ir_jvc_scancode(int len, u64 raw, u64 enabled_protocols,
 	cust = (raw >> 0) & 0xff;
 	data = (raw >> 8) & 0xff;
 
-	request->protocol = RC_TYPE_JVC;
+	request->protocol = RC_PROTO_JVC;
 	request->scancode = cust << 8 | data;
 	return IMG_IR_SCANCODE;
 }
@@ -52,7 +52,7 @@ static int img_ir_jvc_filter(const struct rc_scancode_filter *in,
  *          http://support.jvc.com/consumer/support/documents/RemoteCodes.pdf
  */
 struct img_ir_decoder img_ir_jvc = {
-	.type = RC_BIT_JVC,
+	.type = RC_PROTO_BIT_JVC,
 	.control = {
 		.decoden = 1,
 		.code_type = IMG_IR_CODETYPE_PULSEDIST,
drivers/media/rc/img-ir/img-ir-nec.c +10 -10
index 044fd42b22a0..2fc0678ad2d7 100644
@@ -35,20 +35,20 @@ static int img_ir_nec_scancode(int len, u64 raw, u64 enabled_protocols,
 				bitrev8(addr_inv) << 16 |
 				bitrev8(data)     <<  8 |
 				bitrev8(data_inv);
-		request->protocol = RC_TYPE_NEC32;
+		request->protocol = RC_PROTO_NEC32;
 	} else if ((addr_inv ^ addr) != 0xff) {
 		/* Extended NEC */
 		/* scan encoding: AAaaDD */
 		request->scancode = addr     << 16 |
 				addr_inv <<  8 |
 				data;
-		request->protocol = RC_TYPE_NECX;
+		request->protocol = RC_PROTO_NECX;
 	} else {
 		/* Normal NEC */
 		/* scan encoding: AADD */
 		request->scancode = addr << 8 |
 				data;
-		request->protocol = RC_TYPE_NEC;
+		request->protocol = RC_PROTO_NEC;
 	}
 	return IMG_IR_SCANCODE;
 }
@@ -63,7 +63,7 @@ static int img_ir_nec_filter(const struct rc_scancode_filter *in,
 	data       = in->data & 0xff;
 	data_m     = in->mask & 0xff;
 
-	protocols &= RC_BIT_NEC | RC_BIT_NECX | RC_BIT_NEC32;
+	protocols &= RC_PROTO_BIT_NEC | RC_PROTO_BIT_NECX | RC_PROTO_BIT_NEC32;
 
 	/*
 	 * If only one bit is set, we were requested to do an exact
@@ -72,14 +72,14 @@ static int img_ir_nec_filter(const struct rc_scancode_filter *in,
 	 */
 	if (!is_power_of_2(protocols)) {
 		if ((in->data | in->mask) & 0xff000000)
-			protocols = RC_BIT_NEC32;
+			protocols = RC_PROTO_BIT_NEC32;
 		else if ((in->data | in->mask) & 0x00ff0000)
-			protocols = RC_BIT_NECX;
+			protocols = RC_PROTO_BIT_NECX;
 		else
-			protocols = RC_BIT_NEC;
+			protocols = RC_PROTO_BIT_NEC;
 	}
 
-	if (protocols == RC_BIT_NEC32) {
+	if (protocols == RC_PROTO_BIT_NEC32) {
 		/* 32-bit NEC (used by Apple and TiVo remotes) */
 		/* scan encoding: as transmitted, MSBit = first received bit */
 		addr       = bitrev8(in->data >> 24);
@@ -90,7 +90,7 @@ static int img_ir_nec_filter(const struct rc_scancode_filter *in,
 		data_m     = bitrev8(in->mask >>  8);
 		data_inv   = bitrev8(in->data >>  0);
 		data_inv_m = bitrev8(in->mask >>  0);
-	} else if (protocols == RC_BIT_NECX) {
+	} else if (protocols == RC_PROTO_BIT_NECX) {
 		/* Extended NEC */
 		/* scan encoding AAaaDD */
 		addr       = (in->data >> 16) & 0xff;
@@ -128,7 +128,7 @@ static int img_ir_nec_filter(const struct rc_scancode_filter *in,
  *        http://wiki.altium.com/display/ADOH/NEC+Infrared+Transmission+Protocol
  */
 struct img_ir_decoder img_ir_nec = {
-	.type = RC_BIT_NEC | RC_BIT_NECX | RC_BIT_NEC32,
+	.type = RC_PROTO_BIT_NEC | RC_PROTO_BIT_NECX | RC_PROTO_BIT_NEC32,
 	.control = {
 		.decoden = 1,
 		.code_type = IMG_IR_CODETYPE_PULSEDIST,
drivers/media/rc/img-ir/img-ir-rc5.c +2 -2
index a8a28a377eee..a1bc8705472b 100644
@@ -33,7 +33,7 @@ static int img_ir_rc5_scancode(int len, u64 raw, u64 enabled_protocols,
 	if (!start)
 		return -EINVAL;
 
-	request->protocol = RC_TYPE_RC5;
+	request->protocol = RC_PROTO_RC5;
 	request->scancode = addr << 8 | cmd;
 	request->toggle   = tgl;
 	return IMG_IR_SCANCODE;
@@ -52,7 +52,7 @@ static int img_ir_rc5_filter(const struct rc_scancode_filter *in,
  * see http://www.sbprojects.com/knowledge/ir/rc5.php
  */
 struct img_ir_decoder img_ir_rc5 = {
-	.type      = RC_BIT_RC5,
+	.type      = RC_PROTO_BIT_RC5,
 	.control   = {
 		.bitoriend2	= 1,
 		.code_type	= IMG_IR_CODETYPE_BIPHASE,
drivers/media/rc/img-ir/img-ir-rc6.c +2 -2
index de1e27534968..5f34f59ca257 100644
@@ -54,7 +54,7 @@ static int img_ir_rc6_scancode(int len, u64 raw, u64 enabled_protocols,
 	if (mode)
 		return -EINVAL;
 
-	request->protocol = RC_TYPE_RC6_0;
+	request->protocol = RC_PROTO_RC6_0;
 	request->scancode = addr << 8 | cmd;
 	request->toggle	  = trl2;
 	return IMG_IR_SCANCODE;
@@ -73,7 +73,7 @@ static int img_ir_rc6_filter(const struct rc_scancode_filter *in,
  * see http://www.sbprojects.com/knowledge/ir/rc6.php
  */
 struct img_ir_decoder img_ir_rc6 = {
-	.type		= RC_BIT_RC6_0,
+	.type		= RC_PROTO_BIT_RC6_0,
 	.control	= {
 		.bitorien	= 1,
 		.code_type	= IMG_IR_CODETYPE_BIPHASE,
drivers/media/rc/img-ir/img-ir-sanyo.c +2 -2
index f394994ffc22..55a755bb437c 100644
@@ -44,7 +44,7 @@ static int img_ir_sanyo_scancode(int len, u64 raw, u64 enabled_protocols,
 		return -EINVAL;
 
 	/* Normal Sanyo */
-	request->protocol = RC_TYPE_SANYO;
+	request->protocol = RC_PROTO_SANYO;
 	request->scancode = addr << 8 | data;
 	return IMG_IR_SCANCODE;
 }
@@ -80,7 +80,7 @@ static int img_ir_sanyo_filter(const struct rc_scancode_filter *in,
 
 /* Sanyo decoder */
 struct img_ir_decoder img_ir_sanyo = {
-	.type = RC_BIT_SANYO,
+	.type = RC_PROTO_BIT_SANYO,
 	.control = {
 		.decoden = 1,
 		.code_type = IMG_IR_CODETYPE_PULSEDIST,
drivers/media/rc/img-ir/img-ir-sharp.c +2 -2
index fe5acc4f030e..2d2530902cfa 100644
@@ -32,7 +32,7 @@ static int img_ir_sharp_scancode(int len, u64 raw, u64 enabled_protocols,
 		/* probably the second half of the message */
 		return -EINVAL;
 
-	request->protocol = RC_TYPE_SHARP;
+	request->protocol = RC_PROTO_SHARP;
 	request->scancode = addr << 8 | cmd;
 	return IMG_IR_SCANCODE;
 }
@@ -73,7 +73,7 @@ static int img_ir_sharp_filter(const struct rc_scancode_filter *in,
  * See also http://www.sbprojects.com/knowledge/ir/sharp.php
  */
 struct img_ir_decoder img_ir_sharp = {
-	.type = RC_BIT_SHARP,
+	.type = RC_PROTO_BIT_SHARP,
 	.control = {
 		.decoden = 0,
 		.decodend2 = 1,
drivers/media/rc/img-ir/img-ir-sony.c +14 -13
index 3fcba271a419..a942d0be908c 100644
@@ -19,32 +19,32 @@ static int img_ir_sony_scancode(int len, u64 raw, u64 enabled_protocols,
 
 	switch (len) {
 	case 12:
-		if (!(enabled_protocols & RC_BIT_SONY12))
+		if (!(enabled_protocols & RC_PROTO_BIT_SONY12))
 			return -EINVAL;
 		func   = raw & 0x7f;	/* first 7 bits */
 		raw    >>= 7;
 		dev    = raw & 0x1f;	/* next 5 bits */
 		subdev = 0;
-		request->protocol = RC_TYPE_SONY12;
+		request->protocol = RC_PROTO_SONY12;
 		break;
 	case 15:
-		if (!(enabled_protocols & RC_BIT_SONY15))
+		if (!(enabled_protocols & RC_PROTO_BIT_SONY15))
 			return -EINVAL;
 		func   = raw & 0x7f;	/* first 7 bits */
 		raw    >>= 7;
 		dev    = raw & 0xff;	/* next 8 bits */
 		subdev = 0;
-		request->protocol = RC_TYPE_SONY15;
+		request->protocol = RC_PROTO_SONY15;
 		break;
 	case 20:
-		if (!(enabled_protocols & RC_BIT_SONY20))
+		if (!(enabled_protocols & RC_PROTO_BIT_SONY20))
 			return -EINVAL;
 		func   = raw & 0x7f;	/* first 7 bits */
 		raw    >>= 7;
 		dev    = raw & 0x1f;	/* next 5 bits */
 		raw    >>= 5;
 		subdev = raw & 0xff;	/* next 8 bits */
-		request->protocol = RC_TYPE_SONY20;
+		request->protocol = RC_PROTO_SONY20;
 		break;
 	default:
 		return -EINVAL;
@@ -68,7 +68,8 @@ static int img_ir_sony_filter(const struct rc_scancode_filter *in,
 	func     = (in->data >> 0)  & 0x7f;
 	func_m   = (in->mask >> 0)  & 0x7f;
 
-	protocols &= RC_BIT_SONY12 | RC_BIT_SONY15 | RC_BIT_SONY20;
+	protocols &= RC_PROTO_BIT_SONY12 | RC_PROTO_BIT_SONY15 |
+							RC_PROTO_BIT_SONY20;
 
 	/*
 	 * If only one bit is set, we were requested to do an exact
@@ -77,20 +78,20 @@ static int img_ir_sony_filter(const struct rc_scancode_filter *in,
 	 */
 	if (!is_power_of_2(protocols)) {
 		if (subdev & subdev_m)
-			protocols = RC_BIT_SONY20;
+			protocols = RC_PROTO_BIT_SONY20;
 		else if (dev & dev_m & 0xe0)
-			protocols = RC_BIT_SONY15;
+			protocols = RC_PROTO_BIT_SONY15;
 		else
-			protocols = RC_BIT_SONY12;
+			protocols = RC_PROTO_BIT_SONY12;
 	}
 
-	if (protocols == RC_BIT_SONY20) {
+	if (protocols == RC_PROTO_BIT_SONY20) {
 		/* can't encode subdev and higher device bits */
 		if (dev & dev_m & 0xe0)
 			return -EINVAL;
 		len = 20;
 		dev_m &= 0x1f;
-	} else if (protocols == RC_BIT_SONY15) {
+	} else if (protocols == RC_PROTO_BIT_SONY15) {
 		len = 15;
 		subdev_m = 0;
 	} else {
@@ -128,7 +129,7 @@ static int img_ir_sony_filter(const struct rc_scancode_filter *in,
  *          http://picprojects.org.uk/projects/sirc/sonysirc.pdf
  */
 struct img_ir_decoder img_ir_sony = {
-	.type = RC_BIT_SONY12 | RC_BIT_SONY15 | RC_BIT_SONY20,
+	.type = RC_PROTO_BIT_SONY12 | RC_PROTO_BIT_SONY15 | RC_PROTO_BIT_SONY20,
 	.control = {
 		.decoden = 1,
 		.code_type = IMG_IR_CODETYPE_PULSELEN,
drivers/media/rc/imon.c +25 -24

158 lines not on this page · raw message

drivers/media/rc/ir-hix5hd2.c +1 -1
index 0e639fb6f7b9..0ce11c41dfae 100644
@@ -242,7 +242,7 @@ static int hix5hd2_ir_probe(struct platform_device *pdev)
 	clk_prepare_enable(priv->clock);
 	priv->rate = clk_get_rate(priv->clock);
 
-	rdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+	rdev->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
 	rdev->priv = priv;
 	rdev->open = hix5hd2_ir_open;
 	rdev->close = hix5hd2_ir_close;
drivers/media/rc/ir-jvc-decoder.c +3 -3
index 674bf156edcb..e2bd68c42edf 100644
@@ -137,7 +137,7 @@ static int ir_jvc_decode(struct rc_dev *dev, struct ir_raw_event ev)
 			scancode = (bitrev8((data->bits >> 8) & 0xff) << 8) |
 				   (bitrev8((data->bits >> 0) & 0xff) << 0);
 			IR_dprintk(1, "JVC scancode 0x%04x\n", scancode);
-			rc_keydown(dev, RC_TYPE_JVC, scancode, data->toggle);
+			rc_keydown(dev, RC_PROTO_JVC, scancode, data->toggle);
 			data->first = false;
 			data->old_bits = data->bits;
 		} else if (data->bits == data->old_bits) {
@@ -193,7 +193,7 @@ static const struct ir_raw_timings_pd ir_jvc_timings = {
  *		-ENOBUFS if there isn't enough space in the array to fit the
  *		encoding. In this case all @max events will have been written.
  */
-static int ir_jvc_encode(enum rc_type protocol, u32 scancode,
+static int ir_jvc_encode(enum rc_proto protocol, u32 scancode,
 			 struct ir_raw_event *events, unsigned int max)
 {
 	struct ir_raw_event *e = events;
@@ -209,7 +209,7 @@ static int ir_jvc_encode(enum rc_type protocol, u32 scancode,
 }
 
 static struct ir_raw_handler jvc_handler = {
-	.protocols	= RC_BIT_JVC,
+	.protocols	= RC_PROTO_BIT_JVC,
 	.decode		= ir_jvc_decode,
 	.encode		= ir_jvc_encode,
 };
drivers/media/rc/ir-mce_kbd-decoder.c +3 -3
index 5de14ae77421..7c572a643656 100644
@@ -444,14 +444,14 @@ static const struct ir_raw_timings_manchester ir_mce_kbd_timings = {
  *              -ENOBUFS if there isn't enough space in the array to fit the
  *              encoding. In this case all @max events will have been written.
  */
-static int ir_mce_kbd_encode(enum rc_type protocol, u32 scancode,
+static int ir_mce_kbd_encode(enum rc_proto protocol, u32 scancode,
 			     struct ir_raw_event *events, unsigned int max)
 {
 	struct ir_raw_event *e = events;
 	int len, ret;
 	u64 raw;
 
-	if (protocol == RC_TYPE_MCIR2_KBD) {
+	if (protocol == RC_PROTO_MCIR2_KBD) {
 		raw = scancode |
 		      ((u64)MCIR2_KEYBOARD_HEADER << MCIR2_KEYBOARD_NBITS);
 		len = MCIR2_KEYBOARD_NBITS + MCIR2_HEADER_NBITS + 1;
@@ -469,7 +469,7 @@ static int ir_mce_kbd_encode(enum rc_type protocol, u32 scancode,
 }
 
 static struct ir_raw_handler mce_kbd_handler = {
-	.protocols	= RC_BIT_MCIR2_KBD | RC_BIT_MCIR2_MSE,
+	.protocols	= RC_PROTO_BIT_MCIR2_KBD | RC_PROTO_BIT_MCIR2_MSE,
 	.decode		= ir_mce_kbd_decode,
 	.encode		= ir_mce_kbd_encode,
 	.raw_register	= ir_mce_kbd_register,
drivers/media/rc/ir-nec-decoder.c +9 -8
index 23d2bc8c190d..817c18f2ddd1 100644
@@ -49,7 +49,7 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev)
 {
 	struct nec_dec *data = &dev->raw->nec;
 	u32 scancode;
-	enum rc_type rc_type;
+	enum rc_proto rc_proto;
 	u8 address, not_address, command, not_command;
 
 	if (!is_timing_event(ev)) {
@@ -158,12 +158,12 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev)
 
 		scancode = ir_nec_bytes_to_scancode(address, not_address,
 						    command, not_command,
-						    &rc_type);
+						    &rc_proto);
 
 		if (data->is_nec_x)
 			data->necx_repeat = true;
 
-		rc_keydown(dev, rc_type, scancode, 0);
+		rc_keydown(dev, rc_proto, scancode, 0);
 		data->state = STATE_INACTIVE;
 		return 0;
 	}
@@ -180,19 +180,19 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev)
  * @scancode:	a single NEC scancode.
  * @raw:	raw data to be modulated.
  */
-static u32 ir_nec_scancode_to_raw(enum rc_type protocol, u32 scancode)
+static u32 ir_nec_scancode_to_raw(enum rc_proto protocol, u32 scancode)
 {
 	unsigned int addr, addr_inv, data, data_inv;
 
 	data = scancode & 0xff;
 
-	if (protocol == RC_TYPE_NEC32) {
+	if (protocol == RC_PROTO_NEC32) {
 		/* 32-bit NEC (used by Apple and TiVo remotes) */
 		/* scan encoding: aaAAddDD */
 		addr_inv   = (scancode >> 24) & 0xff;
 		addr       = (scancode >> 16) & 0xff;
 		data_inv   = (scancode >>  8) & 0xff;
-	} else if (protocol == RC_TYPE_NECX) {
+	} else if (protocol == RC_PROTO_NECX) {
 		/* Extended NEC */
 		/* scan encoding AAaaDD */
 		addr       = (scancode >> 16) & 0xff;
@@ -236,7 +236,7 @@ static const struct ir_raw_timings_pd ir_nec_timings = {
  *		-ENOBUFS if there isn't enough space in the array to fit the
  *		encoding. In this case all @max events will have been written.
  */
-static int ir_nec_encode(enum rc_type protocol, u32 scancode,
+static int ir_nec_encode(enum rc_proto protocol, u32 scancode,
 			 struct ir_raw_event *events, unsigned int max)
 {
 	struct ir_raw_event *e = events;
@@ -255,7 +255,8 @@ static int ir_nec_encode(enum rc_type protocol, u32 scancode,
 }
 
 static struct ir_raw_handler nec_handler = {
-	.protocols	= RC_BIT_NEC | RC_BIT_NECX | RC_BIT_NEC32,
+	.protocols	= RC_PROTO_BIT_NEC | RC_PROTO_BIT_NECX |
+							RC_PROTO_BIT_NEC32,
 	.decode		= ir_nec_decode,
 	.encode		= ir_nec_encode,
 };
drivers/media/rc/ir-rc5-decoder.c +13 -12
index fcfedf95def7..1292f534de43 100644
@@ -51,7 +51,7 @@ static int ir_rc5_decode(struct rc_dev *dev, struct ir_raw_event ev)
 	struct rc5_dec *data = &dev->raw->rc5;
 	u8 toggle;
 	u32 scancode;
-	enum rc_type protocol;
+	enum rc_proto protocol;
 
 	if (!is_timing_event(ev)) {
 		if (ev.reset)
@@ -124,7 +124,7 @@ static int ir_rc5_decode(struct rc_dev *dev, struct ir_raw_event ev)
 		if (data->is_rc5x && data->count == RC5X_NBITS) {
 			/* RC5X */
 			u8 xdata, command, system;
-			if (!(dev->enabled_protocols & RC_BIT_RC5X_20)) {
+			if (!(dev->enabled_protocols & RC_PROTO_BIT_RC5X_20)) {
 				data->state = STATE_INACTIVE;
 				return 0;
 			}
@@ -134,12 +134,12 @@ static int ir_rc5_decode(struct rc_dev *dev, struct ir_raw_event ev)
 			toggle   = (data->bits & 0x20000) ? 1 : 0;
 			command += (data->bits & 0x40000) ? 0 : 0x40;
 			scancode = system << 16 | command << 8 | xdata;
-			protocol = RC_TYPE_RC5X_20;
+			protocol = RC_PROTO_RC5X_20;
 
 		} else if (!data->is_rc5x && data->count == RC5_NBITS) {
 			/* RC5 */
 			u8 command, system;
-			if (!(dev->enabled_protocols & RC_BIT_RC5)) {
+			if (!(dev->enabled_protocols & RC_PROTO_BIT_RC5)) {
 				data->state = STATE_INACTIVE;
 				return 0;
 			}
@@ -148,12 +148,12 @@ static int ir_rc5_decode(struct rc_dev *dev, struct ir_raw_event ev)
 			toggle   = (data->bits & 0x00800) ? 1 : 0;
 			command += (data->bits & 0x01000) ? 0 : 0x40;
 			scancode = system << 8 | command;
-			protocol = RC_TYPE_RC5;
+			protocol = RC_PROTO_RC5;
 
 		} else if (!data->is_rc5x && data->count == RC5_SZ_NBITS) {
 			/* RC5 StreamZap */
 			u8 command, system;
-			if (!(dev->enabled_protocols & RC_BIT_RC5_SZ)) {
+			if (!(dev->enabled_protocols & RC_PROTO_BIT_RC5_SZ)) {
 				data->state = STATE_INACTIVE;
 				return 0;
 			}
@@ -161,7 +161,7 @@ static int ir_rc5_decode(struct rc_dev *dev, struct ir_raw_event ev)
 			system   = (data->bits & 0x02FC0) >> 6;
 			toggle   = (data->bits & 0x01000) ? 1 : 0;
 			scancode = system << 6 | command;
-			protocol = RC_TYPE_RC5_SZ;
+			protocol = RC_PROTO_RC5_SZ;
 
 		} else
 			break;
@@ -221,7 +221,7 @@ static const struct ir_raw_timings_manchester ir_rc5_sz_timings = {
  *		encoding. In this case all @max events will have been written.
  *		-EINVAL if the scancode is ambiguous or invalid.
  */
-static int ir_rc5_encode(enum rc_type protocol, u32 scancode,
+static int ir_rc5_encode(enum rc_proto protocol, u32 scancode,
 			 struct ir_raw_event *events, unsigned int max)
 {
 	int ret;
@@ -229,7 +229,7 @@ static int ir_rc5_encode(enum rc_type protocol, u32 scancode,
 	unsigned int data, xdata, command, commandx, system, pre_space_data;
 
 	/* Detect protocol and convert scancode to raw data */
-	if (protocol == RC_TYPE_RC5) {
+	if (protocol == RC_PROTO_RC5) {
 		/* decode scancode */
 		command  = (scancode & 0x003f) >> 0;
 		commandx = (scancode & 0x0040) >> 6;
@@ -242,7 +242,7 @@ static int ir_rc5_encode(enum rc_type protocol, u32 scancode,
 					    RC5_NBITS, data);
 		if (ret < 0)
 			return ret;
-	} else if (protocol == RC_TYPE_RC5X_20) {
+	} else if (protocol == RC_PROTO_RC5X_20) {
 		/* decode scancode */
 		xdata    = (scancode & 0x00003f) >> 0;
 		command  = (scancode & 0x003f00) >> 8;
@@ -264,7 +264,7 @@ static int ir_rc5_encode(enum rc_type protocol, u32 scancode,
 					    data);
 		if (ret < 0)
 			return ret;
-	} else if (protocol == RC_TYPE_RC5_SZ) {
+	} else if (protocol == RC_PROTO_RC5_SZ) {
 		/* RC5-SZ scancode is raw enough for Manchester as it is */
 		ret = ir_raw_gen_manchester(&e, max, &ir_rc5_sz_timings,
 					    RC5_SZ_NBITS, scancode & 0x2fff);
@@ -278,7 +278,8 @@ static int ir_rc5_encode(enum rc_type protocol, u32 scancode,
 }
 
 static struct ir_raw_handler rc5_handler = {
-	.protocols	= RC_BIT_RC5 | RC_BIT_RC5X_20 | RC_BIT_RC5_SZ,
+	.protocols	= RC_PROTO_BIT_RC5 | RC_PROTO_BIT_RC5X_20 |
+							RC_PROTO_BIT_RC5_SZ,
 	.decode		= ir_rc5_decode,
 	.encode		= ir_rc5_encode,
 };
drivers/media/rc/ir-rc6-decoder.c +15 -15
index 6fe2268dada0..5d0d2fe3b7a7 100644
@@ -88,7 +88,7 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev)
 	struct rc6_dec *data = &dev->raw->rc6;
 	u32 scancode;
 	u8 toggle;
-	enum rc_type protocol;
+	enum rc_proto protocol;
 
 	if (!is_timing_event(ev)) {
 		if (ev.reset)
@@ -229,7 +229,7 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev)
 		case RC6_MODE_0:
 			scancode = data->body;
 			toggle = data->toggle;
-			protocol = RC_TYPE_RC6_0;
+			protocol = RC_PROTO_RC6_0;
 			IR_dprintk(1, "RC6(0) scancode 0x%04x (toggle: %u)\n",
 				   scancode, toggle);
 			break;
@@ -244,20 +244,20 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev)
 			scancode = data->body;
 			switch (data->count) {
 			case 20:
-				protocol = RC_TYPE_RC6_6A_20;
+				protocol = RC_PROTO_RC6_6A_20;
 				toggle = 0;
 				break;
 			case 24:
-				protocol = RC_TYPE_RC6_6A_24;
+				protocol = RC_PROTO_RC6_6A_24;
 				toggle = 0;
 				break;
 			case 32:
 				if ((scancode & RC6_6A_LCC_MASK) == RC6_6A_MCE_CC) {
-					protocol = RC_TYPE_RC6_MCE;
+					protocol = RC_PROTO_RC6_MCE;
 					toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK);
 					scancode &= ~RC6_6A_MCE_TOGGLE_MASK;
 				} else {
-					protocol = RC_TYPE_RC6_6A_32;
+					protocol = RC_PROTO_RC6_6A_32;
 					toggle = 0;
 				}
 				break;
@@ -322,13 +322,13 @@ static const struct ir_raw_timings_manchester ir_rc6_timings[4] = {
  *		encoding. In this case all @max events will have been written.
  *		-EINVAL if the scancode is ambiguous or invalid.
  */
-static int ir_rc6_encode(enum rc_type protocol, u32 scancode,
+static int ir_rc6_encode(enum rc_proto protocol, u32 scancode,
 			 struct ir_raw_event *events, unsigned int max)
 {
 	int ret;
 	struct ir_raw_event *e = events;
 
-	if (protocol == RC_TYPE_RC6_0) {
+	if (protocol == RC_PROTO_RC6_0) {
 		/* Modulate the preamble */
 		ret = ir_raw_gen_manchester(&e, max, &ir_rc6_timings[0], 0, 0);
 		if (ret < 0)
@@ -358,14 +358,14 @@ static int ir_rc6_encode(enum rc_type protocol, u32 scancode,
 		int bits;
 
 		switch (protocol) {
-		case RC_TYPE_RC6_MCE:
-		case RC_TYPE_RC6_6A_32:
+		case RC_PROTO_RC6_MCE:
+		case RC_PROTO_RC6_6A_32:
 			bits = 32;
 			break;
-		case RC_TYPE_RC6_6A_24:
+		case RC_PROTO_RC6_6A_24:
 			bits = 24;
 			break;
-		case RC_TYPE_RC6_6A_20:
+		case RC_PROTO_RC6_6A_20:
 			bits = 20;
 			break;
 		default:
@@ -403,9 +403,9 @@ static int ir_rc6_encode(enum rc_type protocol, u32 scancode,
 }
 
 static struct ir_raw_handler rc6_handler = {
-	.protocols	= RC_BIT_RC6_0 | RC_BIT_RC6_6A_20 |
-			  RC_BIT_RC6_6A_24 | RC_BIT_RC6_6A_32 |
-			  RC_BIT_RC6_MCE,
+	.protocols	= RC_PROTO_BIT_RC6_0 | RC_PROTO_BIT_RC6_6A_20 |
+			  RC_PROTO_BIT_RC6_6A_24 | RC_PROTO_BIT_RC6_6A_32 |
+			  RC_PROTO_BIT_RC6_MCE,
 	.decode		= ir_rc6_decode,
 	.encode		= ir_rc6_encode,
 };
drivers/media/rc/ir-sanyo-decoder.c +3 -3
index e6a906a34f90..758c60956850 100644
@@ -161,7 +161,7 @@ static int ir_sanyo_decode(struct rc_dev *dev, struct ir_raw_event ev)
 
 		scancode = address << 8 | command;
 		IR_dprintk(1, "SANYO scancode: 0x%06x\n", scancode);
-		rc_keydown(dev, RC_TYPE_SANYO, scancode, 0);
+		rc_keydown(dev, RC_PROTO_SANYO, scancode, 0);
 		data->state = STATE_INACTIVE;
 		return 0;
 	}
@@ -195,7 +195,7 @@ static const struct ir_raw_timings_pd ir_sanyo_timings = {
  *		-ENOBUFS if there isn't enough space in the array to fit the
  *		encoding. In this case all @max events will have been written.
  */
-static int ir_sanyo_encode(enum rc_type protocol, u32 scancode,
+static int ir_sanyo_encode(enum rc_proto protocol, u32 scancode,
 			   struct ir_raw_event *events, unsigned int max)
 {
 	struct ir_raw_event *e = events;
@@ -215,7 +215,7 @@ static int ir_sanyo_encode(enum rc_type protocol, u32 scancode,
 }
 
 static struct ir_raw_handler sanyo_handler = {
-	.protocols	= RC_BIT_SANYO,
+	.protocols	= RC_PROTO_BIT_SANYO,
 	.decode		= ir_sanyo_decode,
 	.encode		= ir_sanyo_encode,
 };
drivers/media/rc/ir-sharp-decoder.c +3 -3
index b47e89e2c1bd..ed43a4212479 100644
@@ -161,7 +161,7 @@ static int ir_sharp_decode(struct rc_dev *dev, struct ir_raw_event ev)
 		scancode = address << 8 | command;
 		IR_dprintk(1, "Sharp scancode 0x%04x\n", scancode);
 
-		rc_keydown(dev, RC_TYPE_SHARP, scancode, 0);
+		rc_keydown(dev, RC_PROTO_SHARP, scancode, 0);
 		data->state = STATE_INACTIVE;
 		return 0;
 	}
@@ -196,7 +196,7 @@ static const struct ir_raw_timings_pd ir_sharp_timings = {
  *		-ENOBUFS if there isn't enough space in the array to fit the
  *		encoding. In this case all @max events will have been written.
  */
-static int ir_sharp_encode(enum rc_type protocol, u32 scancode,
+static int ir_sharp_encode(enum rc_proto protocol, u32 scancode,
 			   struct ir_raw_event *events, unsigned int max)
 {
 	struct ir_raw_event *e = events;
@@ -223,7 +223,7 @@ static int ir_sharp_encode(enum rc_type protocol, u32 scancode,
 }
 
 static struct ir_raw_handler sharp_handler = {
-	.protocols	= RC_BIT_SHARP,
+	.protocols	= RC_PROTO_BIT_SHARP,
 	.decode		= ir_sharp_decode,
 	.encode		= ir_sharp_encode,
 };
drivers/media/rc/ir-sony-decoder.c +12 -11
index 355fa8198f5a..a47ced763031 100644
@@ -42,7 +42,7 @@ enum sony_state {
 static int ir_sony_decode(struct rc_dev *dev, struct ir_raw_event ev)
 {
 	struct sony_dec *data = &dev->raw->sony;
-	enum rc_type protocol;
+	enum rc_proto protocol;
 	u32 scancode;
 	u8 device, subdevice, function;
 
@@ -121,31 +121,31 @@ static int ir_sony_decode(struct rc_dev *dev, struct ir_raw_event ev)
 
 		switch (data->count) {
 		case 12:
-			if (!(dev->enabled_protocols & RC_BIT_SONY12))
+			if (!(dev->enabled_protocols & RC_PROTO_BIT_SONY12))
 				goto finish_state_machine;
 
 			device    = bitrev8((data->bits <<  3) & 0xF8);
 			subdevice = 0;
 			function  = bitrev8((data->bits >>  4) & 0xFE);
-			protocol = RC_TYPE_SONY12;
+			protocol = RC_PROTO_SONY12;
 			break;
 		case 15:
-			if (!(dev->enabled_protocols & RC_BIT_SONY15))
+			if (!(dev->enabled_protocols & RC_PROTO_BIT_SONY15))
 				goto finish_state_machine;
 
 			device    = bitrev8((data->bits >>  0) & 0xFF);
 			subdevice = 0;
 			function  = bitrev8((data->bits >>  7) & 0xFE);
-			protocol = RC_TYPE_SONY15;
+			protocol = RC_PROTO_SONY15;
 			break;
 		case 20:
-			if (!(dev->enabled_protocols & RC_BIT_SONY20))
+			if (!(dev->enabled_protocols & RC_PROTO_BIT_SONY20))
 				goto finish_state_machine;
 
 			device    = bitrev8((data->bits >>  5) & 0xF8);
 			subdevice = bitrev8((data->bits >>  0) & 0xFF);
 			function  = bitrev8((data->bits >> 12) & 0xFE);
-			protocol = RC_TYPE_SONY20;
+			protocol = RC_PROTO_SONY20;
 			break;
 		default:
 			IR_dprintk(1, "Sony invalid bitcount %u\n", data->count);
@@ -190,17 +190,17 @@ static const struct ir_raw_timings_pl ir_sony_timings = {
  *		-ENOBUFS if there isn't enough space in the array to fit the
  *		encoding. In this case all @max events will have been written.
  */
-static int ir_sony_encode(enum rc_type protocol, u32 scancode,
+static int ir_sony_encode(enum rc_proto protocol, u32 scancode,
 			  struct ir_raw_event *events, unsigned int max)
 {
 	struct ir_raw_event *e = events;
 	u32 raw, len;
 	int ret;
 
-	if (protocol == RC_TYPE_SONY12) {
+	if (protocol == RC_PROTO_SONY12) {
 		raw = (scancode & 0x7f) | ((scancode & 0x1f0000) >> 9);
 		len = 12;
-	} else if (protocol == RC_TYPE_SONY15) {
+	} else if (protocol == RC_PROTO_SONY15) {
 		raw = (scancode & 0x7f) | ((scancode & 0xff0000) >> 9);
 		len = 15;
 	} else {
@@ -217,7 +217,8 @@ static int ir_sony_encode(enum rc_type protocol, u32 scancode,
 }
 
 static struct ir_raw_handler sony_handler = {
-	.protocols	= RC_BIT_SONY12 | RC_BIT_SONY15 | RC_BIT_SONY20,
+	.protocols	= RC_PROTO_BIT_SONY12 | RC_PROTO_BIT_SONY15 |
+							RC_PROTO_BIT_SONY20,
 	.decode		= ir_sony_decode,
 	.encode		= ir_sony_encode,
 };
drivers/media/rc/ir-xmp-decoder.c +2 -2
index 18596190bbb8..6f464be1c8d7 100644
@@ -141,7 +141,7 @@ static int ir_xmp_decode(struct rc_dev *dev, struct ir_raw_event ev)
 			IR_dprintk(1, "XMP scancode 0x%06x\n", scancode);
 
 			if (toggle == 0) {
-				rc_keydown(dev, RC_TYPE_XMP, scancode, 0);
+				rc_keydown(dev, RC_PROTO_XMP, scancode, 0);
 			} else {
 				rc_repeat(dev);
 				IR_dprintk(1, "Repeat last key\n");
@@ -196,7 +196,7 @@ static int ir_xmp_decode(struct rc_dev *dev, struct ir_raw_event ev)
 }
 
 static struct ir_raw_handler xmp_handler = {
-	.protocols	= RC_BIT_XMP,
+	.protocols	= RC_PROTO_BIT_XMP,
 	.decode		= ir_xmp_decode,
 };
 
drivers/media/rc/ite-cir.c +1 -1
index c8eea30b4e50..65e104c7ddfc 100644
@@ -1556,7 +1556,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
 
 	/* set up ir-core props */
 	rdev->priv = itdev;
-	rdev->allowed_protocols = RC_BIT_ALL_IR_DECODER;
+	rdev->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
 	rdev->open = ite_open;
 	rdev->close = ite_close;
 	rdev->s_idle = ite_s_idle;
drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c +4 -4
index 01d901fbfc8b..2d303c2cee3b 100644
@@ -66,10 +66,10 @@ static struct rc_map_table adstech_dvb_t_pci[] = {
 
 static struct rc_map_list adstech_dvb_t_pci_map = {
 	.map = {
-		.scan    = adstech_dvb_t_pci,
-		.size    = ARRAY_SIZE(adstech_dvb_t_pci),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_ADSTECH_DVB_T_PCI,
+		.scan     = adstech_dvb_t_pci,
+		.size     = ARRAY_SIZE(adstech_dvb_t_pci),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_ADSTECH_DVB_T_PCI,
 	}
 };
 
drivers/media/rc/keymaps/rc-alink-dtu-m.c +4 -4
index 4e6ade8e616f..3818c33734a1 100644
@@ -45,10 +45,10 @@ static struct rc_map_table alink_dtu_m[] = {
 
 static struct rc_map_list alink_dtu_m_map = {
 	.map = {
-		.scan    = alink_dtu_m,
-		.size    = ARRAY_SIZE(alink_dtu_m),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_ALINK_DTU_M,
+		.scan     = alink_dtu_m,
+		.size     = ARRAY_SIZE(alink_dtu_m),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_ALINK_DTU_M,
 	}
 };
 
drivers/media/rc/keymaps/rc-anysee.c +4 -4
index c735fe10a390..e75e51b34d29 100644
@@ -70,10 +70,10 @@ static struct rc_map_table anysee[] = {
 
 static struct rc_map_list anysee_map = {
 	.map = {
-		.scan    = anysee,
-		.size    = ARRAY_SIZE(anysee),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_ANYSEE,
+		.scan     = anysee,
+		.size     = ARRAY_SIZE(anysee),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_ANYSEE,
 	}
 };
 
drivers/media/rc/keymaps/rc-apac-viewcomp.c +4 -4
index bf9efa007e1c..65bc8957d9c3 100644
@@ -57,10 +57,10 @@ static struct rc_map_table apac_viewcomp[] = {
 
 static struct rc_map_list apac_viewcomp_map = {
 	.map = {
-		.scan    = apac_viewcomp,
-		.size    = ARRAY_SIZE(apac_viewcomp),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_APAC_VIEWCOMP,
+		.scan     = apac_viewcomp,
+		.size     = ARRAY_SIZE(apac_viewcomp),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_APAC_VIEWCOMP,
 	}
 };
 
drivers/media/rc/keymaps/rc-asus-pc39.c +4 -4
index 9e674ba5dd4f..530e1d1158d1 100644
@@ -68,10 +68,10 @@ static struct rc_map_table asus_pc39[] = {
 
 static struct rc_map_list asus_pc39_map = {
 	.map = {
-		.scan    = asus_pc39,
-		.size    = ARRAY_SIZE(asus_pc39),
-		.rc_type = RC_TYPE_RC5,
-		.name    = RC_MAP_ASUS_PC39,
+		.scan     = asus_pc39,
+		.size     = ARRAY_SIZE(asus_pc39),
+		.rc_proto = RC_PROTO_RC5,
+		.name     = RC_MAP_ASUS_PC39,
 	}
 };
 
drivers/media/rc/keymaps/rc-asus-ps3-100.c +4 -4
index e45de35f528f..c91ba332984c 100644
@@ -67,10 +67,10 @@ static struct rc_map_table asus_ps3_100[] = {
 
 static struct rc_map_list asus_ps3_100_map = {
 .map = {
-	.scan    = asus_ps3_100,
-	.size    = ARRAY_SIZE(asus_ps3_100),
-	.rc_type = RC_TYPE_RC5,
-	.name    = RC_MAP_ASUS_PS3_100,
+	.scan     = asus_ps3_100,
+	.size     = ARRAY_SIZE(asus_ps3_100),
+	.rc_proto = RC_PROTO_RC5,
+	.name     = RC_MAP_ASUS_PS3_100,
 }
 };
 
drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c +4 -4
index 91392d4cfd6d..11b4bdd2392b 100644
@@ -46,10 +46,10 @@ static struct rc_map_table ati_tv_wonder_hd_600[] = {
 
 static struct rc_map_list ati_tv_wonder_hd_600_map = {
 	.map = {
-		.scan    = ati_tv_wonder_hd_600,
-		.size    = ARRAY_SIZE(ati_tv_wonder_hd_600),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_ATI_TV_WONDER_HD_600,
+		.scan     = ati_tv_wonder_hd_600,
+		.size     = ARRAY_SIZE(ati_tv_wonder_hd_600),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_ATI_TV_WONDER_HD_600,
 	}
 };
 
drivers/media/rc/keymaps/rc-ati-x10.c +4 -4
index 4bdc709ec54d..11f1eb6ad712 100644
@@ -114,10 +114,10 @@ static struct rc_map_table ati_x10[] = {
 
 static struct rc_map_list ati_x10_map = {
 	.map = {
-		.scan    = ati_x10,
-		.size    = ARRAY_SIZE(ati_x10),
-		.rc_type = RC_TYPE_OTHER,
-		.name    = RC_MAP_ATI_X10,
+		.scan     = ati_x10,
+		.size     = ARRAY_SIZE(ati_x10),
+		.rc_proto = RC_PROTO_OTHER,
+		.name     = RC_MAP_ATI_X10,
 	}
 };
 
drivers/media/rc/keymaps/rc-avermedia-a16d.c +4 -4
index ff30a71d623e..510dc90ebf49 100644
@@ -52,10 +52,10 @@ static struct rc_map_table avermedia_a16d[] = {
 
 static struct rc_map_list avermedia_a16d_map = {
 	.map = {
-		.scan    = avermedia_a16d,
-		.size    = ARRAY_SIZE(avermedia_a16d),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_AVERMEDIA_A16D,
+		.scan     = avermedia_a16d,
+		.size     = ARRAY_SIZE(avermedia_a16d),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_AVERMEDIA_A16D,
 	}
 };
 
drivers/media/rc/keymaps/rc-avermedia-cardbus.c +4 -4
index d7471a6de9b4..4bbc1e68d1b8 100644
@@ -74,10 +74,10 @@ static struct rc_map_table avermedia_cardbus[] = {
 
 static struct rc_map_list avermedia_cardbus_map = {
 	.map = {
-		.scan    = avermedia_cardbus,
-		.size    = ARRAY_SIZE(avermedia_cardbus),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_AVERMEDIA_CARDBUS,
+		.scan     = avermedia_cardbus,
+		.size     = ARRAY_SIZE(avermedia_cardbus),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_AVERMEDIA_CARDBUS,
 	}
 };
 
drivers/media/rc/keymaps/rc-avermedia-dvbt.c +4 -4
index e2417d6331fe..f6b8547dbad3 100644
@@ -55,10 +55,10 @@ static struct rc_map_table avermedia_dvbt[] = {
 
 static struct rc_map_list avermedia_dvbt_map = {
 	.map = {
-		.scan    = avermedia_dvbt,
-		.size    = ARRAY_SIZE(avermedia_dvbt),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_AVERMEDIA_DVBT,
+		.scan     = avermedia_dvbt,
+		.size     = ARRAY_SIZE(avermedia_dvbt),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_AVERMEDIA_DVBT,
 	}
 };
 
drivers/media/rc/keymaps/rc-avermedia-m135a.c +4 -4
index 843598a5f1b5..9882e2cde975 100644
@@ -124,10 +124,10 @@ static struct rc_map_table avermedia_m135a[] = {
 
 static struct rc_map_list avermedia_m135a_map = {
 	.map = {
-		.scan    = avermedia_m135a,
-		.size    = ARRAY_SIZE(avermedia_m135a),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_AVERMEDIA_M135A,
+		.scan     = avermedia_m135a,
+		.size     = ARRAY_SIZE(avermedia_m135a),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_AVERMEDIA_M135A,
 	}
 };
 
drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c +4 -4
index b24e7481ac21..d86126e10375 100644
@@ -72,10 +72,10 @@ static struct rc_map_table avermedia_m733a_rm_k6[] = {
 
 static struct rc_map_list avermedia_m733a_rm_k6_map = {
 	.map = {
-		.scan    = avermedia_m733a_rm_k6,
-		.size    = ARRAY_SIZE(avermedia_m733a_rm_k6),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_AVERMEDIA_M733A_RM_K6,
+		.scan     = avermedia_m733a_rm_k6,
+		.size     = ARRAY_SIZE(avermedia_m733a_rm_k6),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_AVERMEDIA_M733A_RM_K6,
 	}
 };
 
drivers/media/rc/keymaps/rc-avermedia-rm-ks.c +4 -4
index 2583400ca1b4..5d92d36d9174 100644
@@ -56,10 +56,10 @@ static struct rc_map_table avermedia_rm_ks[] = {
 
 static struct rc_map_list avermedia_rm_ks_map = {
 	.map = {
-		.scan    = avermedia_rm_ks,
-		.size    = ARRAY_SIZE(avermedia_rm_ks),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_AVERMEDIA_RM_KS,
+		.scan     = avermedia_rm_ks,
+		.size     = ARRAY_SIZE(avermedia_rm_ks),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_AVERMEDIA_RM_KS,
 	}
 };
 
drivers/media/rc/keymaps/rc-avermedia.c +4 -4
index 3f68fbecc188..6503f11c7df5 100644
@@ -63,10 +63,10 @@ static struct rc_map_table avermedia[] = {
 
 static struct rc_map_list avermedia_map = {
 	.map = {
-		.scan    = avermedia,
-		.size    = ARRAY_SIZE(avermedia),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_AVERMEDIA,
+		.scan     = avermedia,
+		.size     = ARRAY_SIZE(avermedia),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_AVERMEDIA,
 	}
 };
 
drivers/media/rc/keymaps/rc-avertv-303.c +4 -4
index c35bc5b835c4..fbdd7ada57ce 100644
@@ -62,10 +62,10 @@ static struct rc_map_table avertv_303[] = {
 
 static struct rc_map_list avertv_303_map = {
 	.map = {
-		.scan    = avertv_303,
-		.size    = ARRAY_SIZE(avertv_303),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_AVERTV_303,
+		.scan     = avertv_303,
+		.size     = ARRAY_SIZE(avertv_303),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_AVERTV_303,
 	}
 };
 
drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c +4 -4
index ea7f2d0f31eb..18d7dcb869b0 100644
@@ -79,10 +79,10 @@ static struct rc_map_table azurewave_ad_tu700[] = {
 
 static struct rc_map_list azurewave_ad_tu700_map = {
 	.map = {
-		.scan    = azurewave_ad_tu700,
-		.size    = ARRAY_SIZE(azurewave_ad_tu700),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_AZUREWAVE_AD_TU700,
+		.scan     = azurewave_ad_tu700,
+		.size     = ARRAY_SIZE(azurewave_ad_tu700),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_AZUREWAVE_AD_TU700,
 	}
 };
 
drivers/media/rc/keymaps/rc-behold-columbus.c +4 -4
index 1fc344e9daa7..d256743be998 100644
@@ -85,10 +85,10 @@ static struct rc_map_table behold_columbus[] = {
 
 static struct rc_map_list behold_columbus_map = {
 	.map = {
-		.scan    = behold_columbus,
-		.size    = ARRAY_SIZE(behold_columbus),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_BEHOLD_COLUMBUS,
+		.scan     = behold_columbus,
+		.size     = ARRAY_SIZE(behold_columbus),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_BEHOLD_COLUMBUS,
 	}
 };
 
drivers/media/rc/keymaps/rc-behold.c +4 -4
index 520a96f2ff86..93dc795adc67 100644
@@ -118,10 +118,10 @@ static struct rc_map_table behold[] = {
 
 static struct rc_map_list behold_map = {
 	.map = {
-		.scan    = behold,
-		.size    = ARRAY_SIZE(behold),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_BEHOLD,
+		.scan     = behold,
+		.size     = ARRAY_SIZE(behold),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_BEHOLD,
 	}
 };
 
drivers/media/rc/keymaps/rc-budget-ci-old.c +4 -4
index b196a5f436a3..81ea1424d9e5 100644
@@ -70,10 +70,10 @@ static struct rc_map_table budget_ci_old[] = {
 
 static struct rc_map_list budget_ci_old_map = {
 	.map = {
-		.scan    = budget_ci_old,
-		.size    = ARRAY_SIZE(budget_ci_old),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_BUDGET_CI_OLD,
+		.scan     = budget_ci_old,
+		.size     = ARRAY_SIZE(budget_ci_old),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_BUDGET_CI_OLD,
 	}
 };
 
drivers/media/rc/keymaps/rc-cec.c +1 -1
index 354c8e724b8e..76d34abb7c85 100644
@@ -160,7 +160,7 @@ static struct rc_map_list cec_map = {
 	.map = {
 		.scan		= cec,
 		.size		= ARRAY_SIZE(cec),
-		.rc_type	= RC_TYPE_CEC,
+		.rc_proto	= RC_PROTO_CEC,
 		.name		= RC_MAP_CEC,
 	}
 };
drivers/media/rc/keymaps/rc-cinergy-1400.c +4 -4
index a099c080bf8c..bcb96b3dda85 100644
@@ -61,10 +61,10 @@ static struct rc_map_table cinergy_1400[] = {
 
 static struct rc_map_list cinergy_1400_map = {
 	.map = {
-		.scan    = cinergy_1400,
-		.size    = ARRAY_SIZE(cinergy_1400),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_CINERGY_1400,
+		.scan     = cinergy_1400,
+		.size     = ARRAY_SIZE(cinergy_1400),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_CINERGY_1400,
 	}
 };
 
drivers/media/rc/keymaps/rc-cinergy.c +4 -4
index b0f4328bdd6f..fd56c402aae5 100644
@@ -55,10 +55,10 @@ static struct rc_map_table cinergy[] = {
 
 static struct rc_map_list cinergy_map = {
 	.map = {
-		.scan    = cinergy,
-		.size    = ARRAY_SIZE(cinergy),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_CINERGY,
+		.scan     = cinergy,
+		.size     = ARRAY_SIZE(cinergy),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_CINERGY,
 	}
 };
 
drivers/media/rc/keymaps/rc-d680-dmb.c +4 -4
index bb5745d29d8a..2c94b9d88b67 100644
@@ -51,10 +51,10 @@ static struct rc_map_table rc_map_d680_dmb_table[] = {
 
 static struct rc_map_list d680_dmb_map = {
 	.map = {
-		.scan    = rc_map_d680_dmb_table,
-		.size    = ARRAY_SIZE(rc_map_d680_dmb_table),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_D680_DMB,
+		.scan     = rc_map_d680_dmb_table,
+		.size     = ARRAY_SIZE(rc_map_d680_dmb_table),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_D680_DMB,
 	}
 };
 
drivers/media/rc/keymaps/rc-delock-61959.c +4 -4
index 01bed864f09d..62de69d78d92 100644
@@ -58,10 +58,10 @@ static struct rc_map_table delock_61959[] = {
 
 static struct rc_map_list delock_61959_map = {
 	.map = {
-		.scan    = delock_61959,
-		.size    = ARRAY_SIZE(delock_61959),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_DELOCK_61959,
+		.scan     = delock_61959,
+		.size     = ARRAY_SIZE(delock_61959),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_DELOCK_61959,
 	}
 };
 
drivers/media/rc/keymaps/rc-dib0700-nec.c +4 -4
index a0fa543c9f9e..1b4df106b7b5 100644
@@ -101,10 +101,10 @@ static struct rc_map_table dib0700_nec_table[] = {
 
 static struct rc_map_list dib0700_nec_map = {
 	.map = {
-		.scan    = dib0700_nec_table,
-		.size    = ARRAY_SIZE(dib0700_nec_table),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_DIB0700_NEC_TABLE,
+		.scan     = dib0700_nec_table,
+		.size     = ARRAY_SIZE(dib0700_nec_table),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_DIB0700_NEC_TABLE,
 	}
 };
 
drivers/media/rc/keymaps/rc-dib0700-rc5.c +4 -4
index 907941145eb7..b0f8151bb824 100644
@@ -212,10 +212,10 @@ static struct rc_map_table dib0700_rc5_table[] = {
 
 static struct rc_map_list dib0700_rc5_map = {
 	.map = {
-		.scan    = dib0700_rc5_table,
-		.size    = ARRAY_SIZE(dib0700_rc5_table),
-		.rc_type = RC_TYPE_RC5,
-		.name    = RC_MAP_DIB0700_RC5_TABLE,
+		.scan     = dib0700_rc5_table,
+		.size     = ARRAY_SIZE(dib0700_rc5_table),
+		.rc_proto = RC_PROTO_RC5,
+		.name     = RC_MAP_DIB0700_RC5_TABLE,
 	}
 };
 
drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c +4 -4
index bed78acb9198..01ca8b39359f 100644
@@ -75,10 +75,10 @@ static struct rc_map_table digitalnow_tinytwin[] = {
 
 static struct rc_map_list digitalnow_tinytwin_map = {
 	.map = {
-		.scan    = digitalnow_tinytwin,
-		.size    = ARRAY_SIZE(digitalnow_tinytwin),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_DIGITALNOW_TINYTWIN,
+		.scan     = digitalnow_tinytwin,
+		.size     = ARRAY_SIZE(digitalnow_tinytwin),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_DIGITALNOW_TINYTWIN,
 	}
 };
 
drivers/media/rc/keymaps/rc-digittrade.c +4 -4
index a3b97a1fe223..a54b1d632ca6 100644
@@ -59,10 +59,10 @@ static struct rc_map_table digittrade[] = {
 
 static struct rc_map_list digittrade_map = {
 	.map = {
-		.scan    = digittrade,
-		.size    = ARRAY_SIZE(digittrade),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_DIGITTRADE,
+		.scan     = digittrade,
+		.size     = ARRAY_SIZE(digittrade),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_DIGITTRADE,
 	}
 };
 
drivers/media/rc/keymaps/rc-dm1105-nec.c +4 -4
index 46e7ae414cc8..c353445d10ed 100644
@@ -53,10 +53,10 @@ static struct rc_map_table dm1105_nec[] = {
 
 static struct rc_map_list dm1105_nec_map = {
 	.map = {
-		.scan    = dm1105_nec,
-		.size    = ARRAY_SIZE(dm1105_nec),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_DM1105_NEC,
+		.scan     = dm1105_nec,
+		.size     = ARRAY_SIZE(dm1105_nec),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_DM1105_NEC,
 	}
 };
 
drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c +4 -4
index d2826b46fea2..5bafd5b70f5e 100644
@@ -55,10 +55,10 @@ static struct rc_map_table dntv_live_dvb_t[] = {
 
 static struct rc_map_list dntv_live_dvb_t_map = {
 	.map = {
-		.scan    = dntv_live_dvb_t,
-		.size    = ARRAY_SIZE(dntv_live_dvb_t),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_DNTV_LIVE_DVB_T,
+		.scan     = dntv_live_dvb_t,
+		.size     = ARRAY_SIZE(dntv_live_dvb_t),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_DNTV_LIVE_DVB_T,
 	}
 };
 
drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c +4 -4
index 0d74769467b5..360167c8829b 100644
@@ -74,10 +74,10 @@ static struct rc_map_table dntv_live_dvbt_pro[] = {
 
 static struct rc_map_list dntv_live_dvbt_pro_map = {
 	.map = {
-		.scan    = dntv_live_dvbt_pro,
-		.size    = ARRAY_SIZE(dntv_live_dvbt_pro),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_DNTV_LIVE_DVBT_PRO,
+		.scan     = dntv_live_dvbt_pro,
+		.size     = ARRAY_SIZE(dntv_live_dvbt_pro),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_DNTV_LIVE_DVBT_PRO,
 	}
 };
 
drivers/media/rc/keymaps/rc-dtt200u.c +4 -4
index 25650e9e4664..c932d8b6c509 100644
@@ -35,10 +35,10 @@ static struct rc_map_table dtt200u_table[] = {
 
 static struct rc_map_list dtt200u_map = {
 	.map = {
-		.scan    = dtt200u_table,
-		.size    = ARRAY_SIZE(dtt200u_table),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_DTT200U,
+		.scan     = dtt200u_table,
+		.size     = ARRAY_SIZE(dtt200u_table),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_DTT200U,
 	}
 };
 
drivers/media/rc/keymaps/rc-dvbsky.c +4 -4
index c5115a1165d1..d6c0b4c1e20e 100644
@@ -54,10 +54,10 @@ static struct rc_map_table rc5_dvbsky[] = {
 
 static struct rc_map_list rc5_dvbsky_map = {
 	.map = {
-		.scan    = rc5_dvbsky,
-		.size    = ARRAY_SIZE(rc5_dvbsky),
-		.rc_type = RC_TYPE_RC5,
-		.name    = RC_MAP_DVBSKY,
+		.scan     = rc5_dvbsky,
+		.size     = ARRAY_SIZE(rc5_dvbsky),
+		.rc_proto = RC_PROTO_RC5,
+		.name     = RC_MAP_DVBSKY,
 	}
 };
 
drivers/media/rc/keymaps/rc-dvico-mce.c +4 -4
index d1e861f4d095..e4cee190b923 100644
@@ -61,10 +61,10 @@ static struct rc_map_table rc_map_dvico_mce_table[] = {
 
 static struct rc_map_list dvico_mce_map = {
 	.map = {
-		.scan    = rc_map_dvico_mce_table,
-		.size    = ARRAY_SIZE(rc_map_dvico_mce_table),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_DVICO_MCE,
+		.scan     = rc_map_dvico_mce_table,
+		.size     = ARRAY_SIZE(rc_map_dvico_mce_table),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_DVICO_MCE,
 	}
 };
 
drivers/media/rc/keymaps/rc-dvico-portable.c +4 -4
index ac4cb515cbf1..cdd21f54aa61 100644
@@ -52,10 +52,10 @@ static struct rc_map_table rc_map_dvico_portable_table[] = {
 
 static struct rc_map_list dvico_portable_map = {
 	.map = {
-		.scan    = rc_map_dvico_portable_table,
-		.size    = ARRAY_SIZE(rc_map_dvico_portable_table),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_DVICO_PORTABLE,
+		.scan     = rc_map_dvico_portable_table,
+		.size     = ARRAY_SIZE(rc_map_dvico_portable_table),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_DVICO_PORTABLE,
 	}
 };
 
drivers/media/rc/keymaps/rc-em-terratec.c +4 -4
index 7f1e06be175b..18e1a2679c20 100644
@@ -46,10 +46,10 @@ static struct rc_map_table em_terratec[] = {
 
 static struct rc_map_list em_terratec_map = {
 	.map = {
-		.scan    = em_terratec,
-		.size    = ARRAY_SIZE(em_terratec),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_EM_TERRATEC,
+		.scan     = em_terratec,
+		.size     = ARRAY_SIZE(em_terratec),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_EM_TERRATEC,
 	}
 };
 
drivers/media/rc/keymaps/rc-encore-enltv-fm53.c +4 -4
index 4fc3904daf06..72ffd5cb0108 100644
@@ -58,10 +58,10 @@ static struct rc_map_table encore_enltv_fm53[] = {
 
 static struct rc_map_list encore_enltv_fm53_map = {
 	.map = {
-		.scan    = encore_enltv_fm53,
-		.size    = ARRAY_SIZE(encore_enltv_fm53),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_ENCORE_ENLTV_FM53,
+		.scan     = encore_enltv_fm53,
+		.size     = ARRAY_SIZE(encore_enltv_fm53),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_ENCORE_ENLTV_FM53,
 	}
 };
 
drivers/media/rc/keymaps/rc-encore-enltv.c +4 -4
index f1914e23d203..e0381e7aa964 100644
@@ -89,10 +89,10 @@ static struct rc_map_table encore_enltv[] = {
 
 static struct rc_map_list encore_enltv_map = {
 	.map = {
-		.scan    = encore_enltv,
-		.size    = ARRAY_SIZE(encore_enltv),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_ENCORE_ENLTV,
+		.scan     = encore_enltv,
+		.size     = ARRAY_SIZE(encore_enltv),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_ENCORE_ENLTV,
 	}
 };
 
drivers/media/rc/keymaps/rc-encore-enltv2.c +4 -4
index 9c6c55240d18..e9b0bfba319c 100644
@@ -67,10 +67,10 @@ static struct rc_map_table encore_enltv2[] = {
 
 static struct rc_map_list encore_enltv2_map = {
 	.map = {
-		.scan    = encore_enltv2,
-		.size    = ARRAY_SIZE(encore_enltv2),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_ENCORE_ENLTV2,
+		.scan     = encore_enltv2,
+		.size     = ARRAY_SIZE(encore_enltv2),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_ENCORE_ENLTV2,
 	}
 };
 
drivers/media/rc/keymaps/rc-evga-indtube.c +4 -4
index 2370d2a3deb6..b77c5e908668 100644
@@ -38,10 +38,10 @@ static struct rc_map_table evga_indtube[] = {
 
 static struct rc_map_list evga_indtube_map = {
 	.map = {
-		.scan    = evga_indtube,
-		.size    = ARRAY_SIZE(evga_indtube),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_EVGA_INDTUBE,
+		.scan     = evga_indtube,
+		.size     = ARRAY_SIZE(evga_indtube),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_EVGA_INDTUBE,
 	}
 };
 
drivers/media/rc/keymaps/rc-eztv.c +4 -4
index b5c96ed84376..5013b3b2aa93 100644
@@ -73,10 +73,10 @@ static struct rc_map_table eztv[] = {
 
 static struct rc_map_list eztv_map = {
 	.map = {
-		.scan    = eztv,
-		.size    = ARRAY_SIZE(eztv),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_EZTV,
+		.scan     = eztv,
+		.size     = ARRAY_SIZE(eztv),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_EZTV,
 	}
 };
 
drivers/media/rc/keymaps/rc-flydvb.c +4 -4
index 25cb89fac03c..418b32521273 100644
@@ -54,10 +54,10 @@ static struct rc_map_table flydvb[] = {
 
 static struct rc_map_list flydvb_map = {
 	.map = {
-		.scan    = flydvb,
-		.size    = ARRAY_SIZE(flydvb),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_FLYDVB,
+		.scan     = flydvb,
+		.size     = ARRAY_SIZE(flydvb),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_FLYDVB,
 	}
 };
 
drivers/media/rc/keymaps/rc-flyvideo.c +4 -4
index e71377dd0534..93fb87ecf061 100644
@@ -47,10 +47,10 @@ static struct rc_map_table flyvideo[] = {
 
 static struct rc_map_list flyvideo_map = {
 	.map = {
-		.scan    = flyvideo,
-		.size    = ARRAY_SIZE(flyvideo),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_FLYVIDEO,
+		.scan     = flyvideo,
+		.size     = ARRAY_SIZE(flyvideo),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_FLYVIDEO,
 	}
 };
 
drivers/media/rc/keymaps/rc-fusionhdtv-mce.c +4 -4
index cf0608dc83d5..9ed3f749262b 100644
@@ -75,10 +75,10 @@ static struct rc_map_table fusionhdtv_mce[] = {
 
 static struct rc_map_list fusionhdtv_mce_map = {
 	.map = {
-		.scan    = fusionhdtv_mce,
-		.size    = ARRAY_SIZE(fusionhdtv_mce),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_FUSIONHDTV_MCE,
+		.scan     = fusionhdtv_mce,
+		.size     = ARRAY_SIZE(fusionhdtv_mce),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_FUSIONHDTV_MCE,
 	}
 };
 
drivers/media/rc/keymaps/rc-gadmei-rm008z.c +4 -4
index 03575bdb2eca..3443b721d092 100644
@@ -58,10 +58,10 @@ static struct rc_map_table gadmei_rm008z[] = {
 
 static struct rc_map_list gadmei_rm008z_map = {
 	.map = {
-		.scan    = gadmei_rm008z,
-		.size    = ARRAY_SIZE(gadmei_rm008z),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_GADMEI_RM008Z,
+		.scan     = gadmei_rm008z,
+		.size     = ARRAY_SIZE(gadmei_rm008z),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_GADMEI_RM008Z,
 	}
 };
 
drivers/media/rc/keymaps/rc-geekbox.c +4 -4
index affc4c481888..4aa1b54bb52e 100644
@@ -31,10 +31,10 @@ static struct rc_map_table geekbox[] = {
 
 static struct rc_map_list geekbox_map = {
 	.map = {
-		.scan    = geekbox,
-		.size    = ARRAY_SIZE(geekbox),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_GEEKBOX,
+		.scan     = geekbox,
+		.size     = ARRAY_SIZE(geekbox),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_GEEKBOX,
 	}
 };
 
drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c +4 -4
index b2ab13b0dcb1..d140e8d45bcc 100644
@@ -61,10 +61,10 @@ static struct rc_map_table genius_tvgo_a11mce[] = {
 
 static struct rc_map_list genius_tvgo_a11mce_map = {
 	.map = {
-		.scan    = genius_tvgo_a11mce,
-		.size    = ARRAY_SIZE(genius_tvgo_a11mce),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_GENIUS_TVGO_A11MCE,
+		.scan     = genius_tvgo_a11mce,
+		.size     = ARRAY_SIZE(genius_tvgo_a11mce),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_GENIUS_TVGO_A11MCE,
 	}
 };
 
drivers/media/rc/keymaps/rc-gotview7135.c +4 -4
index 229a36ac7f0a..51230fbb52ba 100644
@@ -56,10 +56,10 @@ static struct rc_map_table gotview7135[] = {
 
 static struct rc_map_list gotview7135_map = {
 	.map = {
-		.scan    = gotview7135,
-		.size    = ARRAY_SIZE(gotview7135),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_GOTVIEW7135,
+		.scan     = gotview7135,
+		.size     = ARRAY_SIZE(gotview7135),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_GOTVIEW7135,
 	}
 };
 
drivers/media/rc/keymaps/rc-hauppauge.c +4 -4
index 36d57f7c532b..890164b68d64 100644
@@ -269,10 +269,10 @@ static struct rc_map_table rc5_hauppauge_new[] = {
 
 static struct rc_map_list rc5_hauppauge_new_map = {
 	.map = {
-		.scan    = rc5_hauppauge_new,
-		.size    = ARRAY_SIZE(rc5_hauppauge_new),
-		.rc_type = RC_TYPE_RC5,
-		.name    = RC_MAP_HAUPPAUGE,
+		.scan     = rc5_hauppauge_new,
+		.size     = ARRAY_SIZE(rc5_hauppauge_new),
+		.rc_proto = RC_PROTO_RC5,
+		.name     = RC_MAP_HAUPPAUGE,
 	}
 };
 
drivers/media/rc/keymaps/rc-imon-mce.c +4 -4
index f0da960560b0..6a69ce1451f1 100644
@@ -118,11 +118,11 @@ static struct rc_map_table imon_mce[] = {
 
 static struct rc_map_list imon_mce_map = {
 	.map = {
-		.scan    = imon_mce,
-		.size    = ARRAY_SIZE(imon_mce),
+		.scan     = imon_mce,
+		.size     = ARRAY_SIZE(imon_mce),
 		/* its RC6, but w/a hardware decoder */
-		.rc_type = RC_TYPE_RC6_MCE,
-		.name    = RC_MAP_IMON_MCE,
+		.rc_proto = RC_PROTO_RC6_MCE,
+		.name     = RC_MAP_IMON_MCE,
 	}
 };
 
drivers/media/rc/keymaps/rc-imon-pad.c +4 -4
index 999c6295c70e..a7296ffbf218 100644
@@ -132,11 +132,11 @@ static struct rc_map_table imon_pad[] = {
 
 static struct rc_map_list imon_pad_map = {
 	.map = {
-		.scan    = imon_pad,
-		.size    = ARRAY_SIZE(imon_pad),
+		.scan     = imon_pad,
+		.size     = ARRAY_SIZE(imon_pad),
 		/* actual protocol details unknown, hardware decoder */
-		.rc_type = RC_TYPE_OTHER,
-		.name    = RC_MAP_IMON_PAD,
+		.rc_proto = RC_PROTO_OTHER,
+		.name     = RC_MAP_IMON_PAD,
 	}
 };
 
drivers/media/rc/keymaps/rc-iodata-bctv7e.c +4 -4
index 9ee154cb0c6b..8cf87a15c4f2 100644
@@ -65,10 +65,10 @@ static struct rc_map_table iodata_bctv7e[] = {
 
 static struct rc_map_list iodata_bctv7e_map = {
 	.map = {
-		.scan    = iodata_bctv7e,
-		.size    = ARRAY_SIZE(iodata_bctv7e),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_IODATA_BCTV7E,
+		.scan     = iodata_bctv7e,
+		.size     = ARRAY_SIZE(iodata_bctv7e),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_IODATA_BCTV7E,
 	}
 };
 
drivers/media/rc/keymaps/rc-it913x-v1.c +4 -4
index 0ac775fd109d..908d14848ae8 100644
@@ -71,10 +71,10 @@ static struct rc_map_table it913x_v1_rc[] = {
 
 static struct rc_map_list it913x_v1_map = {
 	.map = {
-		.scan    = it913x_v1_rc,
-		.size    = ARRAY_SIZE(it913x_v1_rc),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_IT913X_V1,
+		.scan     = it913x_v1_rc,
+		.size     = ARRAY_SIZE(it913x_v1_rc),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_IT913X_V1,
 	}
 };
 
drivers/media/rc/keymaps/rc-it913x-v2.c +4 -4
index bd42a30ec06f..05ab7fa4f90b 100644
@@ -70,10 +70,10 @@ static struct rc_map_table it913x_v2_rc[] = {
 
 static struct rc_map_list it913x_v2_map = {
 	.map = {
-		.scan    = it913x_v2_rc,
-		.size    = ARRAY_SIZE(it913x_v2_rc),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_IT913X_V2,
+		.scan     = it913x_v2_rc,
+		.size     = ARRAY_SIZE(it913x_v2_rc),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_IT913X_V2,
 	}
 };
 
drivers/media/rc/keymaps/rc-kaiomy.c +4 -4
index 60803a732c08..e791f1e1b43b 100644
@@ -64,10 +64,10 @@ static struct rc_map_table kaiomy[] = {
 
 static struct rc_map_list kaiomy_map = {
 	.map = {
-		.scan    = kaiomy,
-		.size    = ARRAY_SIZE(kaiomy),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_KAIOMY,
+		.scan     = kaiomy,
+		.size     = ARRAY_SIZE(kaiomy),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_KAIOMY,
 	}
 };
 
drivers/media/rc/keymaps/rc-kworld-315u.c +4 -4
index ba087eed1ed9..71dce0138f0e 100644
@@ -60,10 +60,10 @@ static struct rc_map_table kworld_315u[] = {
 
 static struct rc_map_list kworld_315u_map = {
 	.map = {
-		.scan    = kworld_315u,
-		.size    = ARRAY_SIZE(kworld_315u),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_KWORLD_315U,
+		.scan     = kworld_315u,
+		.size     = ARRAY_SIZE(kworld_315u),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_KWORLD_315U,
 	}
 };
 
drivers/media/rc/keymaps/rc-kworld-pc150u.c +4 -4
index b92e571f4def..3846059060aa 100644
@@ -78,10 +78,10 @@ static struct rc_map_table kworld_pc150u[] = {
 
 static struct rc_map_list kworld_pc150u_map = {
 	.map = {
-		.scan    = kworld_pc150u,
-		.size    = ARRAY_SIZE(kworld_pc150u),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_KWORLD_PC150U,
+		.scan     = kworld_pc150u,
+		.size     = ARRAY_SIZE(kworld_pc150u),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_KWORLD_PC150U,
 	}
 };
 
drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c +4 -4
index edc868564f99..e0322ed16c94 100644
@@ -76,10 +76,10 @@ static struct rc_map_table kworld_plus_tv_analog[] = {
 
 static struct rc_map_list kworld_plus_tv_analog_map = {
 	.map = {
-		.scan    = kworld_plus_tv_analog,
-		.size    = ARRAY_SIZE(kworld_plus_tv_analog),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_KWORLD_PLUS_TV_ANALOG,
+		.scan     = kworld_plus_tv_analog,
+		.size     = ARRAY_SIZE(kworld_plus_tv_analog),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_KWORLD_PLUS_TV_ANALOG,
 	}
 };
 
drivers/media/rc/keymaps/rc-leadtek-y04g0051.c +4 -4
index 03d762d986ee..e534a5601b6d 100644
@@ -76,10 +76,10 @@ static struct rc_map_table leadtek_y04g0051[] = {
 
 static struct rc_map_list leadtek_y04g0051_map = {
 	.map = {
-		.scan    = leadtek_y04g0051,
-		.size    = ARRAY_SIZE(leadtek_y04g0051),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_LEADTEK_Y04G0051,
+		.scan     = leadtek_y04g0051,
+		.size     = ARRAY_SIZE(leadtek_y04g0051),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_LEADTEK_Y04G0051,
 	}
 };
 
drivers/media/rc/keymaps/rc-lme2510.c +4 -4
index 2b0027c41332..9c93f90f5c2b 100644
@@ -87,10 +87,10 @@ static struct rc_map_table lme2510_rc[] = {
 
 static struct rc_map_list lme2510_map = {
 	.map = {
-		.scan    = lme2510_rc,
-		.size    = ARRAY_SIZE(lme2510_rc),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_LME2510,
+		.scan     = lme2510_rc,
+		.size     = ARRAY_SIZE(lme2510_rc),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_LME2510,
 	}
 };
 
drivers/media/rc/keymaps/rc-manli.c +4 -4
index 92424ef2aaa6..da566902a4dd 100644
@@ -111,10 +111,10 @@ static struct rc_map_table manli[] = {
 
 static struct rc_map_list manli_map = {
 	.map = {
-		.scan    = manli,
-		.size    = ARRAY_SIZE(manli),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_MANLI,
+		.scan     = manli,
+		.size     = ARRAY_SIZE(manli),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_MANLI,
 	}
 };
 
drivers/media/rc/keymaps/rc-medion-x10-digitainer.c +4 -4
index 966f9b3c71da..c9973340e546 100644
@@ -98,10 +98,10 @@ static struct rc_map_table medion_x10_digitainer[] = {
 
 static struct rc_map_list medion_x10_digitainer_map = {
 	.map = {
-		.scan    = medion_x10_digitainer,
-		.size    = ARRAY_SIZE(medion_x10_digitainer),
-		.rc_type = RC_TYPE_OTHER,
-		.name    = RC_MAP_MEDION_X10_DIGITAINER,
+		.scan     = medion_x10_digitainer,
+		.size     = ARRAY_SIZE(medion_x10_digitainer),
+		.rc_proto = RC_PROTO_OTHER,
+		.name     = RC_MAP_MEDION_X10_DIGITAINER,
 	}
 };
 
drivers/media/rc/keymaps/rc-medion-x10-or2x.c +4 -4
index b077300ecb5c..103ad88d242c 100644
@@ -83,10 +83,10 @@ static struct rc_map_table medion_x10_or2x[] = {
 
 static struct rc_map_list medion_x10_or2x_map = {
 	.map = {
-		.scan    = medion_x10_or2x,
-		.size    = ARRAY_SIZE(medion_x10_or2x),
-		.rc_type = RC_TYPE_OTHER,
-		.name    = RC_MAP_MEDION_X10_OR2X,
+		.scan     = medion_x10_or2x,
+		.size     = ARRAY_SIZE(medion_x10_or2x),
+		.rc_proto = RC_PROTO_OTHER,
+		.name     = RC_MAP_MEDION_X10_OR2X,
 	}
 };
 
drivers/media/rc/keymaps/rc-medion-x10.c +4 -4
index 479cdb897810..bbffa5dfe420 100644
@@ -93,10 +93,10 @@ static struct rc_map_table medion_x10[] = {
 
 static struct rc_map_list medion_x10_map = {
 	.map = {
-		.scan    = medion_x10,
-		.size    = ARRAY_SIZE(medion_x10),
-		.rc_type = RC_TYPE_OTHER,
-		.name    = RC_MAP_MEDION_X10,
+		.scan     = medion_x10,
+		.size     = ARRAY_SIZE(medion_x10),
+		.rc_proto = RC_PROTO_OTHER,
+		.name     = RC_MAP_MEDION_X10,
 	}
 };
 
drivers/media/rc/keymaps/rc-msi-digivox-ii.c +4 -4
index 2fa71d0d72d7..94aa12d4b73c 100644
@@ -44,10 +44,10 @@ static struct rc_map_table msi_digivox_ii[] = {
 
 static struct rc_map_list msi_digivox_ii_map = {
 	.map = {
-		.scan    = msi_digivox_ii,
-		.size    = ARRAY_SIZE(msi_digivox_ii),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_MSI_DIGIVOX_II,
+		.scan     = msi_digivox_ii,
+		.size     = ARRAY_SIZE(msi_digivox_ii),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_MSI_DIGIVOX_II,
 	}
 };
 
drivers/media/rc/keymaps/rc-msi-digivox-iii.c +4 -4
index 303a0b73175b..8fec0c1dcb12 100644
@@ -62,10 +62,10 @@ static struct rc_map_table msi_digivox_iii[] = {
 
 static struct rc_map_list msi_digivox_iii_map = {
 	.map = {
-		.scan    = msi_digivox_iii,
-		.size    = ARRAY_SIZE(msi_digivox_iii),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_MSI_DIGIVOX_III,
+		.scan     = msi_digivox_iii,
+		.size     = ARRAY_SIZE(msi_digivox_iii),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_MSI_DIGIVOX_III,
 	}
 };
 
drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c +4 -4
index fd7a55c56167..dfa0ed1d7667 100644
@@ -100,10 +100,10 @@ static struct rc_map_table msi_tvanywhere_plus[] = {
 
 static struct rc_map_list msi_tvanywhere_plus_map = {
 	.map = {
-		.scan    = msi_tvanywhere_plus,
-		.size    = ARRAY_SIZE(msi_tvanywhere_plus),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_MSI_TVANYWHERE_PLUS,
+		.scan     = msi_tvanywhere_plus,
+		.size     = ARRAY_SIZE(msi_tvanywhere_plus),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_MSI_TVANYWHERE_PLUS,
 	}
 };
 
drivers/media/rc/keymaps/rc-msi-tvanywhere.c +4 -4
index 4233a8d4d63e..2111816a3f59 100644
@@ -46,10 +46,10 @@ static struct rc_map_table msi_tvanywhere[] = {
 
 static struct rc_map_list msi_tvanywhere_map = {
 	.map = {
-		.scan    = msi_tvanywhere,
-		.size    = ARRAY_SIZE(msi_tvanywhere),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_MSI_TVANYWHERE,
+		.scan     = msi_tvanywhere,
+		.size     = ARRAY_SIZE(msi_tvanywhere),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_MSI_TVANYWHERE,
 	}
 };
 
drivers/media/rc/keymaps/rc-nebula.c +4 -4
index 4c50f33c7c41..109b6e1a8b1a 100644
@@ -73,10 +73,10 @@ static struct rc_map_table nebula[] = {
 
 static struct rc_map_list nebula_map = {
 	.map = {
-		.scan    = nebula,
-		.size    = ARRAY_SIZE(nebula),
-		.rc_type = RC_TYPE_RC5,
-		.name    = RC_MAP_NEBULA,
+		.scan     = nebula,
+		.size     = ARRAY_SIZE(nebula),
+		.rc_proto = RC_PROTO_RC5,
+		.name     = RC_MAP_NEBULA,
 	}
 };
 
drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c +4 -4
index 292bbad35d21..bb2d3a2962c0 100644
@@ -134,10 +134,10 @@ static struct rc_map_table nec_terratec_cinergy_xs[] = {
 
 static struct rc_map_list nec_terratec_cinergy_xs_map = {
 	.map = {
-		.scan    = nec_terratec_cinergy_xs,
-		.size    = ARRAY_SIZE(nec_terratec_cinergy_xs),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_NEC_TERRATEC_CINERGY_XS,
+		.scan     = nec_terratec_cinergy_xs,
+		.size     = ARRAY_SIZE(nec_terratec_cinergy_xs),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_NEC_TERRATEC_CINERGY_XS,
 	}
 };
 
drivers/media/rc/keymaps/rc-norwood.c +4 -4
index ca1b82a2c54f..cd25df336749 100644
@@ -62,10 +62,10 @@ static struct rc_map_table norwood[] = {
 
 static struct rc_map_list norwood_map = {
 	.map = {
-		.scan    = norwood,
-		.size    = ARRAY_SIZE(norwood),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_NORWOOD,
+		.scan     = norwood,
+		.size     = ARRAY_SIZE(norwood),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_NORWOOD,
 	}
 };
 
drivers/media/rc/keymaps/rc-npgtech.c +4 -4
index 1fb946024512..140bbc20a764 100644
@@ -57,10 +57,10 @@ static struct rc_map_table npgtech[] = {
 
 static struct rc_map_list npgtech_map = {
 	.map = {
-		.scan    = npgtech,
-		.size    = ARRAY_SIZE(npgtech),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_NPGTECH,
+		.scan     = npgtech,
+		.size     = ARRAY_SIZE(npgtech),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_NPGTECH,
 	}
 };
 
drivers/media/rc/keymaps/rc-pctv-sedna.c +4 -4
index 5ef01ab3fd50..52b4558b7bd0 100644
@@ -57,10 +57,10 @@ static struct rc_map_table pctv_sedna[] = {
 
 static struct rc_map_list pctv_sedna_map = {
 	.map = {
-		.scan    = pctv_sedna,
-		.size    = ARRAY_SIZE(pctv_sedna),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_PCTV_SEDNA,
+		.scan     = pctv_sedna,
+		.size     = ARRAY_SIZE(pctv_sedna),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_PCTV_SEDNA,
 	}
 };
 
drivers/media/rc/keymaps/rc-pinnacle-color.c +4 -4
index a218b471a4ca..973c9c34e304 100644
@@ -71,10 +71,10 @@ static struct rc_map_table pinnacle_color[] = {
 
 static struct rc_map_list pinnacle_color_map = {
 	.map = {
-		.scan    = pinnacle_color,
-		.size    = ARRAY_SIZE(pinnacle_color),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_PINNACLE_COLOR,
+		.scan     = pinnacle_color,
+		.size     = ARRAY_SIZE(pinnacle_color),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_PINNACLE_COLOR,
 	}
 };
 
drivers/media/rc/keymaps/rc-pinnacle-grey.c +4 -4
index 4a3f467a47a2..22e44b0d2a93 100644
@@ -66,10 +66,10 @@ static struct rc_map_table pinnacle_grey[] = {
 
 static struct rc_map_list pinnacle_grey_map = {
 	.map = {
-		.scan    = pinnacle_grey,
-		.size    = ARRAY_SIZE(pinnacle_grey),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_PINNACLE_GREY,
+		.scan     = pinnacle_grey,
+		.size     = ARRAY_SIZE(pinnacle_grey),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_PINNACLE_GREY,
 	}
 };
 
drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c +4 -4
index e89cc10b68bf..186dcf8e0491 100644
@@ -47,10 +47,10 @@ static struct rc_map_table pinnacle_pctv_hd[] = {
 
 static struct rc_map_list pinnacle_pctv_hd_map = {
 	.map = {
-		.scan    = pinnacle_pctv_hd,
-		.size    = ARRAY_SIZE(pinnacle_pctv_hd),
-		.rc_type = RC_TYPE_RC5,
-		.name    = RC_MAP_PINNACLE_PCTV_HD,
+		.scan     = pinnacle_pctv_hd,
+		.size     = ARRAY_SIZE(pinnacle_pctv_hd),
+		.rc_proto = RC_PROTO_RC5,
+		.name     = RC_MAP_PINNACLE_PCTV_HD,
 	}
 };
 
drivers/media/rc/keymaps/rc-pixelview-002t.c +4 -4
index d967c3816fdc..b235ada2e28f 100644
@@ -54,10 +54,10 @@ static struct rc_map_table pixelview_002t[] = {
 
 static struct rc_map_list pixelview_map = {
 	.map = {
-		.scan    = pixelview_002t,
-		.size    = ARRAY_SIZE(pixelview_002t),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_PIXELVIEW_002T,
+		.scan     = pixelview_002t,
+		.size     = ARRAY_SIZE(pixelview_002t),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_PIXELVIEW_002T,
 	}
 };
 
drivers/media/rc/keymaps/rc-pixelview-mk12.c +4 -4
index 224d0efaa6e5..453d52d663fe 100644
@@ -60,10 +60,10 @@ static struct rc_map_table pixelview_mk12[] = {
 
 static struct rc_map_list pixelview_map = {
 	.map = {
-		.scan    = pixelview_mk12,
-		.size    = ARRAY_SIZE(pixelview_mk12),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_PIXELVIEW_MK12,
+		.scan     = pixelview_mk12,
+		.size     = ARRAY_SIZE(pixelview_mk12),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_PIXELVIEW_MK12,
 	}
 };
 
drivers/media/rc/keymaps/rc-pixelview-new.c +4 -4
index 781d788d6b6d..ef97095ec8f1 100644
@@ -60,10 +60,10 @@ static struct rc_map_table pixelview_new[] = {
 
 static struct rc_map_list pixelview_new_map = {
 	.map = {
-		.scan    = pixelview_new,
-		.size    = ARRAY_SIZE(pixelview_new),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_PIXELVIEW_NEW,
+		.scan     = pixelview_new,
+		.size     = ARRAY_SIZE(pixelview_new),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_PIXELVIEW_NEW,
 	}
 };
 
drivers/media/rc/keymaps/rc-pixelview.c +4 -4
index 39e6feaa35a3..cfd8f80d3617 100644
@@ -59,10 +59,10 @@ static struct rc_map_table pixelview[] = {
 
 static struct rc_map_list pixelview_map = {
 	.map = {
-		.scan    = pixelview,
-		.size    = ARRAY_SIZE(pixelview),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_PIXELVIEW,
+		.scan     = pixelview,
+		.size     = ARRAY_SIZE(pixelview),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_PIXELVIEW,
 	}
 };
 
drivers/media/rc/keymaps/rc-powercolor-real-angel.c +4 -4
index e96fa3ab9f4b..b63f82bcf29a 100644
@@ -58,10 +58,10 @@ static struct rc_map_table powercolor_real_angel[] = {
 
 static struct rc_map_list powercolor_real_angel_map = {
 	.map = {
-		.scan    = powercolor_real_angel,
-		.size    = ARRAY_SIZE(powercolor_real_angel),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_POWERCOLOR_REAL_ANGEL,
+		.scan     = powercolor_real_angel,
+		.size     = ARRAY_SIZE(powercolor_real_angel),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_POWERCOLOR_REAL_ANGEL,
 	}
 };
 
drivers/media/rc/keymaps/rc-proteus-2309.c +4 -4
index eef626ee02df..be34c517e4e1 100644
@@ -46,10 +46,10 @@ static struct rc_map_table proteus_2309[] = {
 
 static struct rc_map_list proteus_2309_map = {
 	.map = {
-		.scan    = proteus_2309,
-		.size    = ARRAY_SIZE(proteus_2309),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_PROTEUS_2309,
+		.scan     = proteus_2309,
+		.size     = ARRAY_SIZE(proteus_2309),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_PROTEUS_2309,
 	}
 };
 
drivers/media/rc/keymaps/rc-purpletv.c +4 -4
index cec6fe466829..84c40b97ee00 100644
@@ -58,10 +58,10 @@ static struct rc_map_table purpletv[] = {
 
 static struct rc_map_list purpletv_map = {
 	.map = {
-		.scan    = purpletv,
-		.size    = ARRAY_SIZE(purpletv),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_PURPLETV,
+		.scan     = purpletv,
+		.size     = ARRAY_SIZE(purpletv),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_PURPLETV,
 	}
 };
 
drivers/media/rc/keymaps/rc-pv951.c +4 -4
index 5ac89ce8c053..be190ddebfc4 100644
@@ -55,10 +55,10 @@ static struct rc_map_table pv951[] = {
 
 static struct rc_map_list pv951_map = {
 	.map = {
-		.scan    = pv951,
-		.size    = ARRAY_SIZE(pv951),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_PV951,
+		.scan     = pv951,
+		.size     = ARRAY_SIZE(pv951),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_PV951,
 	}
 };
 
drivers/media/rc/keymaps/rc-rc6-mce.c +4 -4
index 5be567506bcd..0d87b20a0c43 100644
@@ -96,10 +96,10 @@ static struct rc_map_table rc6_mce[] = {
 
 static struct rc_map_list rc6_mce_map = {
 	.map = {
-		.scan    = rc6_mce,
-		.size    = ARRAY_SIZE(rc6_mce),
-		.rc_type = RC_TYPE_RC6_MCE,
-		.name    = RC_MAP_RC6_MCE,
+		.scan     = rc6_mce,
+		.size     = ARRAY_SIZE(rc6_mce),
+		.rc_proto = RC_PROTO_RC6_MCE,
+		.name     = RC_MAP_RC6_MCE,
 	}
 };
 
drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c +4 -4
index 9f778bd091db..957fa21747ea 100644
@@ -55,10 +55,10 @@ static struct rc_map_table real_audio_220_32_keys[] = {
 
 static struct rc_map_list real_audio_220_32_keys_map = {
 	.map = {
-		.scan    = real_audio_220_32_keys,
-		.size    = ARRAY_SIZE(real_audio_220_32_keys),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_REAL_AUDIO_220_32_KEYS,
+		.scan     = real_audio_220_32_keys,
+		.size     = ARRAY_SIZE(real_audio_220_32_keys),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_REAL_AUDIO_220_32_KEYS,
 	}
 };
 
drivers/media/rc/keymaps/rc-reddo.c +4 -4
index b80b336e9284..3b37acc7b144 100644
@@ -62,10 +62,10 @@ static struct rc_map_table reddo[] = {
 
 static struct rc_map_list reddo_map = {
 	.map = {
-		.scan    = reddo,
-		.size    = ARRAY_SIZE(reddo),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_REDDO,
+		.scan     = reddo,
+		.size     = ARRAY_SIZE(reddo),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_REDDO,
 	}
 };
 
drivers/media/rc/keymaps/rc-snapstream-firefly.c +4 -4
index c7f33ec719b4..30630a6f76ac 100644
@@ -83,10 +83,10 @@ static struct rc_map_table snapstream_firefly[] = {
 
 static struct rc_map_list snapstream_firefly_map = {
 	.map = {
-		.scan    = snapstream_firefly,
-		.size    = ARRAY_SIZE(snapstream_firefly),
-		.rc_type = RC_TYPE_OTHER,
-		.name    = RC_MAP_SNAPSTREAM_FIREFLY,
+		.scan     = snapstream_firefly,
+		.size     = ARRAY_SIZE(snapstream_firefly),
+		.rc_proto = RC_PROTO_OTHER,
+		.name     = RC_MAP_SNAPSTREAM_FIREFLY,
 	}
 };
 
drivers/media/rc/keymaps/rc-streamzap.c +4 -4
index 23c061174ed7..b53bca9e4576 100644
@@ -57,10 +57,10 @@ static struct rc_map_table streamzap[] = {
 
 static struct rc_map_list streamzap_map = {
 	.map = {
-		.scan    = streamzap,
-		.size    = ARRAY_SIZE(streamzap),
-		.rc_type = RC_TYPE_RC5_SZ,
-		.name    = RC_MAP_STREAMZAP,
+		.scan     = streamzap,
+		.size     = ARRAY_SIZE(streamzap),
+		.rc_proto = RC_PROTO_RC5_SZ,
+		.name     = RC_MAP_STREAMZAP,
 	}
 };
 
drivers/media/rc/keymaps/rc-su3000.c +4 -4
index 8dbd3e9bc951..d9af7e3c55d9 100644
@@ -51,10 +51,10 @@ static struct rc_map_table su3000[] = {
 
 static struct rc_map_list su3000_map = {
 	.map = {
-		.scan    = su3000,
-		.size    = ARRAY_SIZE(su3000),
-		.rc_type = RC_TYPE_RC5,
-		.name    = RC_MAP_SU3000,
+		.scan     = su3000,
+		.size     = ARRAY_SIZE(su3000),
+		.rc_proto = RC_PROTO_RC5,
+		.name     = RC_MAP_SU3000,
 	}
 };
 
drivers/media/rc/keymaps/rc-tbs-nec.c +4 -4
index 24ce2a252502..05facc043272 100644
@@ -52,10 +52,10 @@ static struct rc_map_table tbs_nec[] = {
 
 static struct rc_map_list tbs_nec_map = {
 	.map = {
-		.scan    = tbs_nec,
-		.size    = ARRAY_SIZE(tbs_nec),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_TBS_NEC,
+		.scan     = tbs_nec,
+		.size     = ARRAY_SIZE(tbs_nec),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_TBS_NEC,
 	}
 };
 
drivers/media/rc/keymaps/rc-technisat-ts35.c +4 -4
index 3328cbefabad..dff7021734ba 100644
@@ -53,10 +53,10 @@ static struct rc_map_table technisat_ts35[] = {
 
 static struct rc_map_list technisat_ts35_map = {
 	.map = {
-		.scan    = technisat_ts35,
-		.size    = ARRAY_SIZE(technisat_ts35),
-		.rc_type = RC_TYPE_UNKNOWN,
-		.name    = RC_MAP_TECHNISAT_TS35,
+		.scan     = technisat_ts35,
+		.size     = ARRAY_SIZE(technisat_ts35),
+		.rc_proto = RC_PROTO_UNKNOWN,
+		.name     = RC_MAP_TECHNISAT_TS35,
 	}
 };
 
drivers/media/rc/keymaps/rc-technisat-usb2.c +4 -4
index 02c9c243c060..58b3baf5ee96 100644
@@ -66,10 +66,10 @@ static struct rc_map_table technisat_usb2[] = {
 
 static struct rc_map_list technisat_usb2_map = {
 	.map = {
-		.scan    = technisat_usb2,
-		.size    = ARRAY_SIZE(technisat_usb2),
-		.rc_type = RC_TYPE_RC5,
-		.name    = RC_MAP_TECHNISAT_USB2,
+		.scan     = technisat_usb2,
+		.size     = ARRAY_SIZE(technisat_usb2),
+		.rc_proto = RC_PROTO_RC5,
+		.name     = RC_MAP_TECHNISAT_USB2,
 	}
 };
 
drivers/media/rc/keymaps/rc-terratec-cinergy-c-pci.c +4 -4
index 7958f458527a..7ae88ccf1def 100644
@@ -65,10 +65,10 @@ static struct rc_map_table terratec_cinergy_c_pci[] = {
 
 static struct rc_map_list terratec_cinergy_c_pci_map = {
 	.map = {
-		.scan    = terratec_cinergy_c_pci,
-		.size    = ARRAY_SIZE(terratec_cinergy_c_pci),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_TERRATEC_CINERGY_C_PCI,
+		.scan     = terratec_cinergy_c_pci,
+		.size     = ARRAY_SIZE(terratec_cinergy_c_pci),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_TERRATEC_CINERGY_C_PCI,
 	}
 };
 
drivers/media/rc/keymaps/rc-terratec-cinergy-s2-hd.c +4 -4
index 1e096bbda4a0..bf0171b05ac2 100644
@@ -63,10 +63,10 @@ static struct rc_map_table terratec_cinergy_s2_hd[] = {
 
 static struct rc_map_list terratec_cinergy_s2_hd_map = {
 	.map = {
-		.scan    = terratec_cinergy_s2_hd,
-		.size    = ARRAY_SIZE(terratec_cinergy_s2_hd),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_TERRATEC_CINERGY_S2_HD,
+		.scan     = terratec_cinergy_s2_hd,
+		.size     = ARRAY_SIZE(terratec_cinergy_s2_hd),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_TERRATEC_CINERGY_S2_HD,
 	}
 };
 
drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c +4 -4
index 97eb83ab5a35..3d0f6f7e5bea 100644
@@ -69,10 +69,10 @@ static struct rc_map_table terratec_cinergy_xs[] = {
 
 static struct rc_map_list terratec_cinergy_xs_map = {
 	.map = {
-		.scan    = terratec_cinergy_xs,
-		.size    = ARRAY_SIZE(terratec_cinergy_xs),
-		.rc_type = RC_TYPE_UNKNOWN,	/* Legacy IR type */
-		.name    = RC_MAP_TERRATEC_CINERGY_XS,
+		.scan     = terratec_cinergy_xs,
+		.size     = ARRAY_SIZE(terratec_cinergy_xs),
+		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
+		.name     = RC_MAP_TERRATEC_CINERGY_XS,
 	}
 };
 
drivers/media/rc/keymaps/rc-terratec-slim-2.c +4 -4
index 4c149ef712dc..df57e0a45820 100644
@@ -49,10 +49,10 @@ static struct rc_map_table terratec_slim_2[] = {
 
 static struct rc_map_list terratec_slim_2_map = {
 	.map = {
-		.scan    = terratec_slim_2,
-		.size    = ARRAY_SIZE(terratec_slim_2),
-		.rc_type = RC_TYPE_NEC,
-		.name    = RC_MAP_TERRATEC_SLIM_2,
+		.scan     = terratec_slim_2,
+		.size     = ARRAY_SIZE(terratec_slim_2),
+		.rc_proto = RC_PROTO_NEC,
+		.name     = RC_MAP_TERRATEC_SLIM_2,
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-terratec-slim.c +4 -4
index 3d8a19cdb5a2..628272c58d65 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-tevii-nec.c +4 -4
index 38e0c0875596..31f8a0fd1f2c 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-tivo.c +4 -4
index 5cc1b456e329..1962e33c8f4e 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-total-media-in-hand-02.c +4 -4
index 47270f72ebf0..eeeca142f7b1 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-total-media-in-hand.c +4 -4
index 5b9f9ec13680..bc73bee309d8 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-trekstor.c +4 -4
index f9a2e0fabb9f..63f966219342 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-tt-1500.c +4 -4
index c766d3b2b6b0..374c230705d2 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-twinhan-dtv-cab-ci.c +4 -4
index 202500cb3061..240d720d440c 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-twinhan1027.c +4 -4
index 509299b90c90..2275b37c61d2 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-videomate-m1f.c +4 -4
index 23ee05e53949..fe02e047bd01 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-videomate-s350.c +4 -4
index 8a354775a2d8..b4f103269872 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-videomate-tv-pvr.c +4 -4
index eb0cda7766c4..c431fdf44057 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c +4 -4
index c1dd598e828e..5a437e61bd5d 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-winfast.c +4 -4
index 8a779da1e973..53685d1f9a47 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/keymaps/rc-zx-irdec.c +1 -1
index cc889df47eb8..5bf3ab002afc 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/mceusb.c +1 -1
index 60258889b162..bf7aaff3aa37 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/meson-ir.c +1 -1
index dfe3da487be0..f2204eb77e2a 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/mtk-cir.c +1 -1
index da4461fabce6..e88eb64e8e69 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/nuvoton-cir.c +2 -2
index 5249cb58ea73..5e1d866a61a5 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/rc-core-priv.h +1 -1
index 5e5b10fbc47e..7da9c96cb058 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/rc-ir-raw.c +2 -2
index 1761be8c7028..f495709e28fb 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/rc-loopback.c +2 -2
index 46cc9c29d68a..3822d9ebcb46 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/rc-main.c +96 -94

190 lines not on this page · raw message

drivers/media/rc/redrat3.c +1 -1
index 29fa37b99553..6784cb9fc4e7 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/serial_ir.c +1 -1
index 9a5e9fa01196..4b8d5f38baf6 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/sir_ir.c +1 -1
index 83b4410664af..bc906fb128d5 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/st_rc.c +1 -1
index dc15dc8a7d21..a8e39c635f34 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/streamzap.c +1 -1
index 829f2b348a46..f03a174ddf9d 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/sunxi-cir.c +1 -1
index f619b76273be..97f367b446c4 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/ttusbir.c +1 -1
index 5002a91e830e..aafea3c5170b 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/winbond-cir.c +17 -16
index a18eb232ed81..3ca7ab48293d 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/zx-irdec.c +5 -4
index 9452bac9262c..12d322ec8a29 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/au0828/au0828-input.c +2 -2
index 9ae42ebefa8a..7996eb83a54e 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/cx231xx/cx231xx-input.c +3 -3
index eecf074b0a48..02ebeb16055f 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb-v2/af9015.c +6 -5
index 23bbbf367b51..8013659c41b1 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb-v2/af9035.c +7 -7
index ccf4a5c68877..666d319d3d1a 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb-v2/anysee.c +2 -2
index 6795c0c609b1..20ee7eea2a91 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb-v2/az6007.c +6 -5
index 50c07fe7dacb..5c59505cd2e6 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb-v2/dvb_usb.h +1 -1
index 35f27e2e4e28..0005bdb2207d 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb-v2/dvbsky.c +2 -2
index 5730760e4e93..131b6c08e199 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb-v2/lmedm04.c +3 -3
index a91fdad8f8d4..5e320fa4a795 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb-v2/rtl28xxu.c +7 -6
index e16ca07acf1d..95a7b9123f8e 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/cxusb.c +15 -15
index 99a3f3625944..37dea0adc695 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/dib0700.h +1 -1
index 8fd8f5b489d2..f89ab3b5a6c4 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/dib0700_core.c +14 -14
index bea1b4764a66..1ee7ec558293 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/dib0700_devices.c +76 -76

152 lines not on this page · raw message

drivers/media/usb/dvb-usb/dtt200u.c +6 -6
index fcbff7fb0c4e..512370786696 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/dvb-usb.h +1 -1
index 67f898b6f6d0..72468fdffa18 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/dw2102.c +11 -10
index 57b187240110..11109b1e641f 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/m920x.c +2 -2
index 70672e1e5ec7..32081c2ce0da 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/pctv452e.c +3 -3
index d54ebe7e0215..601ade7ca48d 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/technisat-usb2.c +1 -1
index 9f7dd1afcb15..18d0f8f5283f 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/dvb-usb/ttusb2.c +2 -2
index 9e0d6a4166d2..e7020f245f53 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/em28xx/em28xx-input.c +65 -59

124 lines not on this page · raw message

drivers/media/usb/hdpvr/hdpvr-i2c.c +2 -1
index fcab55038d99..b9074b978ae3 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c +5 -5
index 20a52b785fff..e3c8f9414e45 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/tm6000/tm6000-input.c +19 -19
index 83e33aef0105..91889ad9cdd7 100644

Lines of this file are not shown. View the raw message.

include/media/i2c/ir-kbd-i2c.h +5 -3
index d8564354debb..ac8c55617a79 100644

Lines of this file are not shown. View the raw message.

include/media/rc-core.h +18 -15
index 5be527ff851d..314a1edb6189 100644

Lines of this file are not shown. View the raw message.

include/media/rc-map.h +112 -103

215 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Signature · 1 line
2.13.4

Part of the diff is not shown here. View the raw message.

Acked-by on v1 5/6
#6 lore raw

Re: [PATCH 5/6] [media] rc: rename RC_TYPE_* to RC_PROTO_* and RC_BIT_* to RC_PROTO_BIT_*

Quoted 3 lines · Sean Young

RC_TYPE is confusing and it's just the protocol. So rename it.

Much better! It's a bit of a painful patch, but so be it. The old names were really confusing.

Quoted 3 lines
---
 drivers/hid/hid-picolcd_cir.c                      |   2 +-

Is a separate Ack needed for this change?

Regards,

Hans

author maintainer
#7 lore raw

PATCH 6/6 rc: saa7134: raw decoder can support any protocol

In reply to Sean Young

Any protocol for which we have a software decoder, can be enabled. Without this only the protocol of the default keymap can be used (rc-5).

---
 drivers/media/pci/saa7134/saa7134-input.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/media/pci/saa7134/saa7134-input.c +3 -1
index b1f3769eac45..9337e4615519 100644
@@ -860,8 +860,10 @@ int saa7134_input_init1(struct saa7134_dev *dev)
 	rc->priv = dev;
 	rc->open = saa7134_ir_open;
 	rc->close = saa7134_ir_close;
-	if (raw_decode)
+	if (raw_decode) {
 		rc->driver_type = RC_DRIVER_IR_RAW;
+		rc->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
+	}
 
 	rc->device_name = ir->name;
 	rc->input_phys = ir->phys;
Signature · 1 line
2.13.4