Re: [PATCH v4 2/2] thermal: uniphier: add UniPhier thermal driver

From: Masahiro Yamada
Date: Thu Jul 20 2017 - 13:09:39 EST


2017-07-21 1:53 GMT+09:00 Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>:
> 2017-07-21 1:08 GMT+09:00 Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>:
>> 2017-07-07 10:54 GMT+09:00 Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>:
>>> Add a thermal driver for on-chip PVT (Process, Voltage and Temperature)
>>> monitoring unit implemented on UniPhier SoCs. This driver supports
>>> temperature monitoring and alert function.
>>>
>>> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>
>>
>>
>> Sparse reports several warnings.
>>
>>
>> CHECK drivers/thermal/uniphier_thermal.c
>> drivers/thermal/uniphier_thermal.c:276:52: warning: incorrect type in
>> argument 1 (different base types)
>> drivers/thermal/uniphier_thermal.c:276:52: expected restricted
>> __be32 const [usertype] *cell
>> drivers/thermal/uniphier_thermal.c:276:52: got unsigned int const
>> [usertype] *[assigned] calib
>> drivers/thermal/uniphier_thermal.c:277:58: warning: incorrect type in
>> argument 1 (different base types)
>> drivers/thermal/uniphier_thermal.c:277:58: expected restricted
>> __be32 const [usertype] *cell
>> drivers/thermal/uniphier_thermal.c:277:58: got unsigned int const
>> [usertype] *
>> drivers/thermal/uniphier_thermal.c:136:9: warning: cast truncates bits
>> from constant value (fffffffff becomes ffffffff)
>> drivers/thermal/uniphier_thermal.c:141:9: warning: cast truncates bits
>> from constant value (7ffffffff becomes ffffffff)
>> drivers/thermal/uniphier_thermal.c:153:9: warning: cast truncates bits
>> from constant value (ffffffffff0001 becomes ffff0001)
>> drivers/thermal/uniphier_thermal.c:170:9: warning: cast truncates bits
>> from constant value (7ffffffffff becomes ffffffff)
>> drivers/thermal/uniphier_thermal.c:185:9: warning: cast truncates bits
>> from constant value (7ffffffffff becomes ffffffff)
>>
>
> Hmm.
> The endian mismatch can be fixed by replacing u32 with __be32.
>
> I can not get the truncates bits warnings.
> Why sparse complains about this...

My bad - I was cross-compiling with ARCH=arm, so I think that's why.

I think the incorrect type should be fixed. (u32 -> __be32)



--
Best Regards
Masahiro Yamada