[media] ivtv-i2c: Fix two warnings
authorMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 30 Dec 2010 14:58:37 +0000 (11:58 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 30 Dec 2010 15:06:35 +0000 (13:06 -0200)
Fix two gcc warnings:

drivers/media/video/ivtv/ivtv-i2c.c:170: warning: cast from pointer to integer of different size
drivers/media/video/ivtv/ivtv-i2c.c:171: warning: cast from pointer to integer of different size
$ gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)

They seem bogus, but, as the original code also has problems with
LE/BE, just change its implementation to be clear.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/ivtv/ivtv-i2c.c

index 2bed4309c16b3751f16cf8d60b0e0c667f6fa9f7..e103b8fc74525753ef0fe08d236bea3c818823eb 100644 (file)
@@ -167,8 +167,8 @@ static int get_key_adaptec(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw)
        keybuf[2] &= 0x7f;
        keybuf[3] |= 0x80;
 
-       *ir_key = (u32) keybuf;
-       *ir_raw = (u32) keybuf;
+       *ir_key = keybuf[3] | keybuf[2] << 8 | keybuf[1] << 16 |keybuf[0] << 24;
+       *ir_raw = *ir_key;
 
        return 1;
 }