Skip to contentSkip to conversation

Remove ARM local timer API

GIT PULL Stephen Boyd 3 participants 10 messages Jun 25, 2013 – Jul 25, 2013

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

Olof/Arnd,

These patches remove the ARM local timer API. The ARM architected timers have already moved away from this API so this series migrates the rest of the users allowing us to remove the API entirely. Thomas has been kind enough to take the first two patches into timers/core in the tip tree (thanks Thomas!) so I've merged that into v3.10-rc1 and then applied the rest of the patches on top. Let me know if this is acceptable.

These patches have been through multiple rounds and tested by multiple people since before the 3.10 merge window closed. Only Barry's ack is missing (Cced).

Since I don't have a tree on kernel.org, David Brown has been kind enough to push my tag out to his repo. Please pull.

The following changes since commit 42cba6e27c4cddc4df701c597dbfa666e1c013c8:

Merge branch 'timers/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into remove-local-timers (2013-06-24 17:45:02 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git tags/remove-local-timers

for you to fetch changes up to 060fd3043e5e3488504b9e70182e188dd9113aea:

ARM: smp: Remove local timer API (2013-06-24 17:47:34 -0700)

----------------------------------------------------------------
Now that we have a generic arch hook for broadcast we can remove the local timer API entirely. Doing so will reduce code in ARM core, reduce the architecture dependencies of our timer drivers, and simplify the code because we no longer go through an architecture layer that is essentially a hotplug notifier.

----------------------------------------------------------------
Stephen Boyd (9):
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/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 +-
 19 files changed, 267 insertions(+), 344 deletions(-)
 delete mode 100644 arch/arm/include/asm/localtimer.h
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
#1 lore raw

2013/6/26 Stephen Boyd <[email protected]>:

Quoted 10 lines

Olof/Arnd,

These patches remove the ARM local timer API. The ARM architected timers have already moved away from this API so this series migrates the rest of the users allowing us to remove the API entirely. Thomas has been kind enough to take the first two patches into timers/core in the tip tree (thanks Thomas!) so I've merged that into v3.10-rc1 and then applied the rest of the patches on top. Let me know if this is acceptable.

Quoted 3 lines

These patches have been through multiple rounds and tested by multiple people since before the 3.10 merge window closed. Only Barry's ack is missing (Cced).

sorry for delayed reply. pls don't wait for my ack. as we are dropping the marco SoC project this driver supports and moving to a new SoC. that is why i didn't verify and ack this.
whether this driver is still usable will depend on whether the timer IP will be re-used in the new chip. so maybe i will delete this driver once timer IP is decided in the new SoC, or i will repeat to maintain and verify it if the new SoC uses the same IP.

Quoted 58 lines

Since I don't have a tree on kernel.org, David Brown has been kind enough to push my tag out to his repo. Please pull.

The following changes since commit 42cba6e27c4cddc4df701c597dbfa666e1c013c8:

Merge branch 'timers/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into remove-local-timers (2013-06-24 17:45:02 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git tags/remove-local-timers

for you to fetch changes up to 060fd3043e5e3488504b9e70182e188dd9113aea:

ARM: smp: Remove local timer API (2013-06-24 17:47:34 -0700)

----------------------------------------------------------------
Now that we have a generic arch hook for broadcast we can remove the local timer API entirely. Doing so will reduce code in ARM core, reduce the architecture dependencies of our timer drivers, and simplify the code because we no longer go through an architecture layer that is essentially a hotplug notifier.

----------------------------------------------------------------
Stephen Boyd (9):
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/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 +-
 19 files changed, 267 insertions(+), 344 deletions(-)
 delete mode 100644 arch/arm/include/asm/localtimer.h
Quoted 3 lines

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

-barry

#2 lore raw
In reply to Stephen Boyd
Quoted 9 lines · Stephen Boyd

Olof/Arnd,

These patches remove the ARM local timer API. The ARM architected timers have already moved away from this API so this series migrates the rest of the users allowing us to remove the API entirely. Thomas has been kind enough to take the first two patches into timers/core in the tip tree (thanks Thomas!) so I've merged that into v3.10-rc1 and then applied the rest of the patches on top. Let me know if this is acceptable.

We need guarantees from Thomas that the branch is stable and will never be rebased before it hit Linus tree, or we'll be in a world of pain for dependencies like these.

Thomas, is this branch stable or do you anticipate a rebase?

-Olof

#3 lore raw
Quoted 11 lines · Olof Johansson
Quoted 9 lines · Stephen Boyd

Olof/Arnd,

These patches remove the ARM local timer API. The ARM architected timers have already moved away from this API so this series migrates the rest of the users allowing us to remove the API entirely. Thomas has been kind enough to take the first two patches into timers/core in the tip tree (thanks Thomas!) so I've merged that into v3.10-rc1 and then applied the rest of the patches on top. Let me know if this is acceptable.

Quoted 6 lines

We need guarantees from Thomas that the branch is stable and will never be rebased before it hit Linus tree, or we'll be in a world of pain for dependencies like these.

Thomas, is this branch stable or do you anticipate a rebase?

This branch has merged into Linus' tree. Can this go through the arm-soc tree now?

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
#4 lore raw
Quoted 11 lines · Stephen Boyd
Quoted 10 lines · Olof Johansson
Quoted 9 lines · Stephen Boyd

Olof/Arnd,

These patches remove the ARM local timer API. The ARM architected timers have already moved away from this API so this series migrates the rest of the users allowing us to remove the API entirely. Thomas has been kind enough to take the first two patches into timers/core in the tip tree (thanks Thomas!) so I've merged that into v3.10-rc1 and then applied the rest of the patches on top. Let me know if this is acceptable.

Quoted 9 lines
Quoted 6 lines

We need guarantees from Thomas that the branch is stable and will never be rebased before it hit Linus tree, or we'll be in a world of pain for dependencies like these.

Thomas, is this branch stable or do you anticipate a rebase?

This branch has merged into Linus' tree. Can this go through the arm-soc tree now?

The merge window is over now. Can this be merged for 3.12?

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
#5 lore raw
Quoted 17 lines · Stephen Boyd
Quoted 4 lines · Stephen Boyd
Quoted 3 lines · Olof Johansson
Quoted 2 lines · Stephen Boyd

Olof/Arnd,

Quoted 8 lines
Quoted 8 lines
Quoted 7 lines

These patches remove the ARM local timer API. The ARM architected timers have already moved away from this API so this series migrates the rest of the users allowing us to remove the API entirely. Thomas has been kind enough to take the first two patches into timers/core in the tip tree (thanks Thomas!) so I've merged that into v3.10-rc1 and then applied the rest of the patches on top. Let me know if this is acceptable.

We need guarantees from Thomas that the branch is stable and will

never be

Quoted 3 lines
Quoted 3 lines

rebased before it hit Linus tree, or we'll be in a world of pain for dependencies like these.

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Thomas, is this branch stable or do you anticipate a rebase?

This branch has merged into Linus' tree. Can this go through the arm-soc tree now?

The merge window is over now. Can this be merged for 3.12?

Yes, I am still traveling and haven't done any merges for 3.12 yet. This is first in the queue, I should get to it over the weekend or early next week.

-Olof

#6 lore raw
In reply to Stephen Boyd
Quoted 28 lines · Stephen Boyd

Olof/Arnd,

These patches remove the ARM local timer API. The ARM architected timers have already moved away from this API so this series migrates the rest of the users allowing us to remove the API entirely. Thomas has been kind enough to take the first two patches into timers/core in the tip tree (thanks Thomas!) so I've merged that into v3.10-rc1 and then applied the rest of the patches on top. Let me know if this is acceptable.

These patches have been through multiple rounds and tested by multiple people since before the 3.10 merge window closed. Only Barry's ack is missing (Cced).

Since I don't have a tree on kernel.org, David Brown has been kind enough to push my tag out to his repo. Please pull.

The following changes since commit 42cba6e27c4cddc4df701c597dbfa666e1c013c8:

Merge branch 'timers/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into remove-local-timers (2013-06-24 17:45:02 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git tags/remove-local-timers

for you to fetch changes up to 060fd3043e5e3488504b9e70182e188dd9113aea:

Quoted 8 lines

ARM: smp: Remove local timer API (2013-06-24 17:47:34 -0700)

----------------------------------------------------------------
Now that we have a generic arch hook for broadcast we can remove the local timer API entirely. Doing so will reduce code in ARM core, reduce the architecture dependencies of our timer drivers, and simplify the code because we no longer go through an architecture layer that is essentially a hotplug notifier.

Hi,

Merged in as localtimer/removal into next/cleanup.

I had quite a few merge conflicts due to the __cpuinit removal, so please double-check my resolutions.

-Olof

#7 lore raw
Quoted 38 lines · Olof Johansson
Quoted 28 lines · Stephen Boyd

Olof/Arnd,

These patches remove the ARM local timer API. The ARM architected timers have already moved away from this API so this series migrates the rest of the users allowing us to remove the API entirely. Thomas has been kind enough to take the first two patches into timers/core in the tip tree (thanks Thomas!) so I've merged that into v3.10-rc1 and then applied the rest of the patches on top. Let me know if this is acceptable.

These patches have been through multiple rounds and tested by multiple people since before the 3.10 merge window closed. Only Barry's ack is missing (Cced).

Since I don't have a tree on kernel.org, David Brown has been kind enough to push my tag out to his repo. Please pull.

The following changes since commit 42cba6e27c4cddc4df701c597dbfa666e1c013c8:

Merge branch 'timers/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into remove-local-timers (2013-06-24 17:45:02 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git tags/remove-local-timers

for you to fetch changes up to 060fd3043e5e3488504b9e70182e188dd9113aea:

Quoted 8 lines

ARM: smp: Remove local timer API (2013-06-24 17:47:34 -0700)

----------------------------------------------------------------
Now that we have a generic arch hook for broadcast we can remove the local timer API entirely. Doing so will reduce code in ARM core, reduce the architecture dependencies of our timer drivers, and simplify the code because we no longer go through an architecture layer that is essentially a hotplug notifier.

Quoted 7 lines

Hi,

Merged in as localtimer/removal into next/cleanup.

I had quite a few merge conflicts due to the __cpuinit removal, so please double-check my resolutions.

A __cpuinit is leftover in smp_twd.c. Hopefully you can just redo the merge?

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
#8 lore raw
Quoted 10 lines · Stephen Boyd
Quoted 5 lines · Olof Johansson

Merged in as localtimer/removal into next/cleanup.

I had quite a few merge conflicts due to the __cpuinit removal, so please double-check my resolutions.

A __cpuinit is leftover in smp_twd.c. Hopefully you can just redo the merge?

Done, thanks for catching it. I thought I grepped for them but I somehow missed that one. Fixed now.

-Olof

#9 lore raw
Quoted 9 lines · Olof Johansson
Quoted 8 lines · Stephen Boyd
Quoted 5 lines · Olof Johansson

Merged in as localtimer/removal into next/cleanup.

I had quite a few merge conflicts due to the __cpuinit removal, so please double-check my resolutions.

Quoted 6 lines
Quoted 2 lines

A __cpuinit is leftover in smp_twd.c. Hopefully you can just redo the merge?

Done, thanks for catching it. I thought I grepped for them but I somehow missed that one. Fixed now.

Also I think a HAVE_CAN_FLEXCAN if CAN was dragged in to arch/arm/mach-imx/Kconfig. Here's a patch.

arch/arm/mach-imx/Kconfig +0 -1
index 21fa9fa..1303e33 100644
@@ -794,7 +794,6 @@ config SOC_IMX6Q
 	select CPU_V7
 	select HAVE_ARM_SCU if SMP
 	select HAVE_ARM_TWD if SMP
-	select HAVE_CAN_FLEXCAN if CAN
 	select HAVE_IMX_ANATOP
 	select HAVE_IMX_GPC
 	select HAVE_IMX_MMDC
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation