[PATCH v2 00/31] hrtimers: Consolidate hrtimer initialization - Part 2
From: Nam Cao
Date: Wed Feb 05 2025 - 05:39:50 EST
hrtimers is initialized with hrtimer_init(), and after that the timer's
callback function is setup separately. This separate initialization is
error prone and awkward to use.
hrtimer_setup() combines the initialization and is simpler to use.
Switch to use the new setup function. Most conversions were done with
Coccinelle, see the sematic patch below.
This series is intended to be applied to the tip tree.
v1 -> v2 https://lore.kernel.org/lkml/cover.1729864823.git.namcao@xxxxxxxxxxxxx
- rebase onto v6.14.rc1
---
virtual patch
@@ expression timer, clock, mode, func; @@
- hrtimer_init(timer, clock, mode);
...
- timer->function = func;
+ hrtimer_setup(timer, func, clock, mode);
@@ expression timer, clock, mode, func; @@
- hrtimer_init(&timer, clock, mode);
...
- timer.function = func;
+ hrtimer_setup(&timer, func, clock, mode);
@@ expression timer, clock, mode, func; @@
- hrtimer_init_on_stack(&timer, clock, mode);
...
- timer.function = func;
+ hrtimer_setup_on_stack(&timer, func, clock, mode);
@@ expression timer, clock, mode; @@
- hrtimer_init_sleeper_on_stack(timer, clock, mode);
+ hrtimer_setup_sleeper_on_stack(timer, clock, mode);
---
Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Christian Borntraeger <borntraeger@xxxxxxxxxxxxx>
Cc: Sean Christopherson <seanjc@xxxxxxxxxx>
Cc: Marc Zyngier <maz@xxxxxxxxxx>
Cc: Huacai Chen <chenhuacai@xxxxxxxxxx>
Cc: Anup Patel <anup@xxxxxxxxxxxxxx>
Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Christian Brauner <brauner@xxxxxxxxxx>
Cc: John Stultz <jstultz@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxx>
Cc: Richard Weinberger <richard@xxxxxx>
Cc: Wim Van Sebroeck <wim@xxxxxxxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Damien Le Moal <dlemoal@xxxxxxxxxx>
Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>
Cc: Heiko Stuebner <heiko@xxxxxxxxx>
Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
---
arch/arm/mach-imx/mmdc.c | 5 ++---
arch/arm/mm/cache-l2x0-pmu.c | 3 +--
arch/arm64/kvm/arch_timer.c | 7 +++----
arch/loongarch/kvm/vcpu.c | 4 ++--
arch/mips/kvm/mips.c | 5 ++---
arch/powerpc/kernel/watchdog.c | 3 +--
arch/powerpc/kvm/powerpc.c | 4 ++--
arch/riscv/kvm/vcpu_timer.c | 7 ++++---
arch/s390/kvm/interrupt.c | 3 +--
arch/s390/kvm/kvm-s390.c | 4 ++--
arch/x86/events/intel/uncore.c | 3 +--
arch/x86/events/rapl.c | 3 +--
arch/x86/kvm/hyperv.c | 3 +--
arch/x86/kvm/i8254.c | 3 +--
arch/x86/kvm/lapic.c | 5 ++---
arch/x86/kvm/vmx/nested.c | 5 ++---
arch/x86/kvm/xen.c | 4 ++--
block/bfq-iosched.c | 5 ++---
block/blk-iocost.c | 3 +--
drivers/ata/pata_octeon_cf.c | 5 ++---
drivers/base/power/runtime.c | 4 ++--
drivers/block/null_blk/main.c | 7 +++----
drivers/char/hw_random/timeriomem-rng.c | 3 +--
drivers/devfreq/event/rockchip-dfi.c | 3 +--
drivers/s390/crypto/ap_bus.c | 3 +--
drivers/watchdog/softdog.c | 8 +++-----
drivers/watchdog/watchdog_dev.c | 4 ++--
drivers/watchdog/watchdog_hrtimer_pretimeout.c | 4 ++--
fs/timerfd.c | 5 ++---
fs/ubifs/io.c | 3 +--
io_uring/timeout.c | 13 ++++++-------
kernel/bpf/helpers.c | 3 +--
kernel/events/core.c | 7 +++----
kernel/fork.c | 3 +--
kernel/sched/core.c | 3 +--
kernel/sched/deadline.c | 6 ++----
kernel/sched/fair.c | 8 ++++----
kernel/sched/rt.c | 5 ++---
kernel/time/ntp.c | 3 +--
kernel/time/posix-timers.c | 7 +++----
kernel/time/sched_clock.c | 3 +--
kernel/time/tick-broadcast-hrtimer.c | 3 +--
kernel/time/tick-sched.c | 6 ++----
kernel/trace/trace_osnoise.c | 6 ++----
kernel/watchdog.c | 3 +--
lib/test_objpool.c | 3 +--
mm/slab_common.c | 4 ++--
47 files changed, 87 insertions(+), 127 deletions(-)
--
2.39.5