lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 15 Dec 2020 16:46:25 +0100
From:   Arnd Bergmann <arnd@...nel.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     linux-arch <linux-arch@...r.kernel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [GIT PULL 3/3] asm-generic: cross-architecture timer cleanup

The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:

  Linux 5.10-rc1 (2020-10-25 15:14:11 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
tags/asm-generic-timers-5.11

for you to fetch changes up to 0774a6ed294b963dc76df2d8342ab86d030759ec:

  timekeeping: default GENERIC_CLOCKEVENTS to enabled (2020-10-30
21:57:07 +0100)

----------------------------------------------------------------
asm-generic: cross-architecture timer cleanup

This cleans up two ancient timer features that were never completed in
the past, CONFIG_GENERIC_CLOCKEVENTS and CONFIG_ARCH_USES_GETTIMEOFFSET.

There was only one user left for the ARCH_USES_GETTIMEOFFSET variant
of clocksource implementations, the ARM EBSA110 platform. Rather than
changing to use modern timekeeping, we remove the platform entirely as
Russell no longer uses his machine and nobody else seems to have one
any more.

The conditional code for using arch_gettimeoffset() is removed as
a result.

For CONFIG_GENERIC_CLOCKEVENTS, there are still a couple of platforms
not using clockevent drivers: parisc, ia64, most of m68k, and one
Arm platform. These all do timer ticks slighly differently, and this
gets cleaned up to the point they at least all call the same helper
function. Instead of most platforms using 'select GENERIC_CLOCKEVENTS'
in Kconfig, the polarity is now reversed, with the few remaining ones
selecting LEGACY_TIMER_TICK instead.

Signed-off-by: Arnd Bergmann <arnd@...db.de>

----------------------------------------------------------------
Arnd Bergmann (15):
      ARM: remove ebsa110 platform
      net: remove am79c961a driver
      timekeeping: remove arch_gettimeoffset
      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

 .../features/time/clockevents/arch-support.txt     |   8 +-
 .../time/modern-timekeeping/arch-support.txt       |  33 -
 MAINTAINERS                                        |   8 -
 arch/alpha/Kconfig                                 |   1 -
 arch/arc/Kconfig                                   |   1 -
 arch/arm/Kconfig                                   |  37 +-
 arch/arm/Kconfig.debug                             |   6 +-
 arch/arm/Makefile                                  |   8 -
 arch/arm/configs/ebsa110_defconfig                 |  74 --
 arch/arm/include/asm/mach/time.h                   |   2 -
 arch/arm/kernel/Makefile                           |   6 +-
 arch/arm/kernel/time.c                             |  14 -
 arch/arm/mach-ebsa110/Makefile                     |   8 -
 arch/arm/mach-ebsa110/Makefile.boot                |   5 -
 arch/arm/mach-ebsa110/core.c                       | 323 ---------
 arch/arm/mach-ebsa110/core.h                       |  38 -
 arch/arm/mach-ebsa110/include/mach/entry-macro.S   |  33 -
 arch/arm/mach-ebsa110/include/mach/hardware.h      |  21 -
 arch/arm/mach-ebsa110/include/mach/io.h            |  89 ---
 arch/arm/mach-ebsa110/include/mach/irqs.h          |  17 -
 arch/arm/mach-ebsa110/include/mach/memory.h        |  22 -
 arch/arm/mach-ebsa110/include/mach/uncompress.h    |  41 --
 arch/arm/mach-ebsa110/io.c                         | 440 ------------
 arch/arm/mach-ebsa110/leds.c                       |  71 --
 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                              |  37 +-
 arch/m68k/Kconfig.machine                          |  11 +
 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                                |   8 +-
 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 -
 drivers/Makefile                                   |   2 -
 drivers/clocksource/Kconfig                        |   2 +-
 drivers/net/ethernet/amd/Kconfig                   |  10 +-
 drivers/net/ethernet/amd/Makefile                  |   1 -
 drivers/net/ethernet/amd/am79c961a.c               | 763 ---------------------
 drivers/net/ethernet/amd/am79c961a.h               | 143 ----
 drivers/watchdog/Kconfig                           |   2 +-
 include/linux/time.h                               |  13 -
 include/linux/timekeeping.h                        |   3 +-
 kernel/time/Kconfig                                |  18 +-
 kernel/time/Makefile                               |   1 +
 kernel/time/clocksource.c                          |   8 -
 kernel/time/tick-legacy.c                          |  37 +
 kernel/time/timekeeping.c                          |  41 +-
 kernel/time/timekeeping.h                          |   1 +
 kernel/trace/Kconfig                               |   2 -
 92 files changed, 218 insertions(+), 2453 deletions(-)
 delete mode 100644
Documentation/features/time/modern-timekeeping/arch-support.txt
 delete mode 100644 arch/arm/configs/ebsa110_defconfig
 delete mode 100644 arch/arm/mach-ebsa110/Makefile
 delete mode 100644 arch/arm/mach-ebsa110/Makefile.boot
 delete mode 100644 arch/arm/mach-ebsa110/core.c
 delete mode 100644 arch/arm/mach-ebsa110/core.h
 delete mode 100644 arch/arm/mach-ebsa110/include/mach/entry-macro.S
 delete mode 100644 arch/arm/mach-ebsa110/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-ebsa110/include/mach/io.h
 delete mode 100644 arch/arm/mach-ebsa110/include/mach/irqs.h
 delete mode 100644 arch/arm/mach-ebsa110/include/mach/memory.h
 delete mode 100644 arch/arm/mach-ebsa110/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-ebsa110/io.c
 delete mode 100644 arch/arm/mach-ebsa110/leds.c
 delete mode 100644 drivers/net/ethernet/amd/am79c961a.c
 delete mode 100644 drivers/net/ethernet/amd/am79c961a.h
 create mode 100644 kernel/time/tick-legacy.c

Powered by blists - more mailing lists