diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2008-07-22 14:50:31 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-26 11:54:42 -0400 |
commit | b654fcdc0ea3b6e5724c9873ae062bdfe7f28efe (patch) | |
tree | a7cd44165baef31933053345a18279a4f66817e0 /drivers/media/video/tveeprom.c | |
parent | 38f9d308597fe3f8d52bfa30e7ed6c742b85a1db (diff) |
V4L/DVB (8479): tveeprom/ivtv: fix usage of has_ir field
has_ir was set to and compared to -1 in several cases, even though it is
an u32. ivtv also contained a FIXME for an old kernel that could be
removed.
Thanks to Roel Kluin for creating an initial patch for this. Although
I chose a different solution here it did help in pointing out the problem.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/tveeprom.c')
-rw-r--r-- | drivers/media/video/tveeprom.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/media/video/tveeprom.c b/drivers/media/video/tveeprom.c index 93954c143237..fbfac1b3bd02 100644 --- a/drivers/media/video/tveeprom.c +++ b/drivers/media/video/tveeprom.c | |||
@@ -485,7 +485,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee, | |||
485 | tvee->has_radio = eeprom_data[i+len-1]; | 485 | tvee->has_radio = eeprom_data[i+len-1]; |
486 | /* old style tag, don't know how to detect | 486 | /* old style tag, don't know how to detect |
487 | IR presence, mark as unknown. */ | 487 | IR presence, mark as unknown. */ |
488 | tvee->has_ir = -1; | 488 | tvee->has_ir = 0; |
489 | tvee->model = | 489 | tvee->model = |
490 | eeprom_data[i+8] + | 490 | eeprom_data[i+8] + |
491 | (eeprom_data[i+9] << 8); | 491 | (eeprom_data[i+9] << 8); |
@@ -605,7 +605,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee, | |||
605 | 605 | ||
606 | case 0x0f: | 606 | case 0x0f: |
607 | /* tag 'IRInfo' */ | 607 | /* tag 'IRInfo' */ |
608 | tvee->has_ir = eeprom_data[i+1]; | 608 | tvee->has_ir = 1 | (eeprom_data[i+1] << 1); |
609 | break; | 609 | break; |
610 | 610 | ||
611 | /* case 0x10: tag 'VBIInfo' */ | 611 | /* case 0x10: tag 'VBIInfo' */ |
@@ -705,14 +705,14 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee, | |||
705 | tveeprom_info("decoder processor is %s (idx %d)\n", | 705 | tveeprom_info("decoder processor is %s (idx %d)\n", |
706 | STRM(decoderIC, tvee->decoder_processor), | 706 | STRM(decoderIC, tvee->decoder_processor), |
707 | tvee->decoder_processor); | 707 | tvee->decoder_processor); |
708 | if (tvee->has_ir == -1) | 708 | if (tvee->has_ir) |
709 | tveeprom_info("has %sradio\n", | ||
710 | tvee->has_radio ? "" : "no "); | ||
711 | else | ||
712 | tveeprom_info("has %sradio, has %sIR receiver, has %sIR transmitter\n", | 709 | tveeprom_info("has %sradio, has %sIR receiver, has %sIR transmitter\n", |
713 | tvee->has_radio ? "" : "no ", | 710 | tvee->has_radio ? "" : "no ", |
714 | (tvee->has_ir & 1) ? "" : "no ", | 711 | (tvee->has_ir & 2) ? "" : "no ", |
715 | (tvee->has_ir & 2) ? "" : "no "); | 712 | (tvee->has_ir & 4) ? "" : "no "); |
713 | else | ||
714 | tveeprom_info("has %sradio\n", | ||
715 | tvee->has_radio ? "" : "no "); | ||
716 | } | 716 | } |
717 | EXPORT_SYMBOL(tveeprom_hauppauge_analog); | 717 | EXPORT_SYMBOL(tveeprom_hauppauge_analog); |
718 | 718 | ||