OSDN Git Service

[media] stv0297: change typecast to u64 to avoid smatch warnings
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 29 Apr 2015 12:46:24 +0000 (09:46 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 1 May 2015 09:05:31 +0000 (06:05 -0300)
drivers/media/dvb-frontends/stv0297.c:140 stv0297_get_symbolrate() warn: should 'stv0297_readreg(state, 86) << 8' be a 64 bit type?
drivers/media/dvb-frontends/stv0297.c:141 stv0297_get_symbolrate() warn: should 'stv0297_readreg(state, 87) << 16' be a 64 bit type?
drivers/media/dvb-frontends/stv0297.c:142 stv0297_get_symbolrate() warn: should 'stv0297_readreg(state, 88) << 24' be a 64 bit type?

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/dvb-frontends/stv0297.c

index d40f226..dfc14d5 100644 (file)
@@ -136,10 +136,10 @@ static u32 stv0297_get_symbolrate(struct stv0297_state *state)
 {
        u64 tmp;
 
-       tmp = stv0297_readreg(state, 0x55);
-       tmp |= stv0297_readreg(state, 0x56) << 8;
-       tmp |= stv0297_readreg(state, 0x57) << 16;
-       tmp |= stv0297_readreg(state, 0x58) << 24;
+       tmp = (u64)(stv0297_readreg(state, 0x55)
+                   | (stv0297_readreg(state, 0x56) << 8)
+                   | (stv0297_readreg(state, 0x57) << 16)
+                   | (stv0297_readreg(state, 0x58) << 24));
 
        tmp *= STV0297_CLOCK_KHZ;
        tmp >>= 32;