linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] Clean up legacy clock tick users
@ 2020-10-08 15:46 Arnd Bergmann
  2020-10-08 15:46 ` [PATCH 01/13] timekeeping: add CONFIG_LEGACY_TIMER_TICK Arnd Bergmann
                   ` (13 more replies)
  0 siblings, 14 replies; 42+ messages in thread
From: Arnd Bergmann @ 2020-10-08 15:46 UTC (permalink / raw)
  To: linux-kernel
  Cc: Arnd Bergmann, Russell King, Tony Luck, Fenghua Yu, Greg Ungerer,
	Geert Uytterhoeven, Finn Thain, Philip Blundell, Joshua Thompson,
	Sam Creasey, James E.J. Bottomley, Helge Deller, Thomas Gleixner,
	Daniel Lezcano, John Stultz, Stephen Boyd, Linus Walleij,
	linux-ia64, linux-parisc, linux-m68k, linux-arm-kernel

When I created the patch removing CONFIG_ARCH_GETTIMEOFFSET,
I also had a look at CONFIG_GENERIC_CLOCKEVENTS, which is
selected by most, but not all, platforms today, each of the
ones that lack it doing the timer tick slightly differently.

The cleanups here make the old platforms a bit more
consistent, in multiple ways:

- rather than selecting GENERIC_CLOCKEVENTS on modern
  platforms, select LEGACY_TIMER_TICK on the old ones.

- Hide some more of the internal implementation and only
  provide a single common entry point for the timer tick,
  which also makes the behavior more consistent.

- Remove the m68k and arm specific infrastructure pieces
  and call the common helper directly from each timer
  interrupt function.

I tested the series on m68k with the qemu q800 target
platform, both with the legacy_timer_tick() implementation
and after converting that to a periodic clockevent driver.

     Arnd

Arnd Bergmann (13):
  timekeeping: add CONFIG_LEGACY_TIMER_TICK
  ia64: convert to legacy_timer_tick
  ARM: rpc: use legacy_timer_tick
  parisc: use legacy_timer_tick
  m68k: coldfire: use legacy_timer_tick()
  m68k: split heartbeat out of timer function
  m68k: sun3/sun3c: use legacy_timer_tick
  m68k: m68328: use legacy_timer_tick()
  m68k: change remaining timers to legacy_timer_tick
  m68k: remove timer_interrupt() function
  timekeeping: remove xtime_update
  timekeeping: default GENERIC_CLOCKEVENTS to enabled
  [RFC] m68k: mac: convert to generic clockevent

 .../time/clockevents/arch-support.txt         |  8 ++--
 arch/alpha/Kconfig                            |  1 -
 arch/arc/Kconfig                              |  1 -
 arch/arm/Kconfig                              | 13 +-----
 arch/arm/include/asm/mach/time.h              |  2 -
 arch/arm/kernel/time.c                        | 14 ------
 arch/arm/mach-rpc/time.c                      |  2 +-
 arch/arm64/Kconfig                            |  1 -
 arch/arm64/Kconfig.platforms                  |  1 -
 arch/c6x/Kconfig                              |  1 -
 arch/csky/Kconfig                             |  1 -
 arch/h8300/Kconfig                            |  1 -
 arch/hexagon/Kconfig                          |  1 -
 arch/ia64/Kconfig                             |  1 +
 arch/ia64/kernel/time.c                       | 36 ++++++---------
 arch/m68k/68000/timers.c                      |  7 ++-
 arch/m68k/Kconfig.cpu                         | 34 +++++++++++---
 arch/m68k/Kconfig.machine                     | 15 +++++++
 arch/m68k/amiga/config.c                      | 11 +++--
 arch/m68k/apollo/config.c                     | 11 +++--
 arch/m68k/atari/config.c                      |  2 +-
 arch/m68k/atari/time.c                        |  9 ++--
 arch/m68k/bvme6000/config.c                   |  9 ++--
 arch/m68k/coldfire/Makefile                   | 32 ++++++++------
 arch/m68k/coldfire/pit.c                      |  2 +-
 arch/m68k/coldfire/sltimers.c                 |  8 ++--
 arch/m68k/coldfire/timers.c                   |  8 ++--
 arch/m68k/hp300/time.c                        |  8 ++--
 arch/m68k/hp300/time.h                        |  2 +-
 arch/m68k/include/asm/machdep.h               | 12 +++--
 arch/m68k/kernel/setup_mm.c                   |  2 +-
 arch/m68k/kernel/setup_no.c                   |  2 +-
 arch/m68k/kernel/time.c                       | 18 ++------
 arch/m68k/mac/config.c                        |  6 +--
 arch/m68k/mac/via.c                           | 44 +++++++++++++++----
 arch/m68k/mvme147/config.c                    |  9 ++--
 arch/m68k/mvme16x/config.c                    |  9 ++--
 arch/m68k/q40/config.c                        |  2 +-
 arch/m68k/q40/q40ints.c                       | 10 ++---
 arch/m68k/sun3/config.c                       |  4 +-
 arch/m68k/sun3/sun3ints.c                     |  3 +-
 arch/m68k/sun3x/time.c                        |  5 +--
 arch/m68k/sun3x/time.h                        |  2 +-
 arch/microblaze/Kconfig                       |  1 -
 arch/mips/Kconfig                             |  1 -
 arch/nds32/Kconfig                            |  1 -
 arch/nios2/Kconfig                            |  1 -
 arch/openrisc/Kconfig                         |  1 -
 arch/parisc/Kconfig                           |  2 +-
 arch/parisc/kernel/time.c                     |  9 ++--
 arch/powerpc/Kconfig                          |  1 -
 arch/riscv/Kconfig                            |  1 -
 arch/s390/Kconfig                             |  1 -
 arch/sh/Kconfig                               |  1 -
 arch/sparc/Kconfig                            |  1 -
 arch/um/Kconfig                               |  1 -
 arch/x86/Kconfig                              |  1 -
 arch/xtensa/Kconfig                           |  1 -
 include/linux/timekeeping.h                   |  5 +--
 kernel/time/Kconfig                           |  9 +++-
 kernel/time/Makefile                          |  1 +
 kernel/time/tick-legacy.c                     | 37 ++++++++++++++++
 kernel/time/timekeeping.c                     | 16 -------
 kernel/time/timekeeping.h                     |  1 +
 64 files changed, 242 insertions(+), 221 deletions(-)
 create mode 100644 kernel/time/tick-legacy.c

Cc: Russell King <linux@armlinux.org.uk>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Greg Ungerer <gerg@linux-m68k.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Philip Blundell <philb@gnu.org>
Cc: Joshua Thompson <funaho@jurai.org>
Cc: Sam Creasey <sammy@sammy.net>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-kernel@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-arm-kernel@lists.infradead.org

-- 
2.27.0


^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2020-11-17  0:11 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-08 15:46 [PATCH 00/13] Clean up legacy clock tick users Arnd Bergmann
2020-10-08 15:46 ` [PATCH 01/13] timekeeping: add CONFIG_LEGACY_TIMER_TICK Arnd Bergmann
2020-10-09 22:18   ` Finn Thain
2020-10-10 20:31     ` Arnd Bergmann
2020-10-12 13:14   ` Geert Uytterhoeven
2020-10-08 15:46 ` [PATCH 02/13] ia64: convert to legacy_timer_tick Arnd Bergmann
2020-10-08 15:46 ` [PATCH 03/13] ARM: rpc: use legacy_timer_tick Arnd Bergmann
2020-10-08 15:46 ` [PATCH 04/13] parisc: " Arnd Bergmann
2020-10-08 15:46 ` [PATCH 05/13] m68k: coldfire: use legacy_timer_tick() Arnd Bergmann
2020-10-09 12:53   ` Greg Ungerer
2020-10-09 13:23     ` Arnd Bergmann
2020-10-08 15:46 ` [PATCH 06/13] m68k: split heartbeat out of timer function Arnd Bergmann
2020-10-12 13:14   ` Geert Uytterhoeven
2020-10-08 15:46 ` [PATCH 07/13] m68k: sun3/sun3c: use legacy_timer_tick Arnd Bergmann
2020-10-12 13:15   ` Geert Uytterhoeven
2020-10-08 15:46 ` [PATCH 08/13] m68k: m68328: use legacy_timer_tick() Arnd Bergmann
2020-10-12 13:15   ` Geert Uytterhoeven
2020-10-12 15:30     ` Arnd Bergmann
2020-10-12 20:33       ` Geert Uytterhoeven
2020-10-08 15:46 ` [PATCH 09/13] m68k: change remaining timers to legacy_timer_tick Arnd Bergmann
2020-10-12 13:15   ` Geert Uytterhoeven
2020-10-08 15:46 ` [PATCH 10/13] m68k: remove timer_interrupt() function Arnd Bergmann
2020-10-12 13:15   ` Geert Uytterhoeven
2020-10-08 15:46 ` [PATCH 11/13] timekeeping: remove xtime_update Arnd Bergmann
2020-10-12 13:15   ` Geert Uytterhoeven
2020-10-12 13:37     ` Arnd Bergmann
2020-10-12 20:44       ` Thomas Gleixner
2020-10-08 15:46 ` [PATCH 12/13] timekeeping: default GENERIC_CLOCKEVENTS to enabled Arnd Bergmann
2020-10-12 13:15   ` Geert Uytterhoeven
2020-10-08 15:46 ` [RFC 13/13] m68k: mac: convert to generic clockevent Arnd Bergmann
2020-10-09 22:21   ` Finn Thain
2020-10-10 18:52     ` Arnd Bergmann
2020-10-15  1:18       ` Finn Thain
     [not found]         ` <CAK8P3a2ymv79j1edtJ983-VgjtxvT_6co7V0VRnHzcneW+0ZtA@mail.gmail.com>
2020-10-18  0:54           ` Finn Thain
     [not found]         ` <CAK8P3a3i6cum_9xGgsbxjXXvbRsP8Po5qLZ0Agb3c4gZTKC9GQ@mail.gmail.com>
2020-10-23  9:24           ` Geert Uytterhoeven
2020-10-25 12:45             ` Geert Uytterhoeven
2020-11-06  2:52             ` Finn Thain
2020-11-16 23:27               ` Sam Creasey
2020-10-30  0:41           ` Finn Thain
2020-10-30 13:12             ` Greg Ungerer
2020-11-06  3:12               ` Finn Thain
2020-10-12 22:18 ` [PATCH 00/13] Clean up legacy clock tick users Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).