[PATCH v2] clocksource/drivers/dw_apb_timer: Use {readl|writel}_relaxed

Arnd Bergmann arnd at arndb.de
Fri Nov 13 04:42:09 PST 2015


On Friday 13 November 2015 20:31:23 Jisheng Zhang wrote:
> diff --git a/drivers/clocksource/dw_apb_timer.c b/drivers/clocksource/dw_apb_timer.c
> index c76c750..04282ee 100644
> --- a/drivers/clocksource/dw_apb_timer.c
> +++ b/drivers/clocksource/dw_apb_timer.c
> @@ -51,13 +51,13 @@ clocksource_to_dw_apb_clocksource(struct clocksource *cs)
>  
>  static unsigned long apbt_readl(struct dw_apb_timer *timer, unsigned long offs)
>  {
> -       return readl(timer->base + offs);
> +       return readl_relaxed(timer->base + offs);
>  }
>  
>  static void apbt_writel(struct dw_apb_timer *timer, unsigned long val,
>                  unsigned long offs)
>  {
> -       writel(val, timer->base + offs);
> +       writel_relaxed(val, timer->base + offs);
>  }
>  
> 

As with the other patch, I think it would be nicer to only change the
functions that benefit from the change, to make it easier to prove
that the conversion is correct. You could introduce apbt_readl_releaxed()
etc functions and call them from __apbt_read_clocksource()
and apbt_next_event().

	Arnd



More information about the linux-arm-kernel mailing list