[GIT pull] timer updates for 4.13

From: Thomas Gleixner
Date: Mon Jul 03 2017 - 03:22:17 EST


Linus,

please pull the latest timers-core-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-core-for-linus

A rather large update for timers/timekeeping:

- compat syscall consolidation (Al Viro)

- Posix timer consolidation (Christoph Helwig / Thomas Gleixner)

- Cleanup of the device tree based initialization for clockevents and
clocksources (Daniel Lezcano)

- Consolidation of the FTTMR010 clocksource/event driver (Linus Walleij)

- The usual set of small fixes and updates all over the place.

Thanks,

tglx

------------------>
Al Viro (16):
posix-cpu-timers: Move copyout of timespec into do_cpu_nanosleep()
alarmtimer: Move copyout and freeze handling into alarmtimer_do_nsleep()
hrtimer_nanosleep(): Pass rmtp in restart_block
hrtimer: Move copyout of remaining time to do_nanosleep()
posix-timers: Store rmtp into restart_block in sys_clock_nanosleep()
time/posix-timers: Move the compat copyouts to the nanosleep implementations
hrtimers/posix-timers: Merge nanosleep timespec copyout logics into a new helper
posix-timers: Kill ->nsleep_restart()
ntp: Move adjtimex related compat syscalls to native counterparts
posix-timers: Take compat timer_settime(2) to native one
posix-timers: Take compat timer_gettime(2) to native one
itimers: Move compat itimer syscalls to native ones
posix-timers: Move compat versions of clock_gettime/settime/getres
posix-timers: Move compat_timer_create() to native, get rid of set_fs()
time: Move compat_time()/stime() to native
time: Move compat_gettimeofday()/settimeofday() to native

Alexandre Belloni (2):
clocksource/drivers/tcb_clksrc: Save timer context on suspend/resume
clocksource/drivers/tcb_clksrc: Make IO endian agnostic

Andrew Jeffery (1):
arm: aspeed: Add clock-names property to timer node

Arnd Bergmann (1):
clocksource/drivers: Fix uninitialized variable use in timer_of_init

Arvind Yadav (1):
clocksource/drivers/fsl_ftm_timer: Unmap region obtained by of_iomap

Christoph Hellwig (7):
mmtimer: Remove the SGI SN2 mmtimer driver
posix-timers: Make posix_clocks immutable
sparc: Simplify <asm/siginfo.h>
ia64: Remove HAVE_ARCH_COPY_SIGINFO
posix-timers: Move the do_schedule_next_timer declaration
signal: Move copy_siginfo_to_user to <linux/signal.h>
signal: Remove non-uapi <asm/siginfo.h>

Christophe Jaillet (1):
clocksource/drivers/mips-gic-timer: Fix an error code in 'gic_clocksource_of_init()'

Daniel Lezcano (13):
clocksource/drivers/fttmr010: Add AST2500 compatible string
clocksource/drivers/fttmr010: Fix aspeed-2500 initialization
Revert "clockevents: Add a clkevt-of mechanism like clksrc-of"
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
clocksource/drivers: Rename clocksource_probe to timer_probe
clocksource/drivers: Rename CLOCKSOURCE_ACPI_DECLARE to TIMER_ACPI_DECLARE
clocksource/drivers: Rename clksrc table to timer
clocksource/drivers: Rename CLKSRC_OF to TIMER_OF
clocksource/drivers: Rename CLKSRC_ACPI to TIMER_ACPI
clocksource/drivers: Add an alias macro CLOCKSOURCE_OF_DECLARE
clocksource/drivers: Add timer-of common init routine
clocksource/drivers/timer-of: Fix invalid iomap check
clocksource/drivers/sun4i: Switch to the timer-of common init

Dimitri Sivanich (1):
posix-timers: Remove mmtimer leftovers

John Stultz (2):
time: Clean up CLOCK_MONOTONIC_RAW time handling
time: Add warning about imminent deprecation of CONFIG_GENERIC_TIME_VSYSCALL_OLD

Linus Walleij (10):
clocksource/drivers/fttmr010: Fix the clock handling
clocksource/drivers/fttmr010: Merge FTTMR010 DT bindings
clocksource/drivers/fttmr010: Drop Gemini specifics
clocksource/drivers/fttmr010: Use state container
clocksource/drivers/fttmr010: Switch to use bitops
clocksource/drivers/fttmr010: Switch to use TIMER2 src
clocksource/drivers/fttmr010: Merge Moxa into FTTMR010
clocksource/drivers/fttmr010: Optimize sched_clock()
clocksource/drivers/fttmr010: Implement delay timer
clocksource/drivers/fttmr010: Factor out clock read code

