aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2014-04-03 19:32:21 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-07-25 18:10:43 -0400
commitc5540fbb9de39ceec108a889133664a887c2f55a (patch)
tree92d1523fa4ab99fc27d14dcd3ee00627eeb8a346 /drivers/media
parentda6e162d6a4607362f8478c715c797d84d449f8b (diff)
[media] rc-core: remove protocol arrays
The basic API of rc-core used to be: dev = rc_allocate_device(); dev->x = a; dev->y = b; dev->z = c; rc_register_device(); which is a pretty common pattern in the kernel, after the introduction of protocol arrays the API looks something like: dev = rc_allocate_device(); dev->x = a; rc_set_allowed_protocols(dev, RC_BIT_X); dev->z = c; rc_register_device(); There's no real need for the protocols to be an array, so change it back to be consistent (and in preparation for the following patches). [m.chehab@samsung.com: added missing changes at some files] Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/common/siano/smsir.c2
-rw-r--r--drivers/media/i2c/ir-kbd-i2c.c4
-rw-r--r--drivers/media/pci/cx23885/cx23885-input.c2
-rw-r--r--drivers/media/pci/cx88/cx88-input.c2
-rw-r--r--drivers/media/rc/ati_remote.c2
-rw-r--r--drivers/media/rc/ene_ir.c2
-rw-r--r--drivers/media/rc/fintek-cir.c2
-rw-r--r--drivers/media/rc/gpio-ir-recv.c4
-rw-r--r--drivers/media/rc/iguanair.c2
-rw-r--r--drivers/media/rc/img-ir/img-ir-hw.c16
-rw-r--r--drivers/media/rc/imon.c7
-rw-r--r--drivers/media/rc/ir-jvc-decoder.c2
-rw-r--r--drivers/media/rc/ir-lirc-codec.c2
-rw-r--r--drivers/media/rc/ir-mce_kbd-decoder.c2
-rw-r--r--drivers/media/rc/ir-nec-decoder.c2
-rw-r--r--drivers/media/rc/ir-raw.c2
-rw-r--r--drivers/media/rc/ir-rc5-decoder.c6
-rw-r--r--drivers/media/rc/ir-rc5-sz-decoder.c2
-rw-r--r--drivers/media/rc/ir-rc6-decoder.c6
-rw-r--r--drivers/media/rc/ir-sanyo-decoder.c2
-rw-r--r--drivers/media/rc/ir-sharp-decoder.c2
-rw-r--r--drivers/media/rc/ir-sony-decoder.c10
-rw-r--r--drivers/media/rc/ite-cir.c2
-rw-r--r--drivers/media/rc/mceusb.c2
-rw-r--r--drivers/media/rc/nuvoton-cir.c2
-rw-r--r--drivers/media/rc/rc-loopback.c2
-rw-r--r--drivers/media/rc/rc-main.c30
-rw-r--r--drivers/media/rc/redrat3.c2
-rw-r--r--drivers/media/rc/st_rc.c2
-rw-r--r--drivers/media/rc/streamzap.c2
-rw-r--r--drivers/media/rc/sunxi-cir.c2
-rw-r--r--drivers/media/rc/ttusbir.c2
-rw-r--r--drivers/media/rc/winbond-cir.c2
-rw-r--r--drivers/media/usb/dvb-usb-v2/dvb_usb_core.c2
-rw-r--r--drivers/media/usb/dvb-usb/dvb-usb-remote.c2
-rw-r--r--drivers/media/usb/em28xx/em28xx-input.c8
-rw-r--r--drivers/media/usb/tm6000/tm6000-input.c2
37 files changed, 73 insertions, 74 deletions
diff --git a/drivers/media/common/siano/smsir.c b/drivers/media/common/siano/smsir.c
index 6d7c0c858bd0..273043ea8f47 100644
--- a/drivers/media/common/siano/smsir.c
+++ b/drivers/media/common/siano/smsir.c
@@ -88,7 +88,7 @@ int sms_ir_init(struct smscore_device_t *coredev)
88 88
89 dev->priv = coredev; 89 dev->priv = coredev;
90 dev->driver_type = RC_DRIVER_IR_RAW; 90 dev->driver_type = RC_DRIVER_IR_RAW;
91 rc_set_allowed_protocols(dev, RC_BIT_ALL); 91 dev->allowed_protocols = RC_BIT_ALL;
92 dev->map_name = sms_get_board(board_id)->rc_codes; 92 dev->map_name = sms_get_board(board_id)->rc_codes;
93 dev->driver_name = MODULE_NAME; 93 dev->driver_name = MODULE_NAME;
94 94
diff --git a/drivers/media/i2c/ir-kbd-i2c.c b/drivers/media/i2c/ir-kbd-i2c.c
index f9c4233ba96e..8311f1a9a38e 100644
--- a/drivers/media/i2c/ir-kbd-i2c.c
+++ b/drivers/media/i2c/ir-kbd-i2c.c
@@ -432,8 +432,8 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
432 * Initialize the other fields of rc_dev 432 * Initialize the other fields of rc_dev
433 */ 433 */
434 rc->map_name = ir->ir_codes; 434 rc->map_name = ir->ir_codes;
435 rc_set_allowed_protocols(rc, rc_type); 435 rc->allowed_protocols = rc_type;
436 rc_set_enabled_protocols(rc, rc_type); 436 rc->enabled_protocols = rc_type;
437 if (!rc->driver_name) 437 if (!rc->driver_name)
438 rc->driver_name = MODULE_NAME; 438 rc->driver_name = MODULE_NAME;
439 439
diff --git a/drivers/media/pci/cx23885/cx23885-input.c b/drivers/media/pci/cx23885/cx23885-input.c
index 097d0a0b5f57..1940c18e186c 100644
--- a/drivers/media/pci/cx23885/cx23885-input.c
+++ b/drivers/media/pci/cx23885/cx23885-input.c
@@ -346,7 +346,7 @@ int cx23885_input_init(struct cx23885_dev *dev)
346 } 346 }
347 rc->dev.parent = &dev->pci->dev; 347 rc->dev.parent = &dev->pci->dev;
348 rc->driver_type = driver_type; 348 rc->driver_type = driver_type;
349 rc_set_allowed_protocols(rc, allowed_protos); 349 rc->allowed_protocols = allowed_protos;
350 rc->priv = kernel_ir; 350 rc->priv = kernel_ir;
351 rc->open = cx23885_input_ir_open; 351 rc->open = cx23885_input_ir_open;
352 rc->close = cx23885_input_ir_close; 352 rc->close = cx23885_input_ir_close;
diff --git a/drivers/media/pci/cx88/cx88-input.c b/drivers/media/pci/cx88/cx88-input.c
index 9bf48ca619c7..93ff6a7f2354 100644
--- a/drivers/media/pci/cx88/cx88-input.c
+++ b/drivers/media/pci/cx88/cx88-input.c
@@ -485,7 +485,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
485 dev->timeout = 10 * 1000 * 1000; /* 10 ms */ 485 dev->timeout = 10 * 1000 * 1000; /* 10 ms */
486 } else { 486 } else {
487 dev->driver_type = RC_DRIVER_SCANCODE; 487 dev->driver_type = RC_DRIVER_SCANCODE;
488 rc_set_allowed_protocols(dev, rc_type); 488 dev->allowed_protocols = rc_type;
489 } 489 }
490 490
491 ir->core = core; 491 ir->core = core;
diff --git a/drivers/media/rc/ati_remote.c b/drivers/media/rc/ati_remote.c
index 8730b32a067c..2e1335306eb3 100644
--- a/drivers/media/rc/ati_remote.c
+++ b/drivers/media/rc/ati_remote.c
@@ -784,7 +784,7 @@ static void ati_remote_rc_init(struct ati_remote *ati_remote)
784 784
785 rdev->priv = ati_remote; 785 rdev->priv = ati_remote;
786 rdev->driver_type = RC_DRIVER_SCANCODE; 786 rdev->driver_type = RC_DRIVER_SCANCODE;
787 rc_set_allowed_protocols(rdev, RC_BIT_OTHER); 787 rdev->allowed_protocols = RC_BIT_OTHER;
788 rdev->driver_name = "ati_remote"; 788 rdev->driver_name = "ati_remote";
789 789
790 rdev->open = ati_remote_rc_open; 790 rdev->open = ati_remote_rc_open;
diff --git a/drivers/media/rc/ene_ir.c b/drivers/media/rc/ene_ir.c
index fc9d23f2ed3f..d16d9b496b92 100644
--- a/drivers/media/rc/ene_ir.c
+++ b/drivers/media/rc/ene_ir.c
@@ -1059,7 +1059,7 @@ static int ene_probe(struct pnp_dev *pnp_dev, const struct pnp_device_id *id)
1059 learning_mode_force = false; 1059 learning_mode_force = false;
1060 1060
1061 rdev->driver_type = RC_DRIVER_IR_RAW; 1061 rdev->driver_type = RC_DRIVER_IR_RAW;
1062 rc_set_allowed_protocols(rdev, RC_BIT_ALL); 1062 rdev->allowed_protocols = RC_BIT_ALL;
1063 rdev->priv = dev; 1063 rdev->priv = dev;
1064 rdev->open = ene_open; 1064 rdev->open = ene_open;
1065 rdev->close = ene_close; 1065 rdev->close = ene_close;
diff --git a/drivers/media/rc/fintek-cir.c b/drivers/media/rc/fintek-cir.c
index 46b66e59438f..f000faf7340b 100644
--- a/drivers/media/rc/fintek-cir.c
+++ b/drivers/media/rc/fintek-cir.c
@@ -541,7 +541,7 @@ static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id
541 /* Set up the rc device */ 541 /* Set up the rc device */
542 rdev->priv = fintek; 542 rdev->priv = fintek;
543 rdev->driver_type = RC_DRIVER_IR_RAW; 543 rdev->driver_type = RC_DRIVER_IR_RAW;
544 rc_set_allowed_protocols(rdev, RC_BIT_ALL); 544 rdev->allowed_protocols = RC_BIT_ALL;
545 rdev->open = fintek_open; 545 rdev->open = fintek_open;
546 rdev->close = fintek_close; 546 rdev->close = fintek_close;
547 rdev->input_name = FINTEK_DESCRIPTION; 547 rdev->input_name = FINTEK_DESCRIPTION;
diff --git a/drivers/media/rc/gpio-ir-recv.c b/drivers/media/rc/gpio-ir-recv.c
index 29b5f89813b4..59853085bc88 100644
--- a/drivers/media/rc/gpio-ir-recv.c
+++ b/drivers/media/rc/gpio-ir-recv.c
@@ -145,9 +145,9 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
145 rcdev->dev.parent = &pdev->dev; 145 rcdev->dev.parent = &pdev->dev;
146 rcdev->driver_name = GPIO_IR_DRIVER_NAME; 146 rcdev->driver_name = GPIO_IR_DRIVER_NAME;
147 if (pdata->allowed_protos) 147 if (pdata->allowed_protos)
148 rc_set_allowed_protocols(rcdev, pdata->allowed_protos); 148 rcdev->allowed_protocols = pdata->allowed_protos;
149 else 149 else
150 rc_set_allowed_protocols(rcdev, RC_BIT_ALL); 150 rcdev->allowed_protocols = RC_BIT_ALL;
151 rcdev->map_name = pdata->map_name ?: RC_MAP_EMPTY; 151 rcdev->map_name = pdata->map_name ?: RC_MAP_EMPTY;
152 152
153 gpio_dev->rcdev = rcdev; 153 gpio_dev->rcdev = rcdev;
diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c
index 627ddfd61980..ee60e17fba05 100644
--- a/drivers/media/rc/iguanair.c
+++ b/drivers/media/rc/iguanair.c
@@ -495,7 +495,7 @@ static int iguanair_probe(struct usb_interface *intf,
495 usb_to_input_id(ir->udev, &rc->input_id); 495 usb_to_input_id(ir->udev, &rc->input_id);
496 rc->dev.parent = &intf->dev; 496 rc->dev.parent = &intf->dev;
497 rc->driver_type = RC_DRIVER_IR_RAW; 497 rc->driver_type = RC_DRIVER_IR_RAW;
498 rc_set_allowed_protocols(rc, RC_BIT_ALL); 498 rc->allowed_protocols = RC_BIT_ALL;
499 rc->priv = ir; 499 rc->priv = ir;
500 rc->open = iguanair_open; 500 rc->open = iguanair_open;
501 rc->close = iguanair_close; 501 rc->close = iguanair_close;
diff --git a/drivers/media/rc/img-ir/img-ir-hw.c b/drivers/media/rc/img-ir/img-ir-hw.c
index b0ec55f52228..bfb282a714e8 100644
--- a/drivers/media/rc/img-ir/img-ir-hw.c
+++ b/drivers/media/rc/img-ir/img-ir-hw.c
@@ -556,8 +556,8 @@ static void img_ir_set_decoder(struct img_ir_priv *priv,
556 hw->mode = IMG_IR_M_NORMAL; 556 hw->mode = IMG_IR_M_NORMAL;
557 557
558 /* clear the wakeup scancode filter */ 558 /* clear the wakeup scancode filter */
559 rdev->scancode_filters[RC_FILTER_WAKEUP].data = 0; 559 rdev->scancode_wakeup_filter.data = 0;
560 rdev->scancode_filters[RC_FILTER_WAKEUP].mask = 0; 560 rdev->scancode_wakeup_filter.mask = 0;
561 561
562 /* clear raw filters */ 562 /* clear raw filters */
563 _img_ir_set_filter(priv, NULL); 563 _img_ir_set_filter(priv, NULL);
@@ -661,8 +661,8 @@ success:
661 wakeup_protocols = *ir_type; 661 wakeup_protocols = *ir_type;
662 if (!hw->decoder || !hw->decoder->filter) 662 if (!hw->decoder || !hw->decoder->filter)
663 wakeup_protocols = 0; 663 wakeup_protocols = 0;
664 rc_set_allowed_wakeup_protocols(rdev, wakeup_protocols); 664 rdev->allowed_wakeup_protocols = wakeup_protocols;
665 rc_set_enabled_wakeup_protocols(rdev, wakeup_protocols); 665 rdev->enabled_wakeup_protocols = wakeup_protocols;
666 return 0; 666 return 0;
667} 667}
668 668
@@ -676,9 +676,9 @@ static void img_ir_set_protocol(struct img_ir_priv *priv, u64 proto)
676 spin_unlock_irq(&rdev->rc_map.lock); 676 spin_unlock_irq(&rdev->rc_map.lock);
677 677
678 mutex_lock(&rdev->lock); 678 mutex_lock(&rdev->lock);
679 rc_set_enabled_protocols(rdev, proto); 679 rdev->enabled_protocols = proto;
680 rc_set_allowed_wakeup_protocols(rdev, proto); 680 rdev->allowed_wakeup_protocols = proto;
681 rc_set_enabled_wakeup_protocols(rdev, proto); 681 rdev->enabled_wakeup_protocols = proto;
682 mutex_unlock(&rdev->lock); 682 mutex_unlock(&rdev->lock);
683} 683}
684 684
@@ -1003,7 +1003,7 @@ int img_ir_probe_hw(struct img_ir_priv *priv)
1003 } 1003 }
1004 rdev->priv = priv; 1004 rdev->priv = priv;
1005 rdev->map_name = RC_MAP_EMPTY; 1005 rdev->map_name = RC_MAP_EMPTY;
1006 rc_set_allowed_protocols(rdev, img_ir_allowed_protos(priv)); 1006 rdev->allowed_protocols = img_ir_allowed_protos(priv);
1007 rdev->input_name = "IMG Infrared Decoder"; 1007 rdev->input_name = "IMG Infrared Decoder";
1008 rdev->s_filter = img_ir_set_normal_filter; 1008 rdev->s_filter = img_ir_set_normal_filter;
1009 rdev->s_wakeup_filter = img_ir_set_wakeup_filter; 1009 rdev->s_wakeup_filter = img_ir_set_wakeup_filter;
diff --git a/drivers/media/rc/imon.c b/drivers/media/rc/imon.c
index eb37f2622364..ac05c364f663 100644
--- a/drivers/media/rc/imon.c
+++ b/drivers/media/rc/imon.c
@@ -1017,7 +1017,7 @@ static int imon_ir_change_protocol(struct rc_dev *rc, u64 *rc_type)
1017 unsigned char ir_proto_packet[] = { 1017 unsigned char ir_proto_packet[] = {
1018 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86 }; 1018 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86 };
1019 1019
1020 if (*rc_type && !rc_protocols_allowed(rc, *rc_type)) 1020 if (*rc_type && !(*rc_type & rc->allowed_protocols))
1021 dev_warn(dev, "Looks like you're trying to use an IR protocol " 1021 dev_warn(dev, "Looks like you're trying to use an IR protocol "
1022 "this device does not support\n"); 1022 "this device does not support\n");
1023 1023
@@ -1870,8 +1870,7 @@ static struct rc_dev *imon_init_rdev(struct imon_context *ictx)
1870 1870
1871 rdev->priv = ictx; 1871 rdev->priv = ictx;
1872 rdev->driver_type = RC_DRIVER_SCANCODE; 1872 rdev->driver_type = RC_DRIVER_SCANCODE;
1873 /* iMON PAD or MCE */ 1873 rdev->allowed_protocols = RC_BIT_OTHER | RC_BIT_RC6_MCE; /* iMON PAD or MCE */
1874 rc_set_allowed_protocols(rdev, RC_BIT_OTHER | RC_BIT_RC6_MCE);
1875 rdev->change_protocol = imon_ir_change_protocol; 1874 rdev->change_protocol = imon_ir_change_protocol;
1876 rdev->driver_name = MOD_NAME; 1875 rdev->driver_name = MOD_NAME;
1877 1876
@@ -1884,7 +1883,7 @@ static struct rc_dev *imon_init_rdev(struct imon_context *ictx)
1884 1883
1885 if (ictx->product == 0xffdc) { 1884 if (ictx->product == 0xffdc) {
1886 imon_get_ffdc_type(ictx); 1885 imon_get_ffdc_type(ictx);
1887 rc_set_allowed_protocols(rdev, ictx->rc_type); 1886 rdev->allowed_protocols = ictx->rc_type;
1888 } 1887 }
1889 1888
1890 imon_set_display_type(ictx); 1889 imon_set_display_type(ictx);
diff --git a/drivers/media/rc/ir-jvc-decoder.c b/drivers/media/rc/ir-jvc-decoder.c
index 7b79eca83449..30bcf188d377 100644
--- a/drivers/media/rc/ir-jvc-decoder.c
+++ b/drivers/media/rc/ir-jvc-decoder.c
@@ -47,7 +47,7 @@ static int ir_jvc_decode(struct rc_dev *dev, struct ir_raw_event ev)
47{ 47{
48 struct jvc_dec *data = &dev->raw->jvc; 48 struct jvc_dec *data = &dev->raw->jvc;
49 49
50 if (!rc_protocols_enabled(dev, RC_BIT_JVC)) 50 if (!(dev->enabled_protocols & RC_BIT_JVC))
51 return 0; 51 return 0;
52 52
53 if (!is_timing_event(ev)) { 53 if (!is_timing_event(ev)) {
diff --git a/drivers/media/rc/ir-lirc-codec.c b/drivers/media/rc/ir-lirc-codec.c
index d731da6c414d..ed2c8a1ed8ca 100644
--- a/drivers/media/rc/ir-lirc-codec.c
+++ b/drivers/media/rc/ir-lirc-codec.c
@@ -35,7 +35,7 @@ static int ir_lirc_decode(struct rc_dev *dev, struct ir_raw_event ev)
35 struct lirc_codec *lirc = &dev->raw->lirc; 35 struct lirc_codec *lirc = &dev->raw->lirc;
36 int sample; 36 int sample;
37 37
38 if (!rc_protocols_enabled(dev, RC_BIT_LIRC)) 38 if (!(dev->enabled_protocols & RC_BIT_LIRC))
39 return 0; 39 return 0;
40 40
41 if (!dev->raw->lirc.drv || !dev->raw->lirc.drv->rbuf) 41 if (!dev->raw->lirc.drv || !dev->raw->lirc.drv->rbuf)
diff --git a/drivers/media/rc/ir-mce_kbd-decoder.c b/drivers/media/rc/ir-mce_kbd-decoder.c
index 0c55f794c8cf..9f3c9b59f30c 100644
--- a/drivers/media/rc/ir-mce_kbd-decoder.c
+++ b/drivers/media/rc/ir-mce_kbd-decoder.c
@@ -216,7 +216,7 @@ static int ir_mce_kbd_decode(struct rc_dev *dev, struct ir_raw_event ev)
216 u32 scancode; 216 u32 scancode;
217 unsigned long delay; 217 unsigned long delay;
218 218
219 if (!rc_protocols_enabled(dev, RC_BIT_MCE_KBD)) 219 if (!(dev->enabled_protocols & RC_BIT_MCE_KBD))
220 return 0; 220 return 0;
221 221
222 if (!is_timing_event(ev)) { 222 if (!is_timing_event(ev)) {
diff --git a/drivers/media/rc/ir-nec-decoder.c b/drivers/media/rc/ir-nec-decoder.c
index c4333d5c0046..7b81fec0820f 100644
--- a/drivers/media/rc/ir-nec-decoder.c
+++ b/drivers/media/rc/ir-nec-decoder.c
@@ -52,7 +52,7 @@ static int ir_nec_decode(struct rc_dev *dev, struct ir_raw_event ev)
52 u8 address, not_address, command, not_command; 52 u8 address, not_address, command, not_command;
53 bool send_32bits = false; 53 bool send_32bits = false;
54 54
55 if (!rc_protocols_enabled(dev, RC_BIT_NEC)) 55 if (!(dev->enabled_protocols & RC_BIT_NEC))
56 return 0; 56 return 0;
57 57
58 if (!is_timing_event(ev)) { 58 if (!is_timing_event(ev)) {
diff --git a/drivers/media/rc/ir-raw.c b/drivers/media/rc/ir-raw.c
index c08718e17671..c72f57cebfd2 100644
--- a/drivers/media/rc/ir-raw.c
+++ b/drivers/media/rc/ir-raw.c
@@ -262,7 +262,7 @@ int ir_raw_event_register(struct rc_dev *dev)
262 return -ENOMEM; 262 return -ENOMEM;
263 263
264 dev->raw->dev = dev; 264 dev->raw->dev = dev;
265 rc_set_enabled_protocols(dev, ~0); 265 dev->enabled_protocols = ~0;
266 dev->change_protocol = change_protocol; 266 dev->change_protocol = change_protocol;
267 rc = kfifo_alloc(&dev->raw->kfifo, 267 rc = kfifo_alloc(&dev->raw->kfifo,
268 sizeof(struct ir_raw_event) * MAX_IR_EVENT_SIZE, 268 sizeof(struct ir_raw_event) * MAX_IR_EVENT_SIZE,
diff --git a/drivers/media/rc/ir-rc5-decoder.c b/drivers/media/rc/ir-rc5-decoder.c
index 3d38cbce5667..04ce42fa9eec 100644
--- a/drivers/media/rc/ir-rc5-decoder.c
+++ b/drivers/media/rc/ir-rc5-decoder.c
@@ -53,7 +53,7 @@ static int ir_rc5_decode(struct rc_dev *dev, struct ir_raw_event ev)
53 u32 scancode; 53 u32 scancode;
54 enum rc_type protocol; 54 enum rc_type protocol;
55 55
56 if (!rc_protocols_enabled(dev, RC_BIT_RC5 | RC_BIT_RC5X)) 56 if (!(dev->enabled_protocols & (RC_BIT_RC5 | RC_BIT_RC5X)))
57 return 0; 57 return 0;
58 58
59 if (!is_timing_event(ev)) { 59 if (!is_timing_event(ev)) {
@@ -129,7 +129,7 @@ again:
129 if (data->wanted_bits == RC5X_NBITS) { 129 if (data->wanted_bits == RC5X_NBITS) {
130 /* RC5X */ 130 /* RC5X */
131 u8 xdata, command, system; 131 u8 xdata, command, system;
132 if (!rc_protocols_enabled(dev, RC_BIT_RC5X)) { 132 if (!(dev->enabled_protocols & RC_BIT_RC5X)) {
133 data->state = STATE_INACTIVE; 133 data->state = STATE_INACTIVE;
134 return 0; 134 return 0;
135 } 135 }
@@ -147,7 +147,7 @@ again:
147 } else { 147 } else {
148 /* RC5 */ 148 /* RC5 */
149 u8 command, system; 149 u8 command, system;
150 if (!rc_protocols_enabled(dev, RC_BIT_RC5)) { 150 if (!(dev->enabled_protocols & RC_BIT_RC5)) {
151 data->state = STATE_INACTIVE; 151 data->state = STATE_INACTIVE;
152 return 0; 152 return 0;
153 } 153 }
diff --git a/drivers/media/rc/ir-rc5-sz-decoder.c b/drivers/media/rc/ir-rc5-sz-decoder.c
index 85c771112cf5..771e9fcbd770 100644
--- a/drivers/media/rc/ir-rc5-sz-decoder.c
+++ b/drivers/media/rc/ir-rc5-sz-decoder.c
@@ -48,7 +48,7 @@ static int ir_rc5_sz_decode(struct rc_dev *dev, struct ir_raw_event ev)
48 u8 toggle, command, system; 48 u8 toggle, command, system;
49 u32 scancode; 49 u32 scancode;
50 50
51 if (!rc_protocols_enabled(dev, RC_BIT_RC5_SZ)) 51 if (!(dev->enabled_protocols & RC_BIT_RC5_SZ))
52 return 0; 52 return 0;
53 53
54 if (!is_timing_event(ev)) { 54 if (!is_timing_event(ev)) {
diff --git a/drivers/media/rc/ir-rc6-decoder.c b/drivers/media/rc/ir-rc6-decoder.c
index 1dc97a7b92a5..f1f098e22f7e 100644
--- a/drivers/media/rc/ir-rc6-decoder.c
+++ b/drivers/media/rc/ir-rc6-decoder.c
@@ -90,9 +90,9 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev)
90 u8 toggle; 90 u8 toggle;
91 enum rc_type protocol; 91 enum rc_type protocol;
92 92
93 if (!rc_protocols_enabled(dev, RC_BIT_RC6_0 | RC_BIT_RC6_6A_20 | 93 if (!(dev->enabled_protocols &
94 RC_BIT_RC6_6A_24 | RC_BIT_RC6_6A_32 | 94 (RC_BIT_RC6_0 | RC_BIT_RC6_6A_20 | RC_BIT_RC6_6A_24 |
95 RC_BIT_RC6_MCE)) 95 RC_BIT_RC6_6A_32 | RC_BIT_RC6_MCE)))
96 return 0; 96 return 0;
97 97
98 if (!is_timing_event(ev)) { 98 if (!is_timing_event(ev)) {
diff --git a/drivers/media/rc/ir-sanyo-decoder.c b/drivers/media/rc/ir-sanyo-decoder.c
index 5f7702261d23..ad1dc6ae21fc 100644
--- a/drivers/media/rc/ir-sanyo-decoder.c
+++ b/drivers/media/rc/ir-sanyo-decoder.c
@@ -58,7 +58,7 @@ static int ir_sanyo_decode(struct rc_dev *dev, struct ir_raw_event ev)
58 u32 scancode; 58 u32 scancode;
59 u8 address, command, not_command; 59 u8 address, command, not_command;
60 60
61 if (!rc_protocols_enabled(dev, RC_BIT_SANYO)) 61 if (!(dev->enabled_protocols & RC_BIT_SANYO))
62 return 0; 62 return 0;
63 63
64 if (!is_timing_event(ev)) { 64 if (!is_timing_event(ev)) {
diff --git a/drivers/media/rc/ir-sharp-decoder.c b/drivers/media/rc/ir-sharp-decoder.c
index c8f251939143..b7acdbae8159 100644
--- a/drivers/media/rc/ir-sharp-decoder.c
+++ b/drivers/media/rc/ir-sharp-decoder.c
@@ -48,7 +48,7 @@ static int ir_sharp_decode(struct rc_dev *dev, struct ir_raw_event ev)
48 struct sharp_dec *data = &dev->raw->sharp; 48 struct sharp_dec *data = &dev->raw->sharp;
49 u32 msg, echo, address, command, scancode; 49 u32 msg, echo, address, command, scancode;
50 50
51 if (!rc_protocols_enabled(dev, RC_BIT_SHARP)) 51 if (!(dev->enabled_protocols & RC_BIT_SHARP))
52 return 0; 52 return 0;
53 53
54 if (!is_timing_event(ev)) { 54 if (!is_timing_event(ev)) {
diff --git a/drivers/media/rc/ir-sony-decoder.c b/drivers/media/rc/ir-sony-decoder.c
index f485f9fe1e90..d12dc3da5931 100644
--- a/drivers/media/rc/ir-sony-decoder.c
+++ b/drivers/media/rc/ir-sony-decoder.c
@@ -46,8 +46,8 @@ static int ir_sony_decode(struct rc_dev *dev, struct ir_raw_event ev)
46 u32 scancode; 46 u32 scancode;
47 u8 device, subdevice, function; 47 u8 device, subdevice, function;
48 48
49 if (!rc_protocols_enabled(dev, RC_BIT_SONY12 | RC_BIT_SONY15 | 49 if (!(dev->enabled_protocols &
50 RC_BIT_SONY20)) 50 (RC_BIT_SONY12 | RC_BIT_SONY15 | RC_BIT_SONY20)))
51 return 0; 51 return 0;
52 52
53 if (!is_timing_event(ev)) { 53 if (!is_timing_event(ev)) {
@@ -125,7 +125,7 @@ static int ir_sony_decode(struct rc_dev *dev, struct ir_raw_event ev)
125 125
126 switch (data->count) { 126 switch (data->count) {
127 case 12: 127 case 12:
128 if (!rc_protocols_enabled(dev, RC_BIT_SONY12)) { 128 if (!(dev->enabled_protocols & RC_BIT_SONY12)) {
129 data->state = STATE_INACTIVE; 129 data->state = STATE_INACTIVE;
130 return 0; 130 return 0;
131 } 131 }
@@ -135,7 +135,7 @@ static int ir_sony_decode(struct rc_dev *dev, struct ir_raw_event ev)
135 protocol = RC_TYPE_SONY12; 135 protocol = RC_TYPE_SONY12;
136 break; 136 break;
137 case 15: 137 case 15:
138 if (!rc_protocols_enabled(dev, RC_BIT_SONY15)) { 138 if (!(dev->enabled_protocols & RC_BIT_SONY15)) {
139 data->state = STATE_INACTIVE; 139 data->state = STATE_INACTIVE;
140 return 0; 140 return 0;
141 } 141 }
@@ -145,7 +145,7 @@ static int ir_sony_decode(struct rc_dev *dev, struct ir_raw_event ev)
145 protocol = RC_TYPE_SONY15; 145 protocol = RC_TYPE_SONY15;
146 break; 146 break;
147 case 20: 147 case 20:
148 if (!rc_protocols_enabled(dev, RC_BIT_SONY20)) { 148 if (!(dev->enabled_protocols & RC_BIT_SONY20)) {
149 data->state = STATE_INACTIVE; 149 data->state = STATE_INACTIVE;
150 return 0; 150 return 0;
151 } 151 }
diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
index ab24cc6d3655..32fd5f4614c8 100644
--- a/drivers/media/rc/ite-cir.c
+++ b/drivers/media/rc/ite-cir.c
@@ -1563,7 +1563,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
1563 /* set up ir-core props */ 1563 /* set up ir-core props */
1564 rdev->priv = itdev; 1564 rdev->priv = itdev;
1565 rdev->driver_type = RC_DRIVER_IR_RAW; 1565 rdev->driver_type = RC_DRIVER_IR_RAW;
1566 rc_set_allowed_protocols(rdev, RC_BIT_ALL); 1566 rdev->allowed_protocols = RC_BIT_ALL;
1567 rdev->open = ite_open; 1567 rdev->open = ite_open;
1568 rdev->close = ite_close; 1568 rdev->close = ite_close;
1569 rdev->s_idle = ite_s_idle; 1569 rdev->s_idle = ite_s_idle;
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
index d5c1df3c9db1..b1be81fc6bd7 100644
--- a/drivers/media/rc/mceusb.c
+++ b/drivers/media/rc/mceusb.c
@@ -1219,7 +1219,7 @@ static struct rc_dev *mceusb_init_rc_dev(struct mceusb_dev *ir)
1219 rc->dev.parent = dev; 1219 rc->dev.parent = dev;
1220 rc->priv = ir; 1220 rc->priv = ir;
1221 rc->driver_type = RC_DRIVER_IR_RAW; 1221 rc->driver_type = RC_DRIVER_IR_RAW;
1222 rc_set_allowed_protocols(rc, RC_BIT_ALL); 1222 rc->allowed_protocols = RC_BIT_ALL;
1223 rc->timeout = MS_TO_NS(100); 1223 rc->timeout = MS_TO_NS(100);
1224 if (!ir->flags.no_tx) { 1224 if (!ir->flags.no_tx) {
1225 rc->s_tx_mask = mceusb_set_tx_mask; 1225 rc->s_tx_mask = mceusb_set_tx_mask;
diff --git a/drivers/media/rc/nuvoton-cir.c b/drivers/media/rc/nuvoton-cir.c
index d244e1a83f43..8c6008f81332 100644
--- a/drivers/media/rc/nuvoton-cir.c
+++ b/drivers/media/rc/nuvoton-cir.c
@@ -1044,7 +1044,7 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)
1044 /* Set up the rc device */ 1044 /* Set up the rc device */
1045 rdev->priv = nvt; 1045 rdev->priv = nvt;
1046 rdev->driver_type = RC_DRIVER_IR_RAW; 1046 rdev->driver_type = RC_DRIVER_IR_RAW;
1047 rc_set_allowed_protocols(rdev, RC_BIT_ALL); 1047 rdev->allowed_protocols = RC_BIT_ALL;
1048 rdev->open = nvt_open; 1048 rdev->open = nvt_open;
1049 rdev->close = nvt_close; 1049 rdev->close = nvt_close;
1050 rdev->tx_ir = nvt_tx_ir; 1050 rdev->tx_ir = nvt_tx_ir;
diff --git a/drivers/media/rc/rc-loopback.c b/drivers/media/rc/rc-loopback.c
index 0a88e0cf964f..63dace8198b0 100644
--- a/drivers/media/rc/rc-loopback.c
+++ b/drivers/media/rc/rc-loopback.c
@@ -195,7 +195,7 @@ static int __init loop_init(void)
195 rc->map_name = RC_MAP_EMPTY; 195 rc->map_name = RC_MAP_EMPTY;
196 rc->priv = &loopdev; 196 rc->priv = &loopdev;
197 rc->driver_type = RC_DRIVER_IR_RAW; 197 rc->driver_type = RC_DRIVER_IR_RAW;
198 rc_set_allowed_protocols(rc, RC_BIT_ALL); 198 rc->allowed_protocols = RC_BIT_ALL;
199 rc->timeout = 100 * 1000 * 1000; /* 100 ms */ 199 rc->timeout = 100 * 1000 * 1000; /* 100 ms */
200 rc->min_timeout = 1; 200 rc->min_timeout = 1;
201 rc->max_timeout = UINT_MAX; 201 rc->max_timeout = UINT_MAX;
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
index d5bfe6442459..c3fb8f8f192b 100644
--- a/drivers/media/rc/rc-main.c
+++ b/drivers/media/rc/rc-main.c
@@ -857,14 +857,14 @@ static ssize_t show_protocols(struct device *device,
857 mutex_lock(&dev->lock); 857 mutex_lock(&dev->lock);
858 858
859 if (fattr->type == RC_FILTER_NORMAL) { 859 if (fattr->type == RC_FILTER_NORMAL) {
860 enabled = dev->enabled_protocols[RC_FILTER_NORMAL]; 860 enabled = dev->enabled_protocols;
861 if (dev->raw) 861 if (dev->raw)
862 allowed = ir_raw_get_allowed_protocols(); 862 allowed = ir_raw_get_allowed_protocols();
863 else 863 else
864 allowed = dev->allowed_protocols[RC_FILTER_NORMAL]; 864 allowed = dev->allowed_protocols;
865 } else { 865 } else {
866 enabled = dev->enabled_protocols[RC_FILTER_WAKEUP]; 866 enabled = dev->enabled_wakeup_protocols;
867 allowed = dev->allowed_protocols[RC_FILTER_WAKEUP]; 867 allowed = dev->allowed_wakeup_protocols;
868 } 868 }
869 869
870 mutex_unlock(&dev->lock); 870 mutex_unlock(&dev->lock);
@@ -989,15 +989,15 @@ static ssize_t store_protocols(struct device *device,
989 989
990 if (fattr->type == RC_FILTER_NORMAL) { 990 if (fattr->type == RC_FILTER_NORMAL) {
991 IR_dprintk(1, "Normal protocol change requested\n"); 991 IR_dprintk(1, "Normal protocol change requested\n");
992 current_protocols = &dev->enabled_protocols[RC_FILTER_NORMAL]; 992 current_protocols = &dev->enabled_protocols;
993 change_protocol = dev->change_protocol; 993 change_protocol = dev->change_protocol;
994 filter = &dev->scancode_filters[RC_FILTER_NORMAL]; 994 filter = &dev->scancode_filter;
995 set_filter = dev->s_filter; 995 set_filter = dev->s_filter;
996 } else { 996 } else {
997 IR_dprintk(1, "Wakeup protocol change requested\n"); 997 IR_dprintk(1, "Wakeup protocol change requested\n");
998 current_protocols = &dev->enabled_protocols[RC_FILTER_WAKEUP]; 998 current_protocols = &dev->enabled_wakeup_protocols;
999 change_protocol = dev->change_wakeup_protocol; 999 change_protocol = dev->change_wakeup_protocol;
1000 filter = &dev->scancode_filters[RC_FILTER_WAKEUP]; 1000 filter = &dev->scancode_wakeup_filter;
1001 set_filter = dev->s_wakeup_filter; 1001 set_filter = dev->s_wakeup_filter;
1002 } 1002 }
1003 1003
@@ -1085,9 +1085,9 @@ static ssize_t show_filter(struct device *device,
1085 return -EINVAL; 1085 return -EINVAL;
1086 1086
1087 if (fattr->type == RC_FILTER_NORMAL) 1087 if (fattr->type == RC_FILTER_NORMAL)
1088 filter = &dev->scancode_filters[RC_FILTER_NORMAL]; 1088 filter = &dev->scancode_filter;
1089 else 1089 else
1090 filter = &dev->scancode_filters[RC_FILTER_WAKEUP]; 1090 filter = &dev->scancode_wakeup_filter;
1091 1091
1092 mutex_lock(&dev->lock); 1092 mutex_lock(&dev->lock);
1093 if (fattr->mask) 1093 if (fattr->mask)
@@ -1140,12 +1140,12 @@ static ssize_t store_filter(struct device *device,
1140 1140
1141 if (fattr->type == RC_FILTER_NORMAL) { 1141 if (fattr->type == RC_FILTER_NORMAL) {
1142 set_filter = dev->s_filter; 1142 set_filter = dev->s_filter;
1143 enabled_protocols = &dev->enabled_protocols[RC_FILTER_NORMAL]; 1143 enabled_protocols = &dev->enabled_protocols;
1144 filter = &dev->scancode_filters[RC_FILTER_NORMAL]; 1144 filter = &dev->scancode_filter;
1145 } else { 1145 } else {
1146 set_filter = dev->s_wakeup_filter; 1146 set_filter = dev->s_wakeup_filter;
1147 enabled_protocols = &dev->enabled_protocols[RC_FILTER_WAKEUP]; 1147 enabled_protocols = &dev->enabled_wakeup_protocols;
1148 filter = &dev->scancode_filters[RC_FILTER_WAKEUP]; 1148 filter = &dev->scancode_wakeup_filter;
1149 } 1149 }
1150 1150
1151 if (!set_filter) 1151 if (!set_filter)
@@ -1424,7 +1424,7 @@ int rc_register_device(struct rc_dev *dev)
1424 rc = dev->change_protocol(dev, &rc_type); 1424 rc = dev->change_protocol(dev, &rc_type);
1425 if (rc < 0) 1425 if (rc < 0)
1426 goto out_raw; 1426 goto out_raw;
1427 dev->enabled_protocols[RC_FILTER_NORMAL] = rc_type; 1427 dev->enabled_protocols = rc_type;
1428 } 1428 }
1429 1429
1430 mutex_unlock(&dev->lock); 1430 mutex_unlock(&dev->lock);
diff --git a/drivers/media/rc/redrat3.c b/drivers/media/rc/redrat3.c
index 79abbc8d9600..795b394a5d84 100644
--- a/drivers/media/rc/redrat3.c
+++ b/drivers/media/rc/redrat3.c
@@ -878,7 +878,7 @@ static struct rc_dev *redrat3_init_rc_dev(struct redrat3_dev *rr3)
878 rc->dev.parent = dev; 878 rc->dev.parent = dev;
879 rc->priv = rr3; 879 rc->priv = rr3;
880 rc->driver_type = RC_DRIVER_IR_RAW; 880 rc->driver_type = RC_DRIVER_IR_RAW;
881 rc_set_allowed_protocols(rc, RC_BIT_ALL); 881 rc->allowed_protocols = RC_BIT_ALL;
882 rc->timeout = US_TO_NS(2750); 882 rc->timeout = US_TO_NS(2750);
883 rc->tx_ir = redrat3_transmit_ir; 883 rc->tx_ir = redrat3_transmit_ir;
884 rc->s_tx_carrier = redrat3_set_tx_carrier; 884 rc->s_tx_carrier = redrat3_set_tx_carrier;
diff --git a/drivers/media/rc/st_rc.c b/drivers/media/rc/st_rc.c
index 22e4c1f28ab4..5c151351afa4 100644
--- a/drivers/media/rc/st_rc.c
+++ b/drivers/media/rc/st_rc.c
@@ -287,7 +287,7 @@ static int st_rc_probe(struct platform_device *pdev)
287 st_rc_hardware_init(rc_dev); 287 st_rc_hardware_init(rc_dev);
288 288
289 rdev->driver_type = RC_DRIVER_IR_RAW; 289 rdev->driver_type = RC_DRIVER_IR_RAW;
290 rc_set_allowed_protocols(rdev, RC_BIT_ALL); 290 rdev->allowed_protocols = RC_BIT_ALL;
291 /* rx sampling rate is 10Mhz */ 291 /* rx sampling rate is 10Mhz */
292 rdev->rx_resolution = 100; 292 rdev->rx_resolution = 100;
293 rdev->timeout = US_TO_NS(MAX_SYMB_TIME); 293 rdev->timeout = US_TO_NS(MAX_SYMB_TIME);
diff --git a/drivers/media/rc/streamzap.c b/drivers/media/rc/streamzap.c
index bd5e4ff9e0ba..828bbb886882 100644
--- a/drivers/media/rc/streamzap.c
+++ b/drivers/media/rc/streamzap.c
@@ -316,7 +316,7 @@ static struct rc_dev *streamzap_init_rc_dev(struct streamzap_ir *sz)
316 rdev->dev.parent = dev; 316 rdev->dev.parent = dev;
317 rdev->priv = sz; 317 rdev->priv = sz;
318 rdev->driver_type = RC_DRIVER_IR_RAW; 318 rdev->driver_type = RC_DRIVER_IR_RAW;
319 rc_set_allowed_protocols(rdev, RC_BIT_ALL); 319 rdev->allowed_protocols = RC_BIT_ALL;
320 rdev->driver_name = DRIVER_NAME; 320 rdev->driver_name = DRIVER_NAME;
321 rdev->map_name = RC_MAP_STREAMZAP; 321 rdev->map_name = RC_MAP_STREAMZAP;
322 322
diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
index 13dcd800eb41..bcee8e1a4e9e 100644
--- a/drivers/media/rc/sunxi-cir.c
+++ b/drivers/media/rc/sunxi-cir.c
@@ -210,7 +210,7 @@ static int sunxi_ir_probe(struct platform_device *pdev)
210 ir->rc->map_name = ir->map_name ?: RC_MAP_EMPTY; 210 ir->rc->map_name = ir->map_name ?: RC_MAP_EMPTY;
211 ir->rc->dev.parent = dev; 211 ir->rc->dev.parent = dev;
212 ir->rc->driver_type = RC_DRIVER_IR_RAW; 212 ir->rc->driver_type = RC_DRIVER_IR_RAW;
213 rc_set_allowed_protocols(ir->rc, RC_BIT_ALL); 213 ir->rc->allowed_protocols = RC_BIT_ALL;
214 ir->rc->rx_resolution = SUNXI_IR_SAMPLE; 214 ir->rc->rx_resolution = SUNXI_IR_SAMPLE;
215 ir->rc->timeout = MS_TO_NS(SUNXI_IR_TIMEOUT); 215 ir->rc->timeout = MS_TO_NS(SUNXI_IR_TIMEOUT);
216 ir->rc->driver_name = SUNXI_IR_DEV; 216 ir->rc->driver_name = SUNXI_IR_DEV;
diff --git a/drivers/media/rc/ttusbir.c b/drivers/media/rc/ttusbir.c
index c5be38e2a2fe..bc214e2b3a36 100644
--- a/drivers/media/rc/ttusbir.c
+++ b/drivers/media/rc/ttusbir.c
@@ -318,7 +318,7 @@ static int ttusbir_probe(struct usb_interface *intf,
318 usb_to_input_id(tt->udev, &rc->input_id); 318 usb_to_input_id(tt->udev, &rc->input_id);
319 rc->dev.parent = &intf->dev; 319 rc->dev.parent = &intf->dev;
320 rc->driver_type = RC_DRIVER_IR_RAW; 320 rc->driver_type = RC_DRIVER_IR_RAW;
321 rc_set_allowed_protocols(rc, RC_BIT_ALL); 321 rc->allowed_protocols = RC_BIT_ALL;
322 rc->priv = tt; 322 rc->priv = tt;
323 rc->driver_name = DRIVER_NAME; 323 rc->driver_name = DRIVER_NAME;
324 rc->map_name = RC_MAP_TT_1500; 324 rc->map_name = RC_MAP_TT_1500;
diff --git a/drivers/media/rc/winbond-cir.c b/drivers/media/rc/winbond-cir.c
index a8b981f5ce2e..d839f73f6a05 100644
--- a/drivers/media/rc/winbond-cir.c
+++ b/drivers/media/rc/winbond-cir.c
@@ -1082,7 +1082,7 @@ wbcir_probe(struct pnp_dev *device, const struct pnp_device_id *dev_id)
1082 data->dev->dev.parent = &device->dev; 1082 data->dev->dev.parent = &device->dev;
1083 data->dev->timeout = MS_TO_NS(100); 1083 data->dev->timeout = MS_TO_NS(100);
1084 data->dev->rx_resolution = US_TO_NS(2); 1084 data->dev->rx_resolution = US_TO_NS(2);
1085 rc_set_allowed_protocols(data->dev, RC_BIT_ALL); 1085 data->dev->allowed_protocols = RC_BIT_ALL;
1086 1086
1087 err = rc_register_device(data->dev); 1087 err = rc_register_device(data->dev);
1088 if (err) 1088 if (err)
diff --git a/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c b/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
index e35580618936..45f5ee9f46fc 100644
--- a/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
+++ b/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
@@ -164,7 +164,7 @@ static int dvb_usbv2_remote_init(struct dvb_usb_device *d)
164 dev->driver_name = (char *) d->props->driver_name; 164 dev->driver_name = (char *) d->props->driver_name;
165 dev->map_name = d->rc.map_name; 165 dev->map_name = d->rc.map_name;
166 dev->driver_type = d->rc.driver_type; 166 dev->driver_type = d->rc.driver_type;
167 rc_set_allowed_protocols(dev, d->rc.allowed_protos); 167 dev->allowed_protocols = d->rc.allowed_protos;
168 dev->change_protocol = d->rc.change_protocol; 168 dev->change_protocol = d->rc.change_protocol;
169 dev->priv = d; 169 dev->priv = d;
170 170
diff --git a/drivers/media/usb/dvb-usb/dvb-usb-remote.c b/drivers/media/usb/dvb-usb/dvb-usb-remote.c
index 4058aea9272f..7b5dae3077f6 100644
--- a/drivers/media/usb/dvb-usb/dvb-usb-remote.c
+++ b/drivers/media/usb/dvb-usb/dvb-usb-remote.c
@@ -272,7 +272,7 @@ static int rc_core_dvb_usb_remote_init(struct dvb_usb_device *d)
272 dev->driver_name = d->props.rc.core.module_name; 272 dev->driver_name = d->props.rc.core.module_name;
273 dev->map_name = d->props.rc.core.rc_codes; 273 dev->map_name = d->props.rc.core.rc_codes;
274 dev->change_protocol = d->props.rc.core.change_protocol; 274 dev->change_protocol = d->props.rc.core.change_protocol;
275 rc_set_allowed_protocols(dev, d->props.rc.core.allowed_protos); 275 dev->allowed_protocols = d->props.rc.core.allowed_protos;
276 dev->driver_type = d->props.rc.core.driver_type; 276 dev->driver_type = d->props.rc.core.driver_type;
277 usb_to_input_id(d->udev, &dev->input_id); 277 usb_to_input_id(d->udev, &dev->input_id);
278 dev->input_name = "IR-receiver inside an USB DVB receiver"; 278 dev->input_name = "IR-receiver inside an USB DVB receiver";
diff --git a/drivers/media/usb/em28xx/em28xx-input.c b/drivers/media/usb/em28xx/em28xx-input.c
index 7f06ae59eca6..ed843bd221ea 100644
--- a/drivers/media/usb/em28xx/em28xx-input.c
+++ b/drivers/media/usb/em28xx/em28xx-input.c
@@ -745,7 +745,7 @@ static int em28xx_ir_init(struct em28xx *dev)
745 case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2: 745 case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2:
746 rc->map_name = RC_MAP_HAUPPAUGE; 746 rc->map_name = RC_MAP_HAUPPAUGE;
747 ir->get_key_i2c = em28xx_get_key_em_haup; 747 ir->get_key_i2c = em28xx_get_key_em_haup;
748 rc_set_allowed_protocols(rc, RC_BIT_RC5); 748 rc->allowed_protocols = RC_BIT_RC5;
749 break; 749 break;
750 case EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE: 750 case EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE:
751 rc->map_name = RC_MAP_WINFAST_USBII_DELUXE; 751 rc->map_name = RC_MAP_WINFAST_USBII_DELUXE;
@@ -761,7 +761,7 @@ static int em28xx_ir_init(struct em28xx *dev)
761 switch (dev->chip_id) { 761 switch (dev->chip_id) {
762 case CHIP_ID_EM2860: 762 case CHIP_ID_EM2860:
763 case CHIP_ID_EM2883: 763 case CHIP_ID_EM2883:
764 rc_set_allowed_protocols(rc, RC_BIT_RC5 | RC_BIT_NEC); 764 rc->allowed_protocols = RC_BIT_RC5 | RC_BIT_NEC;
765 ir->get_key = default_polling_getkey; 765 ir->get_key = default_polling_getkey;
766 break; 766 break;
767 case CHIP_ID_EM2884: 767 case CHIP_ID_EM2884:
@@ -769,8 +769,8 @@ static int em28xx_ir_init(struct em28xx *dev)
769 case CHIP_ID_EM28174: 769 case CHIP_ID_EM28174:
770 case CHIP_ID_EM28178: 770 case CHIP_ID_EM28178:
771 ir->get_key = em2874_polling_getkey; 771 ir->get_key = em2874_polling_getkey;
772 rc_set_allowed_protocols(rc, RC_BIT_RC5 | RC_BIT_NEC | 772 rc->allowed_protocols = RC_BIT_RC5 | RC_BIT_NEC |
773 RC_BIT_RC6_0); 773 RC_BIT_RC6_0;
774 break; 774 break;
775 default: 775 default:
776 err = -ENODEV; 776 err = -ENODEV;
diff --git a/drivers/media/usb/tm6000/tm6000-input.c b/drivers/media/usb/tm6000/tm6000-input.c
index 676c0232060e..8a519f51609a 100644
--- a/drivers/media/usb/tm6000/tm6000-input.c
+++ b/drivers/media/usb/tm6000/tm6000-input.c
@@ -441,7 +441,7 @@ int tm6000_ir_init(struct tm6000_core *dev)
441 ir->rc = rc; 441 ir->rc = rc;
442 442
443 /* input setup */ 443 /* input setup */
444 rc_set_allowed_protocols(rc, RC_BIT_RC5 | RC_BIT_NEC); 444 rc->allowed_protocols = RC_BIT_RC5 | RC_BIT_NEC;
445 /* Neded, in order to support NEC remotes with 24 or 32 bits */ 445 /* Neded, in order to support NEC remotes with 24 or 32 bits */
446 rc->scanmask = 0xffff; 446 rc->scanmask = 0xffff;
447 rc->priv = ir; 447 rc->priv = ir;