Subject: [PATCHv6 00/11] Remove ARM local timer API

From: [email-masked] (John Stultz)
Date: Fri, 31 May 2013 11:08:29 -0700

On 05/31/2013 10:45 AM, Stephen Boyd wrote:
> Comments have been light for this round so I think we're about
> ready to merge. John/Thomas, can you pick up these patches or
> shall I route them through arm-soc or something else?

So there looks to be a fair amount of additions in the ARM tree, do 
those already have acks from Arnd/Olof/other folks? (I think I was only 
cc'ed on the first two patches).

Daniel (cc'ed) has just started helping out here, and should be able to 
review and hopefully ack or pick up the timer related 
drivers/clocksource changes to feed to Thomas' tree. Not sure if he's 
got them in his mailbox so you might want to resend them and make sure 
he's CC'ed.

If Arnd/Olof/whomever else from the arm side has acked things, Daniel 
probably could queue the arm changes too, but it might be better just to 
get Daniel's ack on the drivers/clocksource changes and then queue 
things via arm-soc?

thanks
-john

> On 05/13, Stephen Boyd wrote:
>> In light of Mark Rutland's recent work on divorcing the ARM architected
>> timers from the ARM local timer API and introducing a generic arch hook for
>> broadcast it seems that we should remove the local timer API entirely.
>> Doing so will reduce the architecture dependencies of our timer drivers,
>> reduce code in ARM core, and simplify timer drivers because they no longer
>> go through an architecture layer that is essentially a hotplug notifier.
>>
>> Previous attempts have been made[1] unsuccessfully. I'm hoping this can
>> be accepted now so that we can clean up the timer drivers that are
>> used in both UP and SMP situations. Right now these drivers have to ignore
>> the timer setup callback on the boot CPU to avoid registering clockevents
>> twice. This is not very symmetric and causes convuluted code that does
>> the same thing in two places.
>>
>> Patches based on next-20130418
>>
>> I'm still looking for Acks/Tested-by on EXYNOS and PRIMA2.
>>
>> [1] http://article.gmane.org/gmane.linux.ports.arm.kernel/145705
>>
>> Note: A hotplug notifier is used by both x86 for the apb_timer (see
>> apbt_cpuhp_notify) and by metag (see arch_timer_cpu_notify in
>> metag_generic.c) so this is not new.
>>
>> Changes since v5:
>>   * Rebased onto v3.10-rc1
>>   * Rebase caused minor updates to mct patch
>>
>> Changes since v4:
>>   * Rebased onto next-20130418
>>   * Rebase caused minor updates to mct patch and twd Kconfig
>>
>> Changes since v3:
>>   * New patch to fix SMP with dummy timers registered after a global timer
>>   * Push this_cpu_ptr lower to avoid preemptible false positive warnings
>>   * Collected acks/tested-bys
>>
>> Changes since v2:
>>   * Bug fixes in smp_twd from Tony Lindgren's testing
>>   * Move smp_twd to use late_time_init hook
>>   * Collected Acks
>>
>> Changes since v1:
>>   * Picked up Mark's generic dummy timer driver
>>   * Split out omap changes into new patch
>>
>> Mark Rutland (1):
>>    clocksource: add generic dummy timer driver
>>
>> Stephen Boyd (10):
>>    clockevents: Prefer CPU local devices over global devices
>>    ARM: smp: Remove duplicate dummy timer implementation
>>    ARM: smp_twd: Divorce smp_twd from local timer API
>>    ARM: OMAP2+: Divorce from local timer API
>>    ARM: EXYNOS4: Divorce mct from local timer API
>>    ARM: PRIMA2: Divorce timer-marco from local timer API
>>    ARM: msm: Divorce msm_timer from local timer API
>>    clocksource: time-armada-370-xp: Fix sparse warning
>>    clocksource: time-armada-370-xp: Divorce from local timer API
>>    ARM: smp: Remove local timer API
>>
>>   arch/arm/Kconfig                         |  12 +--
>>   arch/arm/include/asm/localtimer.h        |  34 ---------
>>   arch/arm/kernel/smp.c                    |  87 ---------------------
>>   arch/arm/kernel/smp_twd.c                |  64 ++++++++++------
>>   arch/arm/mach-highbank/Kconfig           |   2 +-
>>   arch/arm/mach-imx/Kconfig                |   2 +-
>>   arch/arm/mach-msm/timer.c                | 126 +++++++++++++++++--------------
>>   arch/arm/mach-omap2/Kconfig              |   3 +-
>>   arch/arm/mach-omap2/timer.c              |   7 --
>>   arch/arm/mach-realview/Kconfig           |   8 +-
>>   arch/arm/mach-spear/Kconfig              |   2 +-
>>   arch/arm/mach-tegra/Kconfig              |   2 +-
>>   arch/arm/mach-ux500/Kconfig              |   2 +-
>>   arch/arm/mach-vexpress/Kconfig           |   2 +-
>>   arch/arm/mach-zynq/Kconfig               |   2 +-
>>   drivers/clocksource/Makefile             |   1 +
>>   drivers/clocksource/dummy_timer.c        |  69 +++++++++++++++++
>>   drivers/clocksource/exynos_mct.c         |  60 ++++++++++-----
>>   drivers/clocksource/time-armada-370-xp.c |  92 +++++++++++-----------
>>   drivers/clocksource/timer-marco.c        | 100 +++++++++++++-----------
>>   include/linux/time-armada-370-xp.h       |   4 +-
>>   kernel/time/tick-common.c                |   5 +-
>>   22 files changed, 340 insertions(+), 346 deletions(-)
>>   delete mode 100644 arch/arm/include/asm/localtimer.h
>>   create mode 100644 drivers/clocksource/dummy_timer.c
>>
>> -- 
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> hosted by The Linux Foundation
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html