diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2006-11-12 07:28:46 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-12-10 05:51:17 -0500 |
commit | f2520106e78b250c2c4662608cb8db1169932a2d (patch) | |
tree | 5557da36e544dae423108143e49a2d8ae02a8753 | |
parent | c6e53daffc2c6e66069304b3970256744074abec (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.c | 9 | ||||
-rw-r--r-- | include/media/tveeprom.h | 2 |
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 | } |
664 | EXPORT_SYMBOL(tveeprom_hauppauge_analog); | 665 | EXPORT_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 | ||
4 | struct tveeprom { | 4 | struct 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; |