Mariusz Skamra (1):
ktime: Simplify ktime_compare implementation

Miroslav Lichvar (2):
kselftests: timers: Fix inconsistency-check to not ignore first timestamp
kselftests: timers: Add test for frequency step

Peter Meerwald-Stadler (1):
timers: Fix parameter description of try_to_del_timer_sync()

Sebastian Andrzej Siewior (1):
timers: Make the cpu base lock raw

Thomas Gleixner (33):
alarmtimer: Fix posix-timer constification fallout
alarmtimer: Remove pointless config conditional
posix-timers: Remove unused export of posix_timer_event()
posix-clocks: Remove interval timer facility and mmap/fasync callbacks
posix-timers: Avoid gazillions of forward declarations
posix-timers: Cleanup struct k_itimer
posix-timers: Move posix-timer internals to core
posix-timers: Unify overrun/requeue_pending handling
posix-timers: Move interval out of the union
posix-timers: Store k_clock pointer in k_itimer
posix-timers: Add timer_rearm() callback
posix-timers: Rename do_schedule_next_timer
posix-timers: Use timer_rearm() callback in posixtimer_rearm()
posix-timers: Add active flag to k_itimer
posix-timers: Add forward/remaining callbacks
posix-timers: Make use of forward/remaining callbacks
posix-timers: Zero settings value in common code
posix-timers: Add cancel/arm callbacks
posix-timers: Make use of cancel/arm callbacks
alarmtimer: Implement timer_rearm() callback
alarmtimer: Implement forward callback
alarmtimer: Implement remaining callback
alarmtimer: Implement try_to_cancel callback
alarmtimer: Implement arm callback
alarmtimer: Switch over to generic set/get/rearm routine
posix-timers: Fix inverted SIGEV_NONE logic in common_timer_get()
posix-timers: Zero out oldval itimerspec
posix-timers: Handle relative posix-timers correctly
posix-cpu-timers: Avoid timespec conversion in do_cpu_nanosleep()
posix-timers: Make nanosleep timespec argument const
itimer: Make timeval to nsec conversion range limited
posix-cpu-timers: Make timespec to nsec conversion safe
Revert "ktime: Simplify ktime_compare implementation"

Patch omitted for size reasons.

.../devicetree/bindings/timer/faraday,fttmr010.txt | 6 +-
.../bindings/timer/moxa,moxart-timer.txt | 19 -
arch/arc/include/asm/Kbuild | 1 -
arch/arc/include/uapi/asm/Kbuild | 2 +
arch/arc/kernel/setup.c | 2 +-
arch/arm/Kconfig | 10 +-
arch/arm/boot/dts/aspeed-g4.dtsi | 1 +
arch/arm/boot/dts/aspeed-g5.dtsi | 1 +
arch/arm/include/asm/Kbuild | 1 -
arch/arm/include/uapi/asm/Kbuild | 2 +
arch/arm/kernel/smp_twd.c | 6 +-
arch/arm/kernel/time.c | 2 +-
arch/arm/mach-aspeed/Kconfig | 2 +-
arch/arm/mach-bcm/Kconfig | 2 +-
arch/arm/mach-clps711x/Kconfig | 2 +-
arch/arm/mach-mediatek/mediatek.c | 2 +-
arch/arm/mach-moxart/Kconfig | 2 +-
arch/arm/mach-omap2/timer.c | 10 +-
arch/arm/mach-rockchip/rockchip.c | 2 +-
arch/arm/mach-s3c24xx/Kconfig | 2 +-
arch/arm/mach-s3c64xx/Kconfig | 2 +-
arch/arm/mach-shmobile/setup-rcar-gen2.c | 2 +-
arch/arm/mach-spear/spear13xx.c | 2 +-
arch/arm/mach-sunxi/sunxi.c | 2 +-
arch/arm/mach-u300/core.c | 2 +-
arch/arm/mach-zynq/common.c | 2 +-
arch/arm64/Kconfig.platforms | 4 +-
arch/arm64/kernel/time.c | 2 +-
arch/arm64/kernel/vdso.c | 6 +-
arch/c6x/include/asm/Kbuild | 1 -
arch/c6x/include/uapi/asm/Kbuild | 1 +
arch/cris/include/asm/Kbuild | 1 -
arch/cris/include/uapi/asm/Kbuild | 2 +
arch/h8300/Kconfig | 2 +-
arch/h8300/include/asm/Kbuild | 1 -
arch/h8300/include/uapi/asm/Kbuild | 2 +
arch/h8300/kernel/setup.c | 2 +-
arch/hexagon/include/asm/Kbuild | 1 -
arch/hexagon/include/uapi/asm/Kbuild | 2 +
arch/ia64/include/asm/siginfo.h | 23 -
arch/ia64/include/uapi/asm/siginfo.h | 1 -
arch/m32r/include/uapi/asm/Kbuild | 2 +
arch/m32r/include/uapi/asm/siginfo.h | 6 -
arch/m68k/include/asm/Kbuild | 1 -
arch/m68k/include/uapi/asm/Kbuild | 1 +
arch/microblaze/Kconfig | 2 +-
arch/microblaze/include/uapi/asm/Kbuild | 1 +
arch/microblaze/include/uapi/asm/siginfo.h | 1 -
arch/microblaze/kernel/setup.c | 2 +-
arch/microblaze/kernel/timer.c | 2 +-
arch/mips/generic/init.c | 2 +-
arch/mips/mti-malta/malta-time.c | 2 +-
arch/mips/pic32/pic32mzda/time.c | 2 +-
arch/mips/pistachio/time.c | 2 +-
arch/mips/ralink/Kconfig | 2 +-
arch/mips/ralink/cevt-rt3352.c | 2 +-
arch/mips/ralink/clk.c | 2 +-
arch/mips/ralink/timer-gic.c | 2 +-
arch/mips/xilfpga/time.c | 2 +-
arch/mn10300/include/uapi/asm/Kbuild | 2 +
arch/mn10300/include/uapi/asm/siginfo.h | 1 -
arch/nios2/Kconfig | 2 +-
arch/nios2/include/asm/Kbuild | 1 -
arch/nios2/include/uapi/asm/Kbuild | 1 +
arch/nios2/kernel/time.c | 4 +-
arch/openrisc/include/asm/Kbuild | 1 -
arch/openrisc/include/uapi/asm/Kbuild | 2 +
arch/score/include/uapi/asm/Kbuild | 2 +
arch/score/include/uapi/asm/siginfo.h | 6 -
arch/sh/boards/Kconfig | 2 +-
arch/sh/boards/of-generic.c | 2 +-
arch/sh/include/asm/Kbuild | 1 -
arch/sh/include/uapi/asm/Kbuild | 2 +
arch/sparc/include/asm/siginfo.h | 13 -
arch/unicore32/include/asm/Kbuild | 1 -
arch/unicore32/include/uapi/asm/Kbuild | 1 +
arch/xtensa/include/asm/Kbuild | 1 -
arch/xtensa/include/uapi/asm/Kbuild | 1 +
arch/xtensa/kernel/time.c | 2 +-
drivers/char/Kconfig | 9 -
drivers/char/Makefile | 1 -
drivers/char/mmtimer.c | 858 ---------------------
drivers/clocksource/Kconfig | 80 +-
drivers/clocksource/Makefile | 5 +-
drivers/clocksource/arc_timer.c | 6 +-
drivers/clocksource/arm_arch_timer.c | 8 +-
drivers/clocksource/arm_global_timer.c | 2 +-
drivers/clocksource/armv7m_systick.c | 2 +-
drivers/clocksource/asm9260_timer.c | 2 +-
drivers/clocksource/bcm2835_timer.c | 2 +-
drivers/clocksource/bcm_kona_timer.c | 4 +-
drivers/clocksource/cadence_ttc_timer.c | 2 +-
drivers/clocksource/clkevt-probe.c | 56 --
drivers/clocksource/clksrc-dbx500-prcmu.c | 2 +-
drivers/clocksource/clksrc_st_lpc.c | 2 +-
drivers/clocksource/clps711x-timer.c | 4 +-
drivers/clocksource/dw_apb_timer_of.c | 8 +-
drivers/clocksource/exynos_mct.c | 4 +-
drivers/clocksource/fsl_ftm_timer.c | 10 +-
drivers/clocksource/h8300_timer16.c | 2 +-
drivers/clocksource/h8300_timer8.c | 2 +-
drivers/clocksource/h8300_tpu.c | 2 +-
drivers/clocksource/jcore-pit.c | 2 +-
drivers/clocksource/meson6_timer.c | 2 +-
drivers/clocksource/mips-gic-timer.c | 7 +-
drivers/clocksource/moxart_timer.c | 256 ------
drivers/clocksource/mps2-timer.c | 2 +-
drivers/clocksource/mtk_timer.c | 2 +-
drivers/clocksource/mxs_timer.c | 2 +-
drivers/clocksource/nomadik-mtu.c | 2 +-
drivers/clocksource/pxa_timer.c | 2 +-
drivers/clocksource/qcom-timer.c | 4 +-
drivers/clocksource/renesas-ostm.c | 2 +-
drivers/clocksource/rockchip_timer.c | 4 +-
drivers/clocksource/samsung_pwm_timer.c | 10 +-
drivers/clocksource/sun4i_timer.c | 173 ++---
drivers/clocksource/tango_xtal.c | 2 +-
drivers/clocksource/tcb_clksrc.c | 109 ++-
drivers/clocksource/tegra20_timer.c | 4 +-
drivers/clocksource/time-armada-370-xp.c | 6 +-
drivers/clocksource/time-efm32.c | 4 +-
drivers/clocksource/time-lpc32xx.c | 2 +-
drivers/clocksource/time-orion.c | 2 +-
drivers/clocksource/time-pistachio.c | 2 +-
drivers/clocksource/timer-atlas7.c | 2 +-
drivers/clocksource/timer-atmel-pit.c | 2 +-
drivers/clocksource/timer-atmel-st.c | 2 +-
drivers/clocksource/timer-digicolor.c | 2 +-
drivers/clocksource/timer-fttmr010.c | 476 +++++++-----
drivers/clocksource/timer-imx-gpt.c | 24 +-
drivers/clocksource/timer-integrator-ap.c | 2 +-
drivers/clocksource/timer-keystone.c | 2 +-
drivers/clocksource/timer-nps.c | 6 +-
drivers/clocksource/timer-of.c | 171 ++++
drivers/clocksource/timer-of.h | 69 ++
drivers/clocksource/timer-oxnas-rps.c | 4 +-
drivers/clocksource/timer-prima2.c | 2 +-
.../clocksource/{clksrc-probe.c => timer-probe.c} | 20 +-
drivers/clocksource/timer-sp804.c | 4 +-
drivers/clocksource/timer-stm32.c | 2 +-
drivers/clocksource/timer-sun5i.c | 4 +-
drivers/clocksource/timer-ti-32k.c | 2 +-
drivers/clocksource/timer-u300.c | 2 +-
drivers/clocksource/versatile.c | 4 +-
drivers/clocksource/vf_pit_timer.c | 2 +-
drivers/clocksource/vt8500_timer.c | 2 +-
drivers/clocksource/zevio-timer.c | 2 +-
include/asm-generic/siginfo.h | 22 -
include/asm-generic/vmlinux.lds.h | 9 +-
include/linux/clockchips.h | 9 -
include/linux/clocksource.h | 15 +-
include/linux/compat.h | 8 +
include/linux/hrtimer.h | 6 +-
include/linux/posix-clock.h | 22 -
include/linux/posix-timers.h | 105 ++-
include/linux/restart_block.h | 15 +-
include/linux/signal.h | 7 +-
include/linux/timekeeper_internal.h | 4 +-
include/uapi/asm-generic/siginfo.h | 15 +-
include/uapi/linux/time.h | 6 +-
kernel/compat.c | 526 ++-----------
kernel/signal.c | 3 +-
kernel/time/alarmtimer.c | 381 ++++-----
kernel/time/hrtimer.c | 106 ++-
kernel/time/itimer.c | 46 +-
kernel/time/posix-clock.c | 117 +--
kernel/time/posix-cpu-timers.c | 147 ++--
kernel/time/posix-stubs.c | 112 ++-
kernel/time/posix-timers.c | 759 +++++++++++-------
kernel/time/posix-timers.h | 40 +
kernel/time/time.c | 106 ++-
kernel/time/timekeeping.c | 46 +-
kernel/time/timer.c | 50 +-
tools/testing/selftests/timers/Makefile | 5 +-
tools/testing/selftests/timers/freq-step.c | 268 +++++++
.../testing/selftests/timers/inconsistency-check.c | 4 +-
176 files changed, 2498 insertions(+), 3167 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
delete mode 100644 arch/ia64/include/asm/siginfo.h
delete mode 100644 arch/m32r/include/uapi/asm/siginfo.h
delete mode 100644 arch/microblaze/include/uapi/asm/siginfo.h
delete mode 100644 arch/mn10300/include/uapi/asm/siginfo.h
delete mode 100644 arch/score/include/uapi/asm/siginfo.h
delete mode 100644 arch/sparc/include/asm/siginfo.h
delete mode 100644 drivers/char/mmtimer.c
delete mode 100644 drivers/clocksource/clkevt-probe.c
delete mode 100644 drivers/clocksource/moxart_timer.c
create mode 100644 drivers/clocksource/timer-of.c
create mode 100644 drivers/clocksource/timer-of.h
rename drivers/clocksource/{clksrc-probe.c => timer-probe.c} (72%)
delete mode 100644 include/asm-generic/siginfo.h
create mode 100644 kernel/time/posix-timers.h
create mode 100644 tools/testing/selftests/timers/freq-step.c