[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DB3PR0402MB39164815DDDB8F94507E36B4F5F00@DB3PR0402MB3916.eurprd04.prod.outlook.com>
Date: Mon, 23 Mar 2020 14:53:55 +0000
From: Anson Huang <anson.huang@....com>
To: Daniel Lezcano <daniel.lezcano@...aro.org>,
"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
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?
Thanks,
Anson
Powered by blists - more mailing lists