[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <103ffda2-2fc5-2918-a486-ab3bbf60e614@linaro.org>
Date: Mon, 23 Mar 2020 17:14:35 +0100
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: Anson Huang <anson.huang@....com>,
"rui.zhang@...el.com" <rui.zhang@...el.com>,
"amit.kucheria@...durent.com" <amit.kucheria@...durent.com>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"festevam@...il.com" <festevam@...il.com>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Cc: dl-linux-imx <linux-imx@....com>
Subject: Re: [PATCH] thermal: imx8mm: Fix build warning of incorrect argument
type
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@....com>
>>> ---
>>> 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
Powered by blists - more mailing lists