aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2011-11-20 09:23:54 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-11-20 09:55:10 -0500
commit20ae9742eba1bbd1f9d6658d1a1a72bc77fc741d (patch)
treebe6ea87314c634a9ec3164ec0d6f7700abbc6546
parentde72405f6fc1aaedc0412f88cf681ed33519c49a (diff)
[media] em28xx: Add IR support for em2884
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/em28xx/em28xx-input.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/video/em28xx/em28xx-input.c b/drivers/media/video/em28xx/em28xx-input.c
index 679da4804281..2630b265b0e8 100644
--- a/drivers/media/video/em28xx/em28xx-input.c
+++ b/drivers/media/video/em28xx/em28xx-input.c
@@ -306,7 +306,8 @@ static void em28xx_ir_handle_key(struct em28xx_IR *ir)
306 poll_result.rc_data[0], 306 poll_result.rc_data[0],
307 poll_result.toggle_bit); 307 poll_result.toggle_bit);
308 308
309 if (ir->dev->chip_id == CHIP_ID_EM2874) 309 if (ir->dev->chip_id == CHIP_ID_EM2874 ||
310 ir->dev->chip_id == CHIP_ID_EM2884)
310 /* The em2874 clears the readcount field every time the 311 /* The em2874 clears the readcount field every time the
311 register is read. The em2860/2880 datasheet says that it 312 register is read. The em2860/2880 datasheet says that it
312 is supposed to clear the readcount, but it doesn't. So with 313 is supposed to clear the readcount, but it doesn't. So with
@@ -371,13 +372,15 @@ int em28xx_ir_change_protocol(struct rc_dev *rc_dev, u64 rc_type)
371 case CHIP_ID_EM2883: 372 case CHIP_ID_EM2883:
372 ir->get_key = default_polling_getkey; 373 ir->get_key = default_polling_getkey;
373 break; 374 break;
375 case CHIP_ID_EM2884:
374 case CHIP_ID_EM2874: 376 case CHIP_ID_EM2874:
375 case CHIP_ID_EM28174: 377 case CHIP_ID_EM28174:
376 ir->get_key = em2874_polling_getkey; 378 ir->get_key = em2874_polling_getkey;
377 em28xx_write_regs(dev, EM2874_R50_IR_CONFIG, &ir_config, 1); 379 em28xx_write_regs(dev, EM2874_R50_IR_CONFIG, &ir_config, 1);
378 break; 380 break;
379 default: 381 default:
380 printk("Unrecognized em28xx chip id: IR not supported\n"); 382 printk("Unrecognized em28xx chip id 0x%02x: IR not supported\n",
383 dev->chip_id);
381 rc = -EINVAL; 384 rc = -EINVAL;
382 } 385 }
383 386