Re: [PATCH 3/9] ivtv: test below 0 on unsigned has_ir

From: Hans Verkuil
Date: Tue Jul 22 2008 - 00:52:23 EST


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

>
> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
> ---
>
> diff --git a/drivers/media/video/ivtv/ivtv-driver.c
> b/drivers/media/video/ivtv/ivtv-driver.c index 797e636..7d909f9
> 100644
> --- a/drivers/media/video/ivtv/ivtv-driver.c
> +++ b/drivers/media/video/ivtv/ivtv-driver.c
> @@ -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");
> diff --git a/drivers/media/video/tveeprom.c
> b/drivers/media/video/tveeprom.c index 9da0e18..41c22a7 100644
> --- a/drivers/media/video/tveeprom.c
> +++ b/drivers/media/video/tveeprom.c
> @@ -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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/