[PATCH V9] thermal: bcm2835: add thermal driver for bcm2835 soc
kernel at martin.sperl.org
kernel at martin.sperl.org
Fri Jan 20 00:43:02 PST 2017
> On 20.01.2017, at 05:23, Eduardo Valentin <edubezval at gmail.com> wrote:
>
> On Thu, Jan 19, 2017 at 08:14:02PM -0800, Eduardo Valentin wrote:
>> Hello Martin,
>>
>> On Sat, Jan 07, 2017 at 04:55:45PM +0000, kernel at martin.sperl.org wrote:
>>> From: Martin Sperl <kernel at martin.sperl.org>
>>>
>>> Add basic thermal driver for bcm2835 SOC.
>>>
>>> This driver currently relies on the firmware setting up the
>>> tsense HW block and does not set it up itself.
>>>
>>> Signed-off-by: Martin Sperl <kernel at martin.sperl.org>
>>> Acked-by: Eric Anholt <eric at anholt.net>
>>> Acked-by: Stefan Wahren <stefan.wahren at i2se.com>
>>>
>>
>> <cut>
>
>
> Also, I am getting this warn from sparse:
> drivers/thermal/bcm2835_thermal.c:110:16: warning: cast truncates bits
> from constant value (3ffffffffff00 becomes ffffff00)
> drivers/thermal/bcm2835_thermal.c:134:16: warning: cast truncates bits
> from constant value (3ffffffffff becomes ffffffff)
>
> Have you seen this?
No, I have not checked sparse.
These values are defined via GENMASK on line 47 and 57 respectively
and should actually compute to the following values:
for line 110 (line 47 has the define):
GENMASK(BCM2835_TS_TSENSCTL_THOLD_BITS + \
BCM2835_TS_TSENSCTL_THOLD_SHIFT - 1, \
BCM2835_TS_TSENSCTL_THOLD_SHIFT)
= GENMASK(10 + 8 - 1, 8)
= GENMASK(17, 8)
= (((~0UL) << (8)) & (~0UL >> (32 - 1 - (10 + 8 - 1))))
= 0x3ff00
for line 134 (line 57 has the define):
GENMASK(BCM2835_TS_TSENSCTL_THOLD_BITS + \
BCM2835_TS_TSENSCTL_THOLD_SHIFT - 1, \
BCM2835_TS_TSENSCTL_THOLD_SHIFT)
= GENMASK(10 + 0 - 1, 0)
= GENMASK(9, 0)
= (((~0UL) << (0)) & (~0UL >> (32 - 1 - (10 + 0 - 1))))
= 0x003ff
Note that the preprocessor expansions have been verified by
looking at the preprocessed driver source
(drivers/thermal/bcm2835_thermal.i)
I wonder why sparse is computing these GENMASK values as:
0x3ffffffffff00 and 0x3ffffffffff
Martin
More information about the linux-rpi-kernel
mailing list