Re: [PATCH] thermal: imx8mm: Fix build warning of incorrect argument type

From: Daniel Lezcano
Date: Mon Mar 23 2020 - 12:14:42 EST


On 23/03/2020 15:53, Anson Huang wrote:
> Hi, Daniel
>
>> Subject: Re: [PATCH] thermal: imx8mm: Fix build warning of incorrect
>> argument type
>>
>> On 23/03/2020 15:19, Anson Huang wrote:
>>> Fix below sparse warning:
>>>
>>> drivers/thermal/imx8mm_thermal.c:82:36: sparse: sparse: incorrect type
>>> in argument 2 (different address spaces), expected unsigned long const
>>> volatile *addr
>>> drivers/thermal/imx8mm_thermal.c:82:36: sparse: expected unsigned long
>>> const volatile *addr
>>>
>>> Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>
>>> ---
>>> drivers/thermal/imx8mm_thermal.c | 7 +++----
>>> 1 file changed, 3 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/thermal/imx8mm_thermal.c
>>> b/drivers/thermal/imx8mm_thermal.c
>>> index c32308b..0d60f8d 100644
>>> --- a/drivers/thermal/imx8mm_thermal.c
>>> +++ b/drivers/thermal/imx8mm_thermal.c
>>> @@ -75,15 +75,14 @@ static int imx8mp_tmu_get_temp(void *data, int
>>> *temp) {
>>> struct tmu_sensor *sensor = data;
>>> struct imx8mm_tmu *tmu = sensor->priv;
>>> + unsigned long val;
>>> bool ready;
>>> - u32 val;
>>>
>>> - ready = test_bit(probe_status_offset(sensor->hw_id),
>>> - tmu->base + TRITSR);
>>> + val = readl_relaxed(tmu->base + TRITSR);
>>> + ready = test_bit(probe_status_offset(sensor->hw_id), &val);
>>> if (!ready)
>>> return -EAGAIN;
>>
>> Doesn't this patch also fix a bug because the read was done after testing the
>> bit? :)
>
> Yesð Previous patch reads the register twice at different time, may cause a
> sync issue of checking the ready bit and reading the temperature using register
> values read at different time.
>
> Do I need to improve the commit log? I guess no need?

No need, it is fine.


--
<http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog