From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752631AbdGCHWM (ORCPT ); Mon, 3 Jul 2017 03:22:12 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:41368 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752223AbdGCHWK (ORCPT ); Mon, 3 Jul 2017 03:22:10 -0400 Date: Mon, 3 Jul 2017 09:21:47 +0200 (CEST) From: Thomas Gleixner To: Linus Torvalds cc: LKML , Andrew Morton , Ingo Molnar , "H. Peter Anvin" Subject: [GIT pull] timer updates for 4.13 Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 ia64: Remove HAVE_ARCH_COPY_SIGINFO posix-timers: Move the do_schedule_next_timer declaration signal: Move copy_siginfo_to_user to signal: Remove non-uapi 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