ivtv: test below 0 on unsigned has_ir
PATCH 3/9 ivtv: test below 0 on unsigned has_ir
u32 has_ir, member of struct tveeprom is unsigned, so assignment of -1 and subsequent tests fail
---
drivers/media/video/ivtv/ivtv-driver.c +1 -1
@@ -465,7 +465,7 @@ static void ivtv_process_eeprom(struct ivtv *itv) itv->options.radio = (tv.has_radio !=0 );/* only enable newi2c if an IR blaster is present */ /* FIXME: for 2.6.20 the test against 2 should be removed */ -if (itv->options.newi2c ==-1 && tv.has_ir !=-1 && tv.has_ir !=2 ) { +if (itv->options.newi2c ==-1 && tv.has_ir != ~0 && tv.has_ir !=2 ) { itv->options.newi2c = (tv.has_ir &2 ) ?1 :0 ;if (itv->options.newi2c) {IVTV_INFO ("Reopen i2c bus for IR-blaster support\n" );
drivers/media/video/tveeprom.c +2 -2
@@ -483,7 +483,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee, tvee->has_radio = eeprom_data[i+len-1 ];/* old style tag, don't know how to detect IR presence, mark as unknown. */ - tvee->has_ir =-1 ; + tvee->has_ir = ~0 ; tvee->model = eeprom_data[i+8 ] + (eeprom_data[i+9 ] <<8 );
@@ -703,7 +703,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee,tveeprom_info ("decoder processor is %s (idx %d)\n" ,STRM (decoderIC, tvee->decoder_processor), tvee->decoder_processor); -if (tvee->has_ir ==-1 ) +if (tvee->has_ir == ~0 )tveeprom_info ("has %sradio\n" , tvee->has_radio ?"" :"no " );else
Quoted 2 lines · On Tuesday 22 July 2008 02:29:08 roel kluin wrote:
u32
has_ir, member of struct tveeprom is unsigned, so assignment of -1 and subsequent tests fail
Thank you for this report, but I'm going to NAK this patch. I will take a closer look at this tonight and I will make a new patch for this. First to take care of the FIXME that's just before the first change below and secondly I'll see if it isn't better to change has_ir to an
int: I don't like using ~0 like this.
So expect to see a new patch later today.
Regards,
Hans
Quoted 40 lines
Signed-off-by Roel Kluin <[email protected]>---
(quoted diff) +0
-0
b/drivers/media/video/ivtv/ivtv-driver.cindex 797e636..7d909f9 100644drivers/media/video/ivtv/ivtv-driver.c +0
-1@@ -465,7 +465,7 @@ static void ivtv_process_eeprom(struct ivtv *itv) itv->options.radio = (tv.has_radio !=0 );/* only enable newi2c if an IR blaster is present */ /* FIXME: for 2.6.20 the test against 2 should be removed */ -if (itv->options.newi2c ==-1 && tv.has_ir !=-1 && tv.has_ir !=2 ){ + if (
itv->options.newi2c== -1 && tv.has_ir != ~0 && tv.has_ir !=
2) {itv->options.newi2c= (tv.has_ir & 2) ? 1 : 0;drivers/media/video/ivtv/ivtv-driver.c +0
-0if (itv->options.newi2c) {IVTV_INFO ("Reopen i2c bus for IR-blaster support\n" );(quoted diff) +0
-0
b/drivers/media/video/tveeprom.cindex 9da0e18..41c22a7 100644drivers/media/video/tveeprom.c +2
-2@@ -483,7 +483,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee, tvee->has_radio = eeprom_data[i+len-1];/* old style tag, don't know how to detect IR presence, mark as unknown. */ - tvee->has_ir =-1 ; + tvee->has_ir = ~0 ; tvee->model = eeprom_data[i+8 ] + (eeprom_data[i+9 ] <<8 );@@ -703,7 +703,7 @@ void tveeprom_hauppauge_analog(struct i2c_client *c, struct tveeprom *tvee, tveeprom_info("decoder processor is %s (idx %d)\n",STRM (decoderIC, tvee->decoder_processor), tvee->decoder_processor); -if (tvee->has_ir ==-1 ) +if (tvee->has_ir == ~0 )tveeprom_info ("has %sradio\n" , tvee->has_radio ?"" :"no " );
Quoted 1 line
else
--
video4linux-list mailing list
Unsubscribe mailto:[email protected]?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list