[PATCH 2/5] clocksource: armada-370-xp: Simplify TIMER_CTRL register access

Andrew Lunn andrew at lunn.ch
Thu Aug 8 03:20:16 EDT 2013


On Wed, Aug 07, 2013 at 08:52:33PM -0300, Ezequiel Garcia wrote:
> This commit creates two functions to access the TIMER_CTRL register:
> one for global one for the per-cpu. This makes the code much more
> readable. In addition, since the TIMER_CTRL register is also used for
> watchdog, this is preparation work for future thread-safe improvements.
> 
> Acked-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
> ---
>  drivers/clocksource/time-armada-370-xp.c | 70 ++++++++++++++------------------
>  1 file changed, 31 insertions(+), 39 deletions(-)
> 
> diff --git a/drivers/clocksource/time-armada-370-xp.c b/drivers/clocksource/time-armada-370-xp.c
> index 5ee4329..a2351ac 100644
> --- a/drivers/clocksource/time-armada-370-xp.c
> +++ b/drivers/clocksource/time-armada-370-xp.c
> @@ -71,6 +71,18 @@ static u32 ticks_per_jiffy;
>  
>  static struct clock_event_device __percpu **percpu_armada_370_xp_evt;
>  
> +void timer_ctrl_clrset(u32 clr, u32 set)
> +{
> +       writel((readl(timer_base + TIMER_CTRL_OFF) & ~clr) | set,
> +               timer_base + TIMER_CTRL_OFF);
> +}
> +
> +void local_timer_ctrl_clrset(u32 clr, u32 set)
> +{
> +       writel((readl(local_base + TIMER_CTRL_OFF) & ~clr) | set,
> +               local_base + TIMER_CTRL_OFF);
> +}
> +

Ezequiel

I guess the watchdog will only require one of these two functions
above, and probably not the local_timer function. So maybe make it
static? Also, do you get sparse warnings from timer_ctrl_clrset()
since it is not static, but also not declared in a header file
somewhere?

	Andrew



More information about the linux-arm-kernel mailing list