Subject: [PATCH V2 2/11] time: convert arch_gettimeoffset to a pointer

From: [email-masked] (Stephen Warren)
Date: Tue, 13 Nov 2012 10:14:32 -0700

On 11/12/2012 02:36 PM, John Stultz wrote:
> On 11/12/2012 12:51 PM, Stephen Warren wrote:
>> Currently, whenever CONFIG_ARCH_USES_GETTIMEOFFSET is enabled, each
>> arch core provides a single implementation of arch_gettimeoffset(). In
>> many cases, different sub-architectures, different machines, or
>> different timer providers exist, and so the arch ends up implementing
>> arch_gettimeoffset() as a call-through-pointer anyway. Examples are
>> ARM, Cris, M68K, and it's arguable that the remaining architectures,
>> M32R and Blackfin, should be doing this anyway.
>>
>> Modify arch_gettimeoffset so that it itself is a function pointer, which
>> the arch initializes. This will allow later changes to move the
>> initialization of this function into individual machine support or timer
>> drivers. This is particularly useful for code in drivers/clocksource
>> which should rely on an arch-independant mechanism to register their
>> implementation of arch_gettimeoffset().
...
> One last thing to watch out for: If you're trying to build a kernel that
> mixes clocksource support with get_arch_timeoffset, you'll need to
> rework the #ifdef in update_wall_time(), since we currently assume with
> get_arch_timeoffset() that you're using tick + interpolation, so every
> call to update_wall_time() only moves time forward by one jiffy.

OK. I don't have any immediate plans to do that, although I wouldn't be
surprised if we (the ARM community in general) end up wanting to do that
at some point. It all depends on which ARM sub-architectures end up
getting converted to the multi-platform zImage support I guess.

> Otherwise, thanks for the name tweak. Going through the arm-soc tree is
> fine with me.
> 
> Acked-by: John Stultz <[email-masked]>

Thanks.