Messages in this thread | | | Subject | Re: [PATCH] thermal: imx8mm: Fix build warning of incorrect argument type | From | Daniel Lezcano <> | Date | Mon, 23 Mar 2020 15:33:17 +0100 |
| |
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@nxp.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? :)
> - val = readl_relaxed(tmu->base + TRITSR); > val = sensor->hw_id ? FIELD_GET(TRITSR_TEMP1_VAL_MASK, val) : > FIELD_GET(TRITSR_TEMP0_VAL_MASK, val); > if (val & SIGN_BIT) /* negative */ >
-- <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
| |