aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2006-11-12 07:28:46 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-12-10 05:51:17 -0500
commitf2520106e78b250c2c4662608cb8db1169932a2d (patch)
tree5557da36e544dae423108143e49a2d8ae02a8753
parentc6e53daffc2c6e66069304b3970256744074abec (diff)
V4L/DVB (4812): Detect presence of IR receiver/IR transmitter in tveeprom
Thanks to input from Steven Toth from Hauppauge the tveeprom module has been extended to detect the presence of an IR transmitter (aka IR-blaster). Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/tveeprom.c9
-rw-r--r--include/media/tveeprom.h2
2 files changed, 6 insertions, 5 deletions
diff --git a/drivers/media/video/tveeprom.c b/drivers/media/video/tveeprom.c
index 6b9ef731b83a..2624e3f7dd29 100644
--- a/drivers/media/video/tveeprom.c
+++ b/drivers/media/video/tveeprom.c
@@ -430,7 +430,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
430 tvee->has_radio = eeprom_data[i+len-1]; 430 tvee->has_radio = eeprom_data[i+len-1];
431 /* old style tag, don't know how to detect 431 /* old style tag, don't know how to detect
432 IR presence, mark as unknown. */ 432 IR presence, mark as unknown. */
433 tvee->has_ir = 2; 433 tvee->has_ir = -1;
434 tvee->model = 434 tvee->model =
435 eeprom_data[i+8] + 435 eeprom_data[i+8] +
436 (eeprom_data[i+9] << 8); 436 (eeprom_data[i+9] << 8);
@@ -653,13 +653,14 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,
653 STRM(decoderIC, tvee->decoder_processor), 653 STRM(decoderIC, tvee->decoder_processor),
654 tvee->decoder_processor); 654 tvee->decoder_processor);
655 } 655 }
656 if (tvee->has_ir == 2) 656 if (tvee->has_ir == -1)
657 tveeprom_info("has %sradio\n", 657 tveeprom_info("has %sradio\n",
658 tvee->has_radio ? "" : "no "); 658 tvee->has_radio ? "" : "no ");
659 else 659 else
660 tveeprom_info("has %sradio, has %sIR remote\n", 660 tveeprom_info("has %sradio, has %sIR receiver, has %sIR transmitter\n",
661 tvee->has_radio ? "" : "no ", 661 tvee->has_radio ? "" : "no ",
662 tvee->has_ir ? "" : "no "); 662 (tvee->has_ir & 1) ? "" : "no ",
663 (tvee->has_ir & 2) ? "" : "no ");
663} 664}
664EXPORT_SYMBOL(tveeprom_hauppauge_analog); 665EXPORT_SYMBOL(tveeprom_hauppauge_analog);
665 666
diff --git a/include/media/tveeprom.h b/include/media/tveeprom.h
index e9fc1a785497..5660ea24996b 100644
--- a/include/media/tveeprom.h
+++ b/include/media/tveeprom.h
@@ -3,7 +3,7 @@
3 3
4struct tveeprom { 4struct tveeprom {
5 u32 has_radio; 5 u32 has_radio;
6 u32 has_ir; /* 0: no IR, 1: IR present, 2: unknown */ 6 u32 has_ir; /* bit 0: IR receiver present, bit 1: IR transmitter (blaster) present. -1 == unknown */
7 u32 has_MAC_address; /* 0: no MAC, 1: MAC present, 2: unknown */ 7 u32 has_MAC_address; /* 0: no MAC, 1: MAC present, 2: unknown */
8 8
9 u32 tuner_type; 9 u32 tuner_type;