aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/tveeprom.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2008-07-22 14:50:31 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-26 11:54:42 -0400
commitb654fcdc0ea3b6e5724c9873ae062bdfe7f28efe (patch)
treea7cd44165baef31933053345a18279a4f66817e0 /drivers/media/video/tveeprom.c
parent38f9d308597fe3f8d52bfa30e7ed6c742b85a1db (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.c16
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}
717EXPORT_SYMBOL(tveeprom_hauppauge_analog); 717EXPORT_SYMBOL(tveeprom_hauppauge_analog);
718 718