aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c
diff options
context:
space:
mode:
authorOndrej Zary <linux@rainbow-software.org>2013-04-06 13:28:16 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-08 06:04:30 -0400
commit34fe2784b4aabeec6d2afbd132d070b20abea132 (patch)
tree4fa761994df2463b42b04dd90a8fb76d670e7032 /drivers/media/i2c
parentcdcd141c95f0c2b88e0b0869028c320cd031a23b (diff)
[media] saa7134: Add AverMedia A706 AverTV Satellite Hybrid+FM
Add AverMedia AverTV Satellite Hybrid+FM (A706) card to saa7134 driver. Working: analog inputs, TV, FM radio and IR remote control. Untested: DVB-S. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/i2c')
-rw-r--r--drivers/media/i2c/ir-kbd-i2c.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/media/i2c/ir-kbd-i2c.c b/drivers/media/i2c/ir-kbd-i2c.c
index 2586e46f14b5..8e2f79cb045e 100644
--- a/drivers/media/i2c/ir-kbd-i2c.c
+++ b/drivers/media/i2c/ir-kbd-i2c.c
@@ -230,7 +230,7 @@ static int get_key_avermedia_cardbus(struct IR_i2c *ir,
230 return 0; 230 return 0;
231 231
232 dprintk(1, "read key 0x%02x/0x%02x\n", key, keygroup); 232 dprintk(1, "read key 0x%02x/0x%02x\n", key, keygroup);
233 if (keygroup < 2 || keygroup > 3) { 233 if (keygroup < 2 || keygroup > 4) {
234 /* Only a warning */ 234 /* Only a warning */
235 dprintk(1, "warning: invalid key group 0x%02x for key 0x%02x\n", 235 dprintk(1, "warning: invalid key group 0x%02x for key 0x%02x\n",
236 keygroup, key); 236 keygroup, key);
@@ -239,6 +239,10 @@ static int get_key_avermedia_cardbus(struct IR_i2c *ir,
239 239
240 *ir_key = key; 240 *ir_key = key;
241 *ir_raw = key; 241 *ir_raw = key;
242 if (!strcmp(ir->ir_codes, RC_MAP_AVERMEDIA_M733A_RM_K6)) {
243 *ir_key |= keygroup << 8;
244 *ir_raw |= keygroup << 8;
245 }
242 return 1; 246 return 1;
243} 247}
244 248
@@ -332,6 +336,13 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
332 rc_type = RC_BIT_OTHER; 336 rc_type = RC_BIT_OTHER;
333 ir_codes = RC_MAP_AVERMEDIA_CARDBUS; 337 ir_codes = RC_MAP_AVERMEDIA_CARDBUS;
334 break; 338 break;
339 case 0x41:
340 name = "AVerMedia EM78P153";
341 ir->get_key = get_key_avermedia_cardbus;
342 rc_type = RC_BIT_OTHER;
343 /* RM-KV remote, seems to be same as RM-K6 */
344 ir_codes = RC_MAP_AVERMEDIA_M733A_RM_K6;
345 break;
335 case 0x71: 346 case 0x71:
336 name = "Hauppauge/Zilog Z8"; 347 name = "Hauppauge/Zilog Z8";
337 ir->get_key = get_key_haup_xvr; 348 ir->get_key = get_key_haup_xvr;