]> git.baikalelectronics.ru Git - kernel.git/commit
soc: mtk-pmic-wrap: avoid integer overflow warning
authorArnd Bergmann <arnd@arndb.de>
Thu, 12 May 2016 12:28:14 +0000 (14:28 +0200)
committerArnd Bergmann <arnd@arndb.de>
Thu, 19 May 2016 13:20:24 +0000 (15:20 +0200)
commitb6f8a7dfe18e2d7f2ddcfe933d52c84b422e5d95
tree1b7eb0dd01e324689fec7f65932e9c0882cfaff8
parent5a47ca43b945d96eff7b58cc753dab17cf99be37
soc: mtk-pmic-wrap: avoid integer overflow warning

On ARM64, the mtk-pmic-wrap driver causes a harmless warning:

mtk-pmic-wrap.c:1062:16: warning: large integer implicitly truncated to unsigned type [-Woverflow]
mtk-pmic-wrap.c:1074:16: warning: large integer implicitly truncated to unsigned type [-Woverflow]
mtk-pmic-wrap.c:1086:16: warning: large integer implicitly truncated to unsigned type [-Woverflow]
  .int_en_all = ~(BIT(31) | BIT(1)),

The problem is that the result of the BIT() macro is an 'unsigned long',
so taking the bitwise NOT operation of that results in an integer
with the upper 32 bits all set and that cannot be assigned to a
'u32' variable without loss of information.

This is harmless because we were never interested in the upper bits
here anyway, so we can shut up the warning by adding a simple cast
to 'u32'.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/soc/mediatek/mtk-pmic-wrap.c