Merge tag 'timers-core-2022-12-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer updates from Thomas Gleixner: "Updates for timers, timekeeping and drivers: Core: - The timer_shutdown[_sync]() infrastructure: Tearing down timers can be tedious when there are circular dependencies to other things which need to be torn down. A prime example is timer and workqueue where the timer schedules work and the work arms the timer. What needs to prevented is that pending work which is drained via destroy_workqueue() does not rearm the previously shutdown timer. Nothing in that shutdown sequence relies on the timer being functional. The conclusion was that the semantics of timer_shutdown_sync() should be: - timer is not enqueued - timer callback is not running - timer cannot be rearmed Preventing the rearming of shutdown timers is done by discarding rearm attempts silently. A warning for the case that a rearm attempt of a shutdown timer is detected would not be really helpful because it's entirely unclear how it should be acted upon. The only way to address such a case is to add 'if (in_shutdown)' conditionals all over the place. This is error prone and in most cases of teardown not required all. - The real fix for the bluetooth HCI teardown based on timer_shutdown_sync(). A larger scale conversion to timer_shutdown_sync() is work in progress. - Consolidation of VDSO time namespace helper functions - Small fixes for timer and timerqueue Drivers: - Prevent integer overflow on the XGene-1 TVAL register which causes an never ending interrupt storm. - The usual set of new device tree bindings - Small fixes and improvements all over the place" * tag 'timers-core-2022-12-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits) dt-bindings: timer: renesas,cmt: Add r8a779g0 CMT support dt-bindings: timer: renesas,tmu: Add r8a779g0 support clocksource/drivers/arm_arch_timer: Use kstrtobool() instead of strtobool() clocksource/drivers/timer-ti-dm: Fix missing clk_disable_unprepare in dmtimer_systimer_init_clock() clocksource/drivers/timer-ti-dm: Clear settings on probe and free clocksource/drivers/timer-ti-dm: Make timer_get_irq static clocksource/drivers/timer-ti-dm: Fix warning for omap_timer_match clocksource/drivers/arm_arch_timer: Fix XGene-1 TVAL register math error clocksource/drivers/timer-npcm7xx: Enable timer 1 clock before use dt-bindings: timer: nuvoton,npcm7xx-timer: Allow specifying all clocks dt-bindings: timer: rockchip: Add rockchip,rk3128-timer clockevents: Repair kernel-doc for clockevent_delta2ns() clocksource/drivers/ingenic-ost: Define pm functions properly in platform_driver struct clocksource/drivers/sh_cmt: Access registers according to spec vdso/timens: Refactor copy-pasted find_timens_vvar_page() helper into one copy Bluetooth: hci_qca: Fix the teardown problem for real timers: Update the documentation to reflect on the new timer_shutdown() API timers: Provide timer_shutdown[_sync]() timers: Add shutdown mechanism to the internal functions timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode ...
No related branches found
No related tags found
Showing
- Documentation/RCU/Design/Requirements/Requirements.rst 1 addition, 1 deletionDocumentation/RCU/Design/Requirements/Requirements.rst
- Documentation/core-api/local_ops.rst 1 addition, 1 deletionDocumentation/core-api/local_ops.rst
- Documentation/devicetree/bindings/timer/nuvoton,npcm7xx-timer.yaml 7 additions, 1 deletion...tion/devicetree/bindings/timer/nuvoton,npcm7xx-timer.yaml
- Documentation/devicetree/bindings/timer/renesas,cmt.yaml 2 additions, 0 deletionsDocumentation/devicetree/bindings/timer/renesas,cmt.yaml
- Documentation/devicetree/bindings/timer/renesas,tmu.yaml 1 addition, 0 deletionsDocumentation/devicetree/bindings/timer/renesas,tmu.yaml
- Documentation/devicetree/bindings/timer/rockchip,rk-timer.yaml 1 addition, 0 deletions...entation/devicetree/bindings/timer/rockchip,rk-timer.yaml
- Documentation/kernel-hacking/locking.rst 10 additions, 7 deletionsDocumentation/kernel-hacking/locking.rst
- Documentation/timers/hrtimers.rst 1 addition, 1 deletionDocumentation/timers/hrtimers.rst
- Documentation/translations/it_IT/kernel-hacking/locking.rst 6 additions, 8 deletionsDocumentation/translations/it_IT/kernel-hacking/locking.rst
- Documentation/translations/zh_CN/core-api/local_ops.rst 1 addition, 1 deletionDocumentation/translations/zh_CN/core-api/local_ops.rst
- arch/arm/mach-spear/time.c 4 additions, 4 deletionsarch/arm/mach-spear/time.c
- arch/arm64/kernel/vdso.c 0 additions, 22 deletionsarch/arm64/kernel/vdso.c
- arch/powerpc/kernel/vdso.c 0 additions, 22 deletionsarch/powerpc/kernel/vdso.c
- arch/riscv/kernel/vdso.c 0 additions, 22 deletionsarch/riscv/kernel/vdso.c
- arch/s390/kernel/vdso.c 0 additions, 20 deletionsarch/s390/kernel/vdso.c
- arch/x86/entry/vdso/vma.c 0 additions, 23 deletionsarch/x86/entry/vdso/vma.c
- drivers/bluetooth/hci_qca.c 8 additions, 2 deletionsdrivers/bluetooth/hci_qca.c
- drivers/char/tpm/tpm-dev-common.c 2 additions, 2 deletionsdrivers/char/tpm/tpm-dev-common.c
- drivers/clocksource/arm_arch_timer.c 8 additions, 7 deletionsdrivers/clocksource/arm_arch_timer.c
- drivers/clocksource/ingenic-ost.c 4 additions, 6 deletionsdrivers/clocksource/ingenic-ost.c
Loading
Please register or sign in to comment