Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'timers-cleanups-2025-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer cleanups from Thomas Gleixner:
"A treewide hrtimer timer cleanup

hrtimers are initialized with hrtimer_init() and a subsequent store to
the callback pointer. This turned out to be suboptimal for the
upcoming Rust integration and is obviously a silly implementation to
begin with.

This cleanup replaces the hrtimer_init(T); T->function = cb; sequence
with hrtimer_setup(T, cb);

The conversion was done with Coccinelle and a few manual fixups.

Once the conversion has completely landed in mainline, hrtimer_init()
will be removed and the hrtimer::function becomes a private member"

* tag 'timers-cleanups-2025-03-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (100 commits)
wifi: rt2x00: Switch to use hrtimer_update_function()
io_uring: Use helper function hrtimer_update_function()
serial: xilinx_uartps: Use helper function hrtimer_update_function()
ASoC: fsl: imx-pcm-fiq: Switch to use hrtimer_setup()
RDMA: Switch to use hrtimer_setup()
virtio: mem: Switch to use hrtimer_setup()
drm/vmwgfx: Switch to use hrtimer_setup()
drm/xe/oa: Switch to use hrtimer_setup()
drm/vkms: Switch to use hrtimer_setup()
drm/msm: Switch to use hrtimer_setup()
drm/i915/request: Switch to use hrtimer_setup()
drm/i915/uncore: Switch to use hrtimer_setup()
drm/i915/pmu: Switch to use hrtimer_setup()
drm/i915/perf: Switch to use hrtimer_setup()
drm/i915/gvt: Switch to use hrtimer_setup()
drm/i915/huc: Switch to use hrtimer_setup()
drm/amdgpu: Switch to use hrtimer_setup()
stm class: heartbeat: Switch to use hrtimer_setup()
i2c: Switch to use hrtimer_setup()
iio: Switch to use hrtimer_setup()
...

+281 -404
+2 -3
arch/arm/mach-imx/mmdc.c
··· 509 509 pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk; 510 510 pmu_mmdc->devtype_data = device_get_match_data(&pdev->dev); 511 511 512 - hrtimer_init(&pmu_mmdc->hrtimer, CLOCK_MONOTONIC, 513 - HRTIMER_MODE_REL); 514 - pmu_mmdc->hrtimer.function = mmdc_pmu_timer_handler; 512 + hrtimer_setup(&pmu_mmdc->hrtimer, mmdc_pmu_timer_handler, CLOCK_MONOTONIC, 513 + HRTIMER_MODE_REL); 515 514 516 515 cpumask_set_cpu(raw_smp_processor_id(), &pmu_mmdc->cpu); 517 516
+1 -2
arch/arm/mm/cache-l2x0-pmu.c
··· 539 539 * at higher frequencies. 540 540 */ 541 541 l2x0_pmu_poll_period = ms_to_ktime(1000); 542 - hrtimer_init(&l2x0_pmu_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 543 - l2x0_pmu_hrtimer.function = l2x0_pmu_poll; 542 + hrtimer_setup(&l2x0_pmu_hrtimer, l2x0_pmu_poll, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 544 543 545 544 cpumask_set_cpu(0, &pmu_cpu); 546 545 ret = cpuhp_setup_state_nocalls(CPUHP_AP_PERF_ARM_L2X0_ONLINE,
+3 -4
arch/arm64/kvm/arch_timer.c
··· 1070 1070 else 1071 1071 ctxt->offset.vm_offset = &kvm->arch.timer_data.poffset; 1072 1072 1073 - hrtimer_init(&ctxt->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); 1074 - ctxt->hrtimer.function = kvm_hrtimer_expire; 1073 + hrtimer_setup(&ctxt->hrtimer, kvm_hrtimer_expire, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); 1075 1074 1076 1075 switch (timerid) { 1077 1076 case TIMER_PTIMER: ··· 1097 1098 timer_set_offset(vcpu_ptimer(vcpu), 0); 1098 1099 } 1099 1100 1100 - hrtimer_init(&timer->bg_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); 1101 - timer->bg_timer.function = kvm_bg_timer_expire; 1101 + hrtimer_setup(&timer->bg_timer, kvm_bg_timer_expire, CLOCK_MONOTONIC, 1102 + HRTIMER_MODE_ABS_HARD); 1102 1103 } 1103 1104 1104 1105 void kvm_timer_init_vm(struct kvm *kvm)
+2 -2
arch/loongarch/kvm/vcpu.c
··· 1459 1459 vcpu->arch.vpid = 0; 1460 1460 vcpu->arch.flush_gpa = INVALID_GPA; 1461 1461 1462 - hrtimer_init(&vcpu->arch.swtimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); 1463 - vcpu->arch.swtimer.function = kvm_swtimer_wakeup; 1462 + hrtimer_setup(&vcpu->arch.swtimer, kvm_swtimer_wakeup, CLOCK_MONOTONIC, 1463 + HRTIMER_MODE_ABS_PINNED_HARD); 1464 1464 1465 1465 vcpu->arch.handle_exit = kvm_handle_exit; 1466 1466 vcpu->arch.guest_eentry = (unsigned long)kvm_loongarch_ops->exc_entry;
+2 -3
arch/mips/kvm/mips.c
··· 288 288 if (err) 289 289 return err; 290 290 291 - hrtimer_init(&vcpu->arch.comparecount_timer, CLOCK_MONOTONIC, 292 - HRTIMER_MODE_REL); 293 - vcpu->arch.comparecount_timer.function = kvm_mips_comparecount_wakeup; 291 + hrtimer_setup(&vcpu->arch.comparecount_timer, kvm_mips_comparecount_wakeup, CLOCK_MONOTONIC, 292 + HRTIMER_MODE_REL); 294 293 295 294 /* 296 295 * Allocate space for host mode exception handlers that handle
+1 -2
arch/powerpc/kernel/watchdog.c
··· 495 495 496 496 *this_cpu_ptr(&wd_timer_tb) = get_tb(); 497 497 498 - hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 499 - hrtimer->function = watchdog_timer_fn; 498 + hrtimer_setup(hrtimer, watchdog_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 500 499 hrtimer_start(hrtimer, ms_to_ktime(wd_timer_period_ms), 501 500 HRTIMER_MODE_REL_PINNED); 502 501 }
+2 -2
arch/powerpc/kvm/powerpc.c
··· 766 766 { 767 767 int err; 768 768 769 - hrtimer_init(&vcpu->arch.dec_timer, CLOCK_REALTIME, HRTIMER_MODE_ABS); 770 - vcpu->arch.dec_timer.function = kvmppc_decrementer_wakeup; 769 + hrtimer_setup(&vcpu->arch.dec_timer, kvmppc_decrementer_wakeup, CLOCK_REALTIME, 770 + HRTIMER_MODE_ABS); 771 771 772 772 #ifdef CONFIG_KVM_EXIT_TIMING 773 773 mutex_init(&vcpu->arch.exit_timing_lock);
+4 -3
arch/riscv/kvm/vcpu_timer.c
··· 248 248 if (t->init_done) 249 249 return -EINVAL; 250 250 251 - hrtimer_init(&t->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 252 251 t->init_done = true; 253 252 t->next_set = false; 254 253 255 254 /* Enable sstc for every vcpu if available in hardware */ 256 255 if (riscv_isa_extension_available(NULL, SSTC)) { 257 256 t->sstc_enabled = true; 258 - t->hrt.function = kvm_riscv_vcpu_vstimer_expired; 257 + hrtimer_setup(&t->hrt, kvm_riscv_vcpu_vstimer_expired, CLOCK_MONOTONIC, 258 + HRTIMER_MODE_REL); 259 259 t->timer_next_event = kvm_riscv_vcpu_update_vstimecmp; 260 260 } else { 261 261 t->sstc_enabled = false; 262 - t->hrt.function = kvm_riscv_vcpu_hrtimer_expired; 262 + hrtimer_setup(&t->hrt, kvm_riscv_vcpu_hrtimer_expired, CLOCK_MONOTONIC, 263 + HRTIMER_MODE_REL); 263 264 t->timer_next_event = kvm_riscv_vcpu_update_hrtimer; 264 265 } 265 266
+1 -2
arch/s390/kvm/interrupt.c
··· 3174 3174 gi->alert.mask = 0; 3175 3175 spin_lock_init(&gi->alert.ref_lock); 3176 3176 gi->expires = 50 * 1000; /* 50 usec */ 3177 - hrtimer_init(&gi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 3178 - gi->timer.function = gisa_vcpu_kicker; 3177 + hrtimer_setup(&gi->timer, gisa_vcpu_kicker, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 3179 3178 memset(gi->origin, 0, sizeof(struct kvm_s390_gisa)); 3180 3179 gi->origin->next_alert = (u32)virt_to_phys(gi->origin); 3181 3180 VM_EVENT(kvm, 3, "gisa 0x%pK initialized", gi->origin);
+2 -2
arch/s390/kvm/kvm-s390.c
··· 3943 3943 if (rc) 3944 3944 return rc; 3945 3945 } 3946 - hrtimer_init(&vcpu->arch.ckc_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 3947 - vcpu->arch.ckc_timer.function = kvm_s390_idle_wakeup; 3946 + hrtimer_setup(&vcpu->arch.ckc_timer, kvm_s390_idle_wakeup, CLOCK_MONOTONIC, 3947 + HRTIMER_MODE_REL); 3948 3948 3949 3949 vcpu->arch.sie_block->hpid = HPID_KVM; 3950 3950
+1 -2
arch/x86/events/intel/uncore.c
··· 347 347 348 348 static void uncore_pmu_init_hrtimer(struct intel_uncore_box *box) 349 349 { 350 - hrtimer_init(&box->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 351 - box->hrtimer.function = uncore_pmu_hrtimer; 350 + hrtimer_setup(&box->hrtimer, uncore_pmu_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 352 351 } 353 352 354 353 static struct intel_uncore_box *uncore_alloc_box(struct intel_uncore_type *type,
+1 -2
arch/x86/events/rapl.c
··· 274 274 { 275 275 struct hrtimer *hr = &rapl_pmu->hrtimer; 276 276 277 - hrtimer_init(hr, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 278 - hr->function = rapl_hrtimer_handle; 277 + hrtimer_setup(hr, rapl_hrtimer_handle, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 279 278 } 280 279 281 280 static void __rapl_pmu_event_start(struct rapl_pmu *rapl_pmu,
+1 -2
arch/x86/kvm/hyperv.c
··· 952 952 { 953 953 memset(stimer, 0, sizeof(*stimer)); 954 954 stimer->index = timer_index; 955 - hrtimer_init(&stimer->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 956 - stimer->timer.function = stimer_timer_callback; 955 + hrtimer_setup(&stimer->timer, stimer_timer_callback, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 957 956 stimer_prepare_msg(stimer); 958 957 } 959 958
+1 -2
arch/x86/kvm/i8254.c
··· 690 690 pit->kvm = kvm; 691 691 692 692 pit_state = &pit->pit_state; 693 - hrtimer_init(&pit_state->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 694 - pit_state->timer.function = pit_timer_fn; 693 + hrtimer_setup(&pit_state->timer, pit_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 695 694 696 695 pit_state->irq_ack_notifier.gsi = 0; 697 696 pit_state->irq_ack_notifier.irq_acked = kvm_pit_ack_irq;
+2 -3
arch/x86/kvm/lapic.c
··· 2921 2921 2922 2922 apic->nr_lvt_entries = kvm_apic_calc_nr_lvt_entries(vcpu); 2923 2923 2924 - hrtimer_init(&apic->lapic_timer.timer, CLOCK_MONOTONIC, 2925 - HRTIMER_MODE_ABS_HARD); 2926 - apic->lapic_timer.timer.function = apic_timer_fn; 2924 + hrtimer_setup(&apic->lapic_timer.timer, apic_timer_fn, CLOCK_MONOTONIC, 2925 + HRTIMER_MODE_ABS_HARD); 2927 2926 if (lapic_timer_advance) 2928 2927 apic->lapic_timer.timer_advance_ns = LAPIC_TIMER_ADVANCE_NS_INIT; 2929 2928
+2 -3
arch/x86/kvm/vmx/nested.c
··· 5327 5327 if (enable_shadow_vmcs && !alloc_shadow_vmcs(vcpu)) 5328 5328 goto out_shadow_vmcs; 5329 5329 5330 - hrtimer_init(&vmx->nested.preemption_timer, CLOCK_MONOTONIC, 5331 - HRTIMER_MODE_ABS_PINNED); 5332 - vmx->nested.preemption_timer.function = vmx_preemption_timer_fn; 5330 + hrtimer_setup(&vmx->nested.preemption_timer, vmx_preemption_timer_fn, CLOCK_MONOTONIC, 5331 + HRTIMER_MODE_ABS_PINNED); 5333 5332 5334 5333 vmx->nested.vpid02 = allocate_vpid(); 5335 5334
+2 -2
arch/x86/kvm/xen.c
··· 2225 2225 vcpu->arch.xen.poll_evtchn = 0; 2226 2226 2227 2227 timer_setup(&vcpu->arch.xen.poll_timer, cancel_evtchn_poll, 0); 2228 - hrtimer_init(&vcpu->arch.xen.timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); 2229 - vcpu->arch.xen.timer.function = xen_timer_callback; 2228 + hrtimer_setup(&vcpu->arch.xen.timer, xen_timer_callback, CLOCK_MONOTONIC, 2229 + HRTIMER_MODE_ABS_HARD); 2230 2230 2231 2231 kvm_gpc_init(&vcpu->arch.xen.runstate_cache, vcpu->kvm); 2232 2232 kvm_gpc_init(&vcpu->arch.xen.runstate2_cache, vcpu->kvm);
+2 -3
block/bfq-iosched.c
··· 7315 7315 7316 7316 INIT_LIST_HEAD(&bfqd->dispatch); 7317 7317 7318 - hrtimer_init(&bfqd->idle_slice_timer, CLOCK_MONOTONIC, 7319 - HRTIMER_MODE_REL); 7320 - bfqd->idle_slice_timer.function = bfq_idle_slice_timer; 7318 + hrtimer_setup(&bfqd->idle_slice_timer, bfq_idle_slice_timer, CLOCK_MONOTONIC, 7319 + HRTIMER_MODE_REL); 7321 7320 7322 7321 bfqd->queue_weights_tree = RB_ROOT_CACHED; 7323 7322 #ifdef CONFIG_BFQ_GROUP_IOSCHED
+1 -2
block/blk-iocost.c
··· 3004 3004 iocg->hweight_inuse = WEIGHT_ONE; 3005 3005 3006 3006 init_waitqueue_head(&iocg->waitq); 3007 - hrtimer_init(&iocg->waitq_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 3008 - iocg->waitq_timer.function = iocg_waitq_timer_fn; 3007 + hrtimer_setup(&iocg->waitq_timer, iocg_waitq_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 3009 3008 3010 3009 iocg->level = blkg->blkcg->css.cgroup->level; 3011 3010
+2 -3
drivers/ata/pata_octeon_cf.c
··· 935 935 ap->mwdma_mask = enable_dma ? ATA_MWDMA4 : 0; 936 936 937 937 /* True IDE mode needs a timer to poll for not-busy. */ 938 - hrtimer_init(&cf_port->delayed_finish, CLOCK_MONOTONIC, 939 - HRTIMER_MODE_REL); 940 - cf_port->delayed_finish.function = octeon_cf_delayed_finish; 938 + hrtimer_setup(&cf_port->delayed_finish, octeon_cf_delayed_finish, CLOCK_MONOTONIC, 939 + HRTIMER_MODE_REL); 941 940 } else { 942 941 /* 16 bit but not True IDE */ 943 942 base = cs0 + 0x800;
+2 -2
drivers/base/power/runtime.c
··· 1764 1764 INIT_WORK(&dev->power.work, pm_runtime_work); 1765 1765 1766 1766 dev->power.timer_expires = 0; 1767 - hrtimer_init(&dev->power.suspend_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 1768 - dev->power.suspend_timer.function = pm_suspend_timer_fn; 1767 + hrtimer_setup(&dev->power.suspend_timer, pm_suspend_timer_fn, CLOCK_MONOTONIC, 1768 + HRTIMER_MODE_ABS); 1769 1769 1770 1770 init_waitqueue_head(&dev->power.wait_queue); 1771 1771 }
+3 -4
drivers/block/null_blk/main.c
··· 1426 1426 { 1427 1427 ktime_t timer_interval = ktime_set(0, TIMER_INTERVAL); 1428 1428 1429 - hrtimer_init(&nullb->bw_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1430 - nullb->bw_timer.function = nullb_bwtimer_fn; 1429 + hrtimer_setup(&nullb->bw_timer, nullb_bwtimer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1431 1430 atomic_long_set(&nullb->cur_bytes, mb_per_tick(nullb->dev->mbps)); 1432 1431 hrtimer_start(&nullb->bw_timer, timer_interval, HRTIMER_MODE_REL); 1433 1432 } ··· 1603 1604 might_sleep_if(hctx->flags & BLK_MQ_F_BLOCKING); 1604 1605 1605 1606 if (!is_poll && nq->dev->irqmode == NULL_IRQ_TIMER) { 1606 - hrtimer_init(&cmd->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1607 - cmd->timer.function = null_cmd_timer_expired; 1607 + hrtimer_setup(&cmd->timer, null_cmd_timer_expired, CLOCK_MONOTONIC, 1608 + HRTIMER_MODE_REL); 1608 1609 } 1609 1610 cmd->error = BLK_STS_OK; 1610 1611 cmd->nq = nq;
+1 -2
drivers/char/hw_random/timeriomem-rng.c
··· 152 152 153 153 priv->period = ns_to_ktime(period * NSEC_PER_USEC); 154 154 init_completion(&priv->completion); 155 - hrtimer_init(&priv->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 156 - priv->timer.function = timeriomem_rng_trigger; 155 + hrtimer_setup(&priv->timer, timeriomem_rng_trigger, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 157 156 158 157 priv->rng_ops.name = dev_name(&pdev->dev); 159 158 priv->rng_ops.read = timeriomem_rng_read;
+1 -2
drivers/devfreq/event/rockchip-dfi.c
··· 642 642 if (ret) 643 643 return ret; 644 644 645 - hrtimer_init(&dfi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 646 - dfi->timer.function = rockchip_dfi_timer; 645 + hrtimer_setup(&dfi->timer, rockchip_dfi_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 647 646 648 647 switch (dfi->ddr_type) { 649 648 case ROCKCHIP_DDRTYPE_LPDDR2:
+2 -2
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
··· 188 188 amdgpu_crtc->connector = NULL; 189 189 amdgpu_crtc->vsync_timer_enabled = AMDGPU_IRQ_STATE_DISABLE; 190 190 191 - hrtimer_init(&amdgpu_crtc->vblank_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 192 - amdgpu_crtc->vblank_timer.function = &amdgpu_vkms_vblank_simulate; 191 + hrtimer_setup(&amdgpu_crtc->vblank_timer, &amdgpu_vkms_vblank_simulate, CLOCK_MONOTONIC, 192 + HRTIMER_MODE_REL); 193 193 194 194 return ret; 195 195 }
+2 -2
drivers/gpu/drm/i915/gt/uc/intel_huc.c
··· 231 231 sw_fence_dummy_notify); 232 232 i915_sw_fence_commit(&huc->delayed_load.fence); 233 233 234 - hrtimer_init(&huc->delayed_load.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 235 - huc->delayed_load.timer.function = huc_delayed_load_timer_callback; 234 + hrtimer_setup(&huc->delayed_load.timer, huc_delayed_load_timer_callback, CLOCK_MONOTONIC, 235 + HRTIMER_MODE_REL); 236 236 } 237 237 238 238 static void delayed_huc_load_fini(struct intel_huc *huc)
+1 -2
drivers/gpu/drm/i915/gvt/display.c
··· 581 581 vgpu->display.port_num = port_num; 582 582 583 583 /* Init hrtimer based on default refresh rate */ 584 - hrtimer_init(&vblank_timer->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 585 - vblank_timer->timer.function = vblank_timer_fn; 584 + hrtimer_setup(&vblank_timer->timer, vblank_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 586 585 vblank_timer->vrefresh_k = port->vrefresh_k; 587 586 vblank_timer->period = DIV64_U64_ROUND_CLOSEST(NSEC_PER_SEC * MSEC_PER_SEC, vblank_timer->vrefresh_k); 588 587
+1 -2
drivers/gpu/drm/i915/gvt/sched_policy.c
··· 286 286 return -ENOMEM; 287 287 288 288 INIT_LIST_HEAD(&data->lru_runq_head); 289 - hrtimer_init(&data->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 290 - data->timer.function = tbs_timer_fn; 289 + hrtimer_setup(&data->timer, tbs_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 291 290 data->period = GVT_DEFAULT_TIME_SLICE; 292 291 data->gvt = gvt; 293 292
+2 -3
drivers/gpu/drm/i915/i915_perf.c
··· 3359 3359 "opening stream oa config uuid=%s\n", 3360 3360 stream->oa_config->uuid); 3361 3361 3362 - hrtimer_init(&stream->poll_check_timer, 3363 - CLOCK_MONOTONIC, HRTIMER_MODE_REL); 3364 - stream->poll_check_timer.function = oa_poll_check_timer_cb; 3362 + hrtimer_setup(&stream->poll_check_timer, oa_poll_check_timer_cb, CLOCK_MONOTONIC, 3363 + HRTIMER_MODE_REL); 3365 3364 init_waitqueue_head(&stream->poll_wq); 3366 3365 spin_lock_init(&stream->oa_buffer.ptr_lock); 3367 3366 mutex_init(&stream->lock);
+1 -2
drivers/gpu/drm/i915/i915_pmu.c
··· 1264 1264 int ret = -ENOMEM; 1265 1265 1266 1266 spin_lock_init(&pmu->lock); 1267 - hrtimer_init(&pmu->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1268 - pmu->timer.function = i915_sample; 1267 + hrtimer_setup(&pmu->timer, i915_sample, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1269 1268 pmu->cpuhp.cpu = -1; 1270 1269 init_rc6(pmu); 1271 1270
+1 -2
drivers/gpu/drm/i915/i915_request.c
··· 293 293 { 294 294 struct i915_request_watchdog *wdg = &rq->watchdog; 295 295 296 - hrtimer_init(&wdg->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 297 - wdg->timer.function = __rq_watchdog_expired; 296 + hrtimer_setup(&wdg->timer, __rq_watchdog_expired, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 298 297 } 299 298 300 299 static void __rq_arm_watchdog(struct i915_request *rq)
+1 -2
drivers/gpu/drm/i915/intel_uncore.c
··· 2103 2103 2104 2104 d->mask = BIT(domain_id); 2105 2105 2106 - hrtimer_init(&d->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2107 - d->timer.function = intel_uncore_fw_release_timer; 2106 + hrtimer_setup(&d->timer, intel_uncore_fw_release_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2108 2107 2109 2108 uncore->fw_domains |= BIT(domain_id); 2110 2109
+1 -2
drivers/gpu/drm/msm/msm_fence.c
··· 65 65 fctx->completed_fence = fctx->last_fence; 66 66 *fctx->fenceptr = fctx->last_fence; 67 67 68 - hrtimer_init(&fctx->deadline_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 69 - fctx->deadline_timer.function = deadline_timer; 68 + hrtimer_setup(&fctx->deadline_timer, deadline_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 70 69 71 70 kthread_init_work(&fctx->deadline_work, deadline_work); 72 71
+1 -2
drivers/gpu/drm/msm/msm_io_utils.c
··· 135 135 clockid_t clock_id, 136 136 enum hrtimer_mode mode) 137 137 { 138 - hrtimer_init(&work->timer, clock_id, mode); 139 - work->timer.function = msm_hrtimer_worktimer; 138 + hrtimer_setup(&work->timer, msm_hrtimer_worktimer, clock_id, mode); 140 139 work->worker = worker; 141 140 kthread_init_work(&work->work, fn); 142 141 }
+2 -2
drivers/gpu/drm/vkms/vkms_crtc.c
··· 64 64 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); 65 65 struct vkms_output *out = drm_crtc_to_vkms_output(crtc); 66 66 67 - hrtimer_init(&out->vblank_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 68 - out->vblank_hrtimer.function = &vkms_vblank_simulate; 67 + hrtimer_setup(&out->vblank_hrtimer, &vkms_vblank_simulate, CLOCK_MONOTONIC, 68 + HRTIMER_MODE_REL); 69 69 out->period_ns = ktime_set(0, vblank->framedur_ns); 70 70 hrtimer_start(&out->vblank_hrtimer, out->period_ns, HRTIMER_MODE_REL); 71 71
+2 -2
drivers/gpu/drm/vmwgfx/vmwgfx_vkms.c
··· 290 290 291 291 drm_calc_timestamping_constants(crtc, &crtc->mode); 292 292 293 - hrtimer_init(&du->vkms.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 294 - du->vkms.timer.function = &vmw_vkms_vblank_simulate; 293 + hrtimer_setup(&du->vkms.timer, &vmw_vkms_vblank_simulate, CLOCK_MONOTONIC, 294 + HRTIMER_MODE_REL); 295 295 du->vkms.period_ns = ktime_set(0, vblank->framedur_ns); 296 296 hrtimer_start(&du->vkms.timer, du->vkms.period_ns, HRTIMER_MODE_REL); 297 297
+2 -2
drivers/gpu/drm/xe/xe_oa.c
··· 1766 1766 1767 1767 WRITE_ONCE(u->exclusive_stream, stream); 1768 1768 1769 - hrtimer_init(&stream->poll_check_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1770 - stream->poll_check_timer.function = xe_oa_poll_check_timer_cb; 1769 + hrtimer_setup(&stream->poll_check_timer, xe_oa_poll_check_timer_cb, CLOCK_MONOTONIC, 1770 + HRTIMER_MODE_REL); 1771 1771 init_waitqueue_head(&stream->poll_wq); 1772 1772 1773 1773 spin_lock_init(&stream->oa_buffer.ptr_lock);
+2 -4
drivers/hwtracing/stm/heartbeat.c
··· 81 81 stm_heartbeat[i].data.type = STM_USER; 82 82 stm_heartbeat[i].data.link = stm_heartbeat_link; 83 83 stm_heartbeat[i].data.unlink = stm_heartbeat_unlink; 84 - hrtimer_init(&stm_heartbeat[i].hrtimer, CLOCK_MONOTONIC, 85 - HRTIMER_MODE_ABS); 86 - stm_heartbeat[i].hrtimer.function = 87 - stm_heartbeat_hrtimer_handler; 84 + hrtimer_setup(&stm_heartbeat[i].hrtimer, stm_heartbeat_hrtimer_handler, 85 + CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 88 86 89 87 ret = stm_source_register_device(NULL, &stm_heartbeat[i].data); 90 88 if (ret)
+2 -2
drivers/i2c/busses/i2c-imx.c
··· 1723 1723 return -ENOMEM; 1724 1724 1725 1725 spin_lock_init(&i2c_imx->slave_lock); 1726 - hrtimer_init(&i2c_imx->slave_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 1727 - i2c_imx->slave_timer.function = i2c_imx_slave_timeout; 1726 + hrtimer_setup(&i2c_imx->slave_timer, i2c_imx_slave_timeout, CLOCK_MONOTONIC, 1727 + HRTIMER_MODE_ABS); 1728 1728 1729 1729 match = device_get_match_data(&pdev->dev); 1730 1730 if (match)
+1 -3
drivers/iio/adc/ti-tsc2046.c
··· 812 812 813 813 spin_lock_init(&priv->state_lock); 814 814 priv->state = TSC2046_STATE_SHUTDOWN; 815 - hrtimer_init(&priv->trig_timer, CLOCK_MONOTONIC, 816 - HRTIMER_MODE_REL_SOFT); 817 - priv->trig_timer.function = tsc2046_adc_timer; 815 + hrtimer_setup(&priv->trig_timer, tsc2046_adc_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 818 816 819 817 ret = devm_iio_trigger_register(dev, trig); 820 818 if (ret) {
+2 -2
drivers/iio/trigger/iio-trig-hrtimer.c
··· 145 145 trig_info->swt.trigger->ops = &iio_hrtimer_trigger_ops; 146 146 trig_info->swt.trigger->dev.groups = iio_hrtimer_attr_groups; 147 147 148 - hrtimer_init(&trig_info->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 149 - trig_info->timer.function = iio_hrtimer_trig_handler; 148 + hrtimer_setup(&trig_info->timer, iio_hrtimer_trig_handler, CLOCK_MONOTONIC, 149 + HRTIMER_MODE_REL_HARD); 150 150 151 151 trig_info->sampling_frequency[0] = HRTIMER_DEFAULT_SAMPLING_FREQUENCY; 152 152 trig_info->period = NSEC_PER_SEC / trig_info->sampling_frequency[0];
+2 -3
drivers/infiniband/hw/hfi1/init.c
··· 635 635 spin_lock_init(&ppd->cca_timer_lock); 636 636 637 637 for (i = 0; i < OPA_MAX_SLS; i++) { 638 - hrtimer_init(&ppd->cca_timer[i].hrtimer, CLOCK_MONOTONIC, 639 - HRTIMER_MODE_REL); 640 638 ppd->cca_timer[i].ppd = ppd; 641 639 ppd->cca_timer[i].sl = i; 642 640 ppd->cca_timer[i].ccti = 0; 643 - ppd->cca_timer[i].hrtimer.function = cca_timer_fn; 641 + hrtimer_setup(&ppd->cca_timer[i].hrtimer, cca_timer_fn, CLOCK_MONOTONIC, 642 + HRTIMER_MODE_REL); 644 643 } 645 644 646 645 ppd->cc_max_table_entries = IB_CC_TABLE_CAP_DEFAULT;
+2 -3
drivers/infiniband/sw/rdmavt/qp.c
··· 1107 1107 } 1108 1108 /* initialize timers needed for rc qp */ 1109 1109 timer_setup(&qp->s_timer, rvt_rc_timeout, 0); 1110 - hrtimer_init(&qp->s_rnr_timer, CLOCK_MONOTONIC, 1111 - HRTIMER_MODE_REL); 1112 - qp->s_rnr_timer.function = rvt_rc_rnr_retry; 1110 + hrtimer_setup(&qp->s_rnr_timer, rvt_rc_rnr_retry, CLOCK_MONOTONIC, 1111 + HRTIMER_MODE_REL); 1113 1112 1114 1113 /* 1115 1114 * Driver needs to set up it's private QP structure and do any
+2 -2
drivers/leds/trigger/ledtrig-pattern.c
··· 483 483 data->led_cdev = led_cdev; 484 484 led_set_trigger_data(led_cdev, data); 485 485 timer_setup(&data->timer, pattern_trig_timer_function, 0); 486 - hrtimer_init(&data->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 487 - data->hrtimer.function = pattern_trig_hrtimer_function; 486 + hrtimer_setup(&data->hrtimer, pattern_trig_hrtimer_function, CLOCK_MONOTONIC, 487 + HRTIMER_MODE_REL); 488 488 led_cdev->activated = true; 489 489 490 490 if (led_cdev->flags & LED_INIT_DEFAULT_TRIGGER) {
+1 -3
drivers/mailbox/mailbox.c
··· 534 534 return -EINVAL; 535 535 } 536 536 537 - hrtimer_init(&mbox->poll_hrt, CLOCK_MONOTONIC, 538 - HRTIMER_MODE_REL); 539 - mbox->poll_hrt.function = txdone_hrtimer; 537 + hrtimer_setup(&mbox->poll_hrt, txdone_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 540 538 spin_lock_init(&mbox->poll_hrt_lock); 541 539 } 542 540
+1 -2
drivers/media/cec/core/cec-pin.c
··· 1346 1346 if (pin == NULL) 1347 1347 return ERR_PTR(-ENOMEM); 1348 1348 pin->ops = pin_ops; 1349 - hrtimer_init(&pin->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1350 1349 atomic_set(&pin->work_pin_num_events, 0); 1351 - pin->timer.function = cec_pin_timer; 1350 + hrtimer_setup(&pin->timer, cec_pin_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1352 1351 init_waitqueue_head(&pin->kthread_waitq); 1353 1352 pin->tx_custom_low_usecs = CEC_TIM_CUSTOM_DEFAULT; 1354 1353 pin->tx_custom_high_usecs = CEC_TIM_CUSTOM_DEFAULT;
+1 -2
drivers/media/pci/cx88/cx88-input.c
··· 190 190 ir = core->ir; 191 191 192 192 if (ir->polling) { 193 - hrtimer_init(&ir->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 194 - ir->timer.function = cx88_ir_work; 193 + hrtimer_setup(&ir->timer, cx88_ir_work, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 195 194 hrtimer_start(&ir->timer, 196 195 ktime_set(0, ir->polling * 1000000), 197 196 HRTIMER_MODE_REL);
+2 -2
drivers/media/platform/chips-media/wave5/wave5-vpu.c
··· 269 269 dev->irq = platform_get_irq(pdev, 0); 270 270 if (dev->irq < 0) { 271 271 dev_err(&pdev->dev, "failed to get irq resource, falling back to polling\n"); 272 - hrtimer_init(&dev->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); 273 - dev->hrtimer.function = &wave5_vpu_timer_callback; 272 + hrtimer_setup(&dev->hrtimer, &wave5_vpu_timer_callback, CLOCK_MONOTONIC, 273 + HRTIMER_MODE_REL_PINNED); 274 274 dev->worker = kthread_run_worker(0, "vpu_irq_thread"); 275 275 if (IS_ERR(dev->worker)) { 276 276 dev_err(&pdev->dev, "failed to create vpu irq worker\n");
+1 -2
drivers/media/rc/pwm-ir-tx.c
··· 172 172 rcdev->tx_ir = pwm_ir_tx_sleep; 173 173 } else { 174 174 init_completion(&pwm_ir->tx_done); 175 - hrtimer_init(&pwm_ir->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 176 - pwm_ir->timer.function = pwm_ir_timer; 175 + hrtimer_setup(&pwm_ir->timer, pwm_ir_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 177 176 rcdev->tx_ir = pwm_ir_tx_atomic; 178 177 } 179 178
+1 -2
drivers/misc/vcpu_stall_detector.c
··· 111 111 ping_timeout_ms = vcpu_stall_config.stall_timeout_sec * 112 112 MSEC_PER_SEC / 2; 113 113 114 - hrtimer_init(vcpu_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 115 - vcpu_hrtimer->function = vcpu_stall_detect_timer_fn; 114 + hrtimer_setup(vcpu_hrtimer, vcpu_stall_detect_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 116 115 vcpu_stall_detector->is_initialized = true; 117 116 118 117 hrtimer_start(vcpu_hrtimer, ms_to_ktime(ping_timeout_ms),
+1 -2
drivers/mmc/host/dw_mmc.c
··· 1875 1875 { 1876 1876 host->fail_data_crc = (struct fault_attr) FAULT_ATTR_INITIALIZER; 1877 1877 1878 - hrtimer_init(&host->fault_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1879 - host->fault_timer.function = dw_mci_fault_timer; 1878 + hrtimer_setup(&host->fault_timer, dw_mci_fault_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1880 1879 } 1881 1880 #else 1882 1881 static void dw_mci_init_fault(struct dw_mci *host)
+4 -5
drivers/net/can/m_can/m_can.c
··· 2420 2420 2421 2421 if (!cdev->net->irq) { 2422 2422 dev_dbg(cdev->dev, "Polling enabled, initialize hrtimer"); 2423 - hrtimer_init(&cdev->hrtimer, CLOCK_MONOTONIC, 2424 - HRTIMER_MODE_REL_PINNED); 2425 - cdev->hrtimer.function = &hrtimer_callback; 2423 + hrtimer_setup(&cdev->hrtimer, &hrtimer_callback, CLOCK_MONOTONIC, 2424 + HRTIMER_MODE_REL_PINNED); 2426 2425 } else { 2427 - hrtimer_init(&cdev->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2428 - cdev->hrtimer.function = m_can_coalescing_timer; 2426 + hrtimer_setup(&cdev->hrtimer, m_can_coalescing_timer, CLOCK_MONOTONIC, 2427 + HRTIMER_MODE_REL); 2429 2428 } 2430 2429 2431 2430 ret = m_can_dev_setup(cdev);
+4 -4
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
··· 541 541 } 542 542 priv->rx_ring_num = i; 543 543 544 - hrtimer_init(&priv->rx_irq_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 545 - priv->rx_irq_timer.function = mcp251xfd_rx_irq_timer; 544 + hrtimer_setup(&priv->rx_irq_timer, mcp251xfd_rx_irq_timer, CLOCK_MONOTONIC, 545 + HRTIMER_MODE_REL); 546 546 547 - hrtimer_init(&priv->tx_irq_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 548 - priv->tx_irq_timer.function = mcp251xfd_tx_irq_timer; 547 + hrtimer_setup(&priv->tx_irq_timer, mcp251xfd_tx_irq_timer, CLOCK_MONOTONIC, 548 + HRTIMER_MODE_REL); 549 549 550 550 return 0; 551 551 }
+2 -3
drivers/net/ethernet/cortina/gemini.c
··· 1833 1833 gmac_enable_tx_rx(netdev); 1834 1834 netif_tx_start_all_queues(netdev); 1835 1835 1836 - hrtimer_init(&port->rx_coalesce_timer, CLOCK_MONOTONIC, 1837 - HRTIMER_MODE_REL); 1838 - port->rx_coalesce_timer.function = &gmac_coalesce_delay_expired; 1836 + hrtimer_setup(&port->rx_coalesce_timer, &gmac_coalesce_delay_expired, CLOCK_MONOTONIC, 1837 + HRTIMER_MODE_REL); 1839 1838 1840 1839 netdev_dbg(netdev, "opened\n"); 1841 1840
+1 -2
drivers/net/ethernet/ec_bhf.c
··· 416 416 417 417 netif_start_queue(net_dev); 418 418 419 - hrtimer_init(&priv->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 420 - priv->hrtimer.function = ec_bhf_timer_fun; 419 + hrtimer_setup(&priv->hrtimer, ec_bhf_timer_fun, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 421 420 hrtimer_start(&priv->hrtimer, polling_frequency, HRTIMER_MODE_REL); 422 421 423 422 return 0;
+2 -2
drivers/net/ethernet/freescale/fec_ptp.c
··· 739 739 740 740 INIT_DELAYED_WORK(&fep->time_keep, fec_time_keep); 741 741 742 - hrtimer_init(&fep->perout_timer, CLOCK_REALTIME, HRTIMER_MODE_REL); 743 - fep->perout_timer.function = fec_ptp_pps_perout_handler; 742 + hrtimer_setup(&fep->perout_timer, fec_ptp_pps_perout_handler, CLOCK_REALTIME, 743 + HRTIMER_MODE_REL); 744 744 745 745 irq = platform_get_irq_byname_optional(pdev, "pps"); 746 746 if (irq < 0)
+1 -3
drivers/net/ethernet/hisilicon/hip04_eth.c
··· 934 934 priv->chan = arg.args[1] * RX_DESC_NUM; 935 935 priv->group = arg.args[2]; 936 936 937 - hrtimer_init(&priv->tx_coalesce_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 938 - 939 937 /* BQL will try to keep the TX queue as short as possible, but it can't 940 938 * be faster than tx_coalesce_usecs, so we need a fast timeout here, 941 939 * but also long enough to gather up enough frames to ensure we don't ··· 942 944 */ 943 945 priv->tx_coalesce_frames = TX_DESC_NUM * 3 / 4; 944 946 priv->tx_coalesce_usecs = 200; 945 - priv->tx_coalesce_timer.function = tx_done; 947 + hrtimer_setup(&priv->tx_coalesce_timer, tx_done, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 946 948 947 949 priv->map = syscon_node_to_regmap(arg.np); 948 950 of_node_put(arg.np);
+2 -2
drivers/net/ethernet/intel/igc/igc_main.c
··· 7090 7090 INIT_WORK(&adapter->reset_task, igc_reset_task); 7091 7091 INIT_WORK(&adapter->watchdog_task, igc_watchdog_task); 7092 7092 7093 - hrtimer_init(&adapter->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7094 - adapter->hrtimer.function = &igc_qbv_scheduling_timer; 7093 + hrtimer_setup(&adapter->hrtimer, &igc_qbv_scheduling_timer, CLOCK_MONOTONIC, 7094 + HRTIMER_MODE_REL); 7095 7095 7096 7096 /* Initialize link properties that are user-changeable */ 7097 7097 adapter->fc_autoneg = true;
+2 -3
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
··· 6985 6985 for (thread = 0; thread < priv->nthreads; thread++) { 6986 6986 port_pcpu = per_cpu_ptr(port->pcpu, thread); 6987 6987 6988 - hrtimer_init(&port_pcpu->tx_done_timer, CLOCK_MONOTONIC, 6989 - HRTIMER_MODE_REL_PINNED_SOFT); 6990 - port_pcpu->tx_done_timer.function = mvpp2_hr_timer_cb; 6988 + hrtimer_setup(&port_pcpu->tx_done_timer, mvpp2_hr_timer_cb, CLOCK_MONOTONIC, 6989 + HRTIMER_MODE_REL_PINNED_SOFT); 6991 6990 port_pcpu->timer_scheduled = false; 6992 6991 port_pcpu->dev = dev; 6993 6992 }
+1 -2
drivers/net/ethernet/marvell/octeontx2/af/ptp.c
··· 545 545 spin_lock_init(&ptp->ptp_lock); 546 546 if (cn10k_ptp_errata(ptp)) { 547 547 ptp->read_ptp_tstmp = &read_ptp_tstmp_sec_nsec; 548 - hrtimer_init(&ptp->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 549 - ptp->hrtimer.function = ptp_reset_thresh; 548 + hrtimer_setup(&ptp->hrtimer, ptp_reset_thresh, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 550 549 } else { 551 550 ptp->read_ptp_tstmp = &read_ptp_tstmp_nsec; 552 551 }
+2 -2
drivers/net/ethernet/microchip/sparx5/sparx5_packet.c
··· 375 375 376 376 void sparx5_port_inj_timer_setup(struct sparx5_port *port) 377 377 { 378 - hrtimer_init(&port->inj_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 379 - port->inj_timer.function = sparx5_injection_timeout; 378 + hrtimer_setup(&port->inj_timer, sparx5_injection_timeout, CLOCK_MONOTONIC, 379 + HRTIMER_MODE_REL); 380 380 }
+2 -2
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c
··· 686 686 687 687 void rmnet_map_tx_aggregate_init(struct rmnet_port *port) 688 688 { 689 - hrtimer_init(&port->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 690 - port->hrtimer.function = rmnet_map_flush_tx_packet_queue; 689 + hrtimer_setup(&port->hrtimer, rmnet_map_flush_tx_packet_queue, CLOCK_MONOTONIC, 690 + HRTIMER_MODE_REL); 691 691 spin_lock_init(&port->agg_lock); 692 692 rmnet_map_update_ul_agg_config(port, 4096, 1, 800); 693 693 INIT_WORK(&port->agg_wq, rmnet_map_flush_tx_packet_work);
+2 -4
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
··· 3199 3199 priv->tx_coal_frames[chan] = STMMAC_TX_FRAMES; 3200 3200 priv->tx_coal_timer[chan] = STMMAC_COAL_TX_TIMER; 3201 3201 3202 - hrtimer_init(&tx_q->txtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 3203 - tx_q->txtimer.function = stmmac_tx_timer; 3202 + hrtimer_setup(&tx_q->txtimer, stmmac_tx_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 3204 3203 } 3205 3204 3206 3205 for (chan = 0; chan < rx_channel_count; chan++) ··· 6969 6970 stmmac_set_tx_tail_ptr(priv, priv->ioaddr, 6970 6971 tx_q->tx_tail_addr, chan); 6971 6972 6972 - hrtimer_init(&tx_q->txtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 6973 - tx_q->txtimer.function = stmmac_tx_timer; 6973 + hrtimer_setup(&tx_q->txtimer, stmmac_tx_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 6974 6974 } 6975 6975 6976 6976 /* Enable the MAC Rx/Tx */
+4 -5
drivers/net/ethernet/ti/am65-cpsw-nuss.c
··· 2312 2312 for (i = 0; i < common->tx_ch_num; i++) { 2313 2313 tx_chn = &common->tx_chns[i]; 2314 2314 2315 - hrtimer_init(&tx_chn->tx_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); 2316 - tx_chn->tx_hrtimer.function = &am65_cpsw_nuss_tx_timer_callback; 2315 + hrtimer_setup(&tx_chn->tx_hrtimer, &am65_cpsw_nuss_tx_timer_callback, 2316 + CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); 2317 2317 2318 2318 netif_napi_add_tx(common->dma_ndev, &tx_chn->napi_tx, 2319 2319 am65_cpsw_nuss_tx_poll); ··· 2566 2566 snprintf(flow->name, 2567 2567 sizeof(flow->name), "%s-rx%d", 2568 2568 dev_name(dev), i); 2569 - hrtimer_init(&flow->rx_hrtimer, CLOCK_MONOTONIC, 2570 - HRTIMER_MODE_REL_PINNED); 2571 - flow->rx_hrtimer.function = &am65_cpsw_nuss_rx_timer_callback; 2569 + hrtimer_setup(&flow->rx_hrtimer, &am65_cpsw_nuss_rx_timer_callback, CLOCK_MONOTONIC, 2570 + HRTIMER_MODE_REL_PINNED); 2572 2571 2573 2572 netif_napi_add(common->dma_ndev, &flow->napi_rx, 2574 2573 am65_cpsw_nuss_rx_poll);
+2 -3
drivers/net/ethernet/ti/icssg/icssg_common.c
··· 249 249 struct prueth_tx_chn *tx_chn = &emac->tx_chns[i]; 250 250 251 251 netif_napi_add_tx(emac->ndev, &tx_chn->napi_tx, emac_napi_tx_poll); 252 - hrtimer_init(&tx_chn->tx_hrtimer, CLOCK_MONOTONIC, 253 - HRTIMER_MODE_REL_PINNED); 254 - tx_chn->tx_hrtimer.function = &emac_tx_timer_callback; 252 + hrtimer_setup(&tx_chn->tx_hrtimer, &emac_tx_timer_callback, CLOCK_MONOTONIC, 253 + HRTIMER_MODE_REL_PINNED); 255 254 ret = request_irq(tx_chn->irq, prueth_tx_irq, 256 255 IRQF_TRIGGER_HIGH, tx_chn->name, 257 256 tx_chn);
+2 -3
drivers/net/ethernet/ti/icssg/icssg_prueth.c
··· 1169 1169 ndev->hw_features |= NETIF_PRUETH_HSR_OFFLOAD_FEATURES; 1170 1170 1171 1171 netif_napi_add(ndev, &emac->napi_rx, icssg_napi_rx_poll); 1172 - hrtimer_init(&emac->rx_hrtimer, CLOCK_MONOTONIC, 1173 - HRTIMER_MODE_REL_PINNED); 1174 - emac->rx_hrtimer.function = &emac_rx_timer_callback; 1172 + hrtimer_setup(&emac->rx_hrtimer, &emac_rx_timer_callback, CLOCK_MONOTONIC, 1173 + HRTIMER_MODE_REL_PINNED); 1175 1174 prueth->emac[mac] = emac; 1176 1175 1177 1176 return 0;
+2 -2
drivers/net/ieee802154/at86rf230.c
··· 776 776 state->trx.tx_buf = state->buf; 777 777 state->trx.rx_buf = state->buf; 778 778 spi_message_add_tail(&state->trx, &state->msg); 779 - hrtimer_init(&state->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 780 - state->timer.function = at86rf230_async_state_timer; 779 + hrtimer_setup(&state->timer, at86rf230_async_state_timer, CLOCK_MONOTONIC, 780 + HRTIMER_MODE_REL); 781 781 } 782 782 783 783 static irqreturn_t at86rf230_isr(int irq, void *data)
+1 -2
drivers/net/usb/cdc_ncm.c
··· 833 833 834 834 ctx->dev = dev; 835 835 836 - hrtimer_init(&ctx->tx_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 837 - ctx->tx_timer.function = &cdc_ncm_tx_timer_cb; 836 + hrtimer_setup(&ctx->tx_timer, &cdc_ncm_tx_timer_cb, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 838 837 tasklet_setup(&ctx->bh, cdc_ncm_txpath_bh); 839 838 atomic_set(&ctx->stop, 0); 840 839 spin_lock_init(&ctx->mtx);
+2 -2
drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c
··· 264 264 }; 265 265 dev->beacon_ops = &beacon_ops; 266 266 267 - hrtimer_init(&dev->pre_tbtt_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 268 - dev->pre_tbtt_timer.function = mt76x02u_pre_tbtt_interrupt; 267 + hrtimer_setup(&dev->pre_tbtt_timer, mt76x02u_pre_tbtt_interrupt, CLOCK_MONOTONIC, 268 + HRTIMER_MODE_REL); 269 269 INIT_WORK(&dev->pre_tbtt_work, mt76x02u_pre_tbtt_work); 270 270 271 271 mt76x02_init_beacon_config(dev);
+1 -1
drivers/net/wireless/ralink/rt2x00/rt2800mmio.c
··· 842 842 /* 843 843 * Set txstatus timer function. 844 844 */ 845 - rt2x00dev->txstatus_timer.function = rt2800mmio_tx_sta_fifo_timeout; 845 + hrtimer_update_function(&rt2x00dev->txstatus_timer, rt2800mmio_tx_sta_fifo_timeout); 846 846 847 847 /* 848 848 * Overwrite TX done handler
+1 -1
drivers/net/wireless/ralink/rt2x00/rt2800usb.c
··· 618 618 /* 619 619 * Set txstatus timer function. 620 620 */ 621 - rt2x00dev->txstatus_timer.function = rt2800usb_tx_sta_fifo_timeout; 621 + hrtimer_update_function(&rt2x00dev->txstatus_timer, rt2800usb_tx_sta_fifo_timeout); 622 622 623 623 /* 624 624 * Overwrite TX done handler
+2 -2
drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
··· 1391 1391 mutex_init(&rt2x00dev->conf_mutex); 1392 1392 INIT_LIST_HEAD(&rt2x00dev->bar_list); 1393 1393 spin_lock_init(&rt2x00dev->bar_list_lock); 1394 - hrtimer_init(&rt2x00dev->txstatus_timer, CLOCK_MONOTONIC, 1395 - HRTIMER_MODE_REL); 1394 + hrtimer_setup(&rt2x00dev->txstatus_timer, hrtimer_dummy_timeout, CLOCK_MONOTONIC, 1395 + HRTIMER_MODE_REL); 1396 1396 1397 1397 set_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags); 1398 1398
+2 -4
drivers/net/wireless/virtual/mac80211_hwsim.c
··· 5548 5548 wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST); 5549 5549 5550 5550 for (i = 0; i < ARRAY_SIZE(data->link_data); i++) { 5551 - hrtimer_init(&data->link_data[i].beacon_timer, CLOCK_MONOTONIC, 5552 - HRTIMER_MODE_ABS_SOFT); 5553 - data->link_data[i].beacon_timer.function = 5554 - mac80211_hwsim_beacon; 5551 + hrtimer_setup(&data->link_data[i].beacon_timer, mac80211_hwsim_beacon, 5552 + CLOCK_MONOTONIC, HRTIMER_MODE_ABS_SOFT); 5555 5553 data->link_data[i].link_id = i; 5556 5554 } 5557 5555
+10 -14
drivers/net/wwan/iosm/iosm_ipc_imem.c
··· 1381 1381 /* The phase is set to power off. */ 1382 1382 ipc_imem->phase = IPC_P_OFF; 1383 1383 1384 - hrtimer_init(&ipc_imem->startup_timer, CLOCK_MONOTONIC, 1385 - HRTIMER_MODE_REL); 1386 - ipc_imem->startup_timer.function = ipc_imem_startup_timer_cb; 1384 + hrtimer_setup(&ipc_imem->startup_timer, ipc_imem_startup_timer_cb, CLOCK_MONOTONIC, 1385 + HRTIMER_MODE_REL); 1387 1386 1388 - hrtimer_init(&ipc_imem->tdupdate_timer, CLOCK_MONOTONIC, 1389 - HRTIMER_MODE_REL); 1390 - ipc_imem->tdupdate_timer.function = ipc_imem_td_update_timer_cb; 1387 + hrtimer_setup(&ipc_imem->tdupdate_timer, ipc_imem_td_update_timer_cb, CLOCK_MONOTONIC, 1388 + HRTIMER_MODE_REL); 1391 1389 1392 - hrtimer_init(&ipc_imem->fast_update_timer, CLOCK_MONOTONIC, 1393 - HRTIMER_MODE_REL); 1394 - ipc_imem->fast_update_timer.function = ipc_imem_fast_update_timer_cb; 1390 + hrtimer_setup(&ipc_imem->fast_update_timer, ipc_imem_fast_update_timer_cb, CLOCK_MONOTONIC, 1391 + HRTIMER_MODE_REL); 1395 1392 1396 - hrtimer_init(&ipc_imem->td_alloc_timer, CLOCK_MONOTONIC, 1397 - HRTIMER_MODE_REL); 1398 - ipc_imem->td_alloc_timer.function = ipc_imem_td_alloc_timer_cb; 1393 + hrtimer_setup(&ipc_imem->td_alloc_timer, ipc_imem_td_alloc_timer_cb, CLOCK_MONOTONIC, 1394 + HRTIMER_MODE_REL); 1399 1395 1400 - hrtimer_init(&ipc_imem->adb_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1401 - ipc_imem->adb_timer.function = ipc_imem_adb_timer_cb; 1396 + hrtimer_setup(&ipc_imem->adb_timer, ipc_imem_adb_timer_cb, CLOCK_MONOTONIC, 1397 + HRTIMER_MODE_REL); 1402 1398 1403 1399 if (ipc_imem_config(ipc_imem)) { 1404 1400 dev_err(ipc_imem->dev, "failed to initialize the imem");
+1 -2
drivers/ntb/test/ntb_pingpong.c
··· 284 284 pp->ntb = ntb; 285 285 atomic_set(&pp->count, 0); 286 286 spin_lock_init(&pp->lock); 287 - hrtimer_init(&pp->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 288 - pp->timer.function = pp_timer_func; 287 + hrtimer_setup(&pp->timer, pp_timer_func, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 289 288 290 289 return pp; 291 290 }
+2 -3
drivers/perf/arm-ccn.c
··· 1273 1273 /* No overflow interrupt? Have to use a timer instead. */ 1274 1274 if (!ccn->irq) { 1275 1275 dev_info(ccn->dev, "No access to interrupts, using timer.\n"); 1276 - hrtimer_init(&ccn->dt.hrtimer, CLOCK_MONOTONIC, 1277 - HRTIMER_MODE_REL); 1278 - ccn->dt.hrtimer.function = arm_ccn_pmu_timer_handler; 1276 + hrtimer_setup(&ccn->dt.hrtimer, arm_ccn_pmu_timer_handler, CLOCK_MONOTONIC, 1277 + HRTIMER_MODE_REL); 1279 1278 } 1280 1279 1281 1280 /* Pick one CPU which we will use to collect data from CCN... */
+2 -2
drivers/perf/marvell_cn10k_ddr_pmu.c
··· 1064 1064 if (!name) 1065 1065 return -ENOMEM; 1066 1066 1067 - hrtimer_init(&ddr_pmu->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1068 - ddr_pmu->hrtimer.function = cn10k_ddr_pmu_timer_handler; 1067 + hrtimer_setup(&ddr_pmu->hrtimer, cn10k_ddr_pmu_timer_handler, CLOCK_MONOTONIC, 1068 + HRTIMER_MODE_REL); 1069 1069 1070 1070 cpuhp_state_add_instance_nocalls( 1071 1071 CPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE,
+2 -3
drivers/perf/thunderx2_pmu.c
··· 752 752 tx2_pmu->cpu = cpu; 753 753 754 754 if (tx2_pmu->hrtimer_callback) { 755 - hrtimer_init(&tx2_pmu->hrtimer, 756 - CLOCK_MONOTONIC, HRTIMER_MODE_REL); 757 - tx2_pmu->hrtimer.function = tx2_pmu->hrtimer_callback; 755 + hrtimer_setup(&tx2_pmu->hrtimer, tx2_pmu->hrtimer_callback, CLOCK_MONOTONIC, 756 + HRTIMER_MODE_REL); 758 757 } 759 758 760 759 ret = tx2_uncore_pmu_register(tx2_pmu);
+4 -4
drivers/power/reset/ltc2952-poweroff.c
··· 162 162 data->wde_interval = 300L * NSEC_PER_MSEC; 163 163 data->trigger_delay = ktime_set(2, 500L * NSEC_PER_MSEC); 164 164 165 - hrtimer_init(&data->timer_trigger, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 166 - data->timer_trigger.function = ltc2952_poweroff_timer_trigger; 165 + hrtimer_setup(&data->timer_trigger, ltc2952_poweroff_timer_trigger, CLOCK_MONOTONIC, 166 + HRTIMER_MODE_REL); 167 167 168 - hrtimer_init(&data->timer_wde, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 169 - data->timer_wde.function = ltc2952_poweroff_timer_wde; 168 + hrtimer_setup(&data->timer_wde, ltc2952_poweroff_timer_wde, CLOCK_MONOTONIC, 169 + HRTIMER_MODE_REL); 170 170 } 171 171 172 172 static int ltc2952_poweroff_init(struct platform_device *pdev)
+4 -5
drivers/power/supply/ab8500_chargalg.c
··· 1787 1787 psy_cfg.drv_data = di; 1788 1788 1789 1789 /* Initilialize safety timer */ 1790 - hrtimer_init(&di->safety_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1791 - di->safety_timer.function = ab8500_chargalg_safety_timer_expired; 1790 + hrtimer_setup(&di->safety_timer, ab8500_chargalg_safety_timer_expired, CLOCK_MONOTONIC, 1791 + HRTIMER_MODE_REL); 1792 1792 1793 1793 /* Initilialize maintenance timer */ 1794 - hrtimer_init(&di->maintenance_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1795 - di->maintenance_timer.function = 1796 - ab8500_chargalg_maintenance_timer_expired; 1794 + hrtimer_setup(&di->maintenance_timer, ab8500_chargalg_maintenance_timer_expired, 1795 + CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1797 1796 1798 1797 /* Init work for chargalg */ 1799 1798 INIT_DEFERRABLE_WORK(&di->chargalg_periodic_work,
+1 -2
drivers/powercap/idle_inject.c
··· 339 339 return NULL; 340 340 341 341 cpumask_copy(to_cpumask(ii_dev->cpumask), cpumask); 342 - hrtimer_init(&ii_dev->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 343 - ii_dev->timer.function = idle_inject_timer_fn; 342 + hrtimer_setup(&ii_dev->timer, idle_inject_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 344 343 ii_dev->latency_us = UINT_MAX; 345 344 ii_dev->update = update; 346 345
+1 -2
drivers/powercap/intel_rapl_common.c
··· 2064 2064 raw_spin_lock_init(&data->lock); 2065 2065 INIT_LIST_HEAD(&data->active_list); 2066 2066 data->timer_interval = ms_to_ktime(rapl_pmu.timer_ms); 2067 - hrtimer_init(&data->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2068 - data->hrtimer.function = rapl_hrtimer_handle; 2067 + hrtimer_setup(&data->hrtimer, rapl_hrtimer_handle, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2069 2068 2070 2069 return rapl_pmu_update(rp); 2071 2070 }
+1 -2
drivers/pps/generators/pps_gen_parport.c
··· 208 208 209 209 calibrate_port(&device); 210 210 211 - hrtimer_init(&device.timer, CLOCK_REALTIME, HRTIMER_MODE_ABS); 212 - device.timer.function = hrtimer_event; 211 + hrtimer_setup(&device.timer, hrtimer_event, CLOCK_REALTIME, HRTIMER_MODE_ABS); 213 212 hrtimer_start(&device.timer, next_intr_time(&device), HRTIMER_MODE_ABS); 214 213 215 214 return;
+1 -2
drivers/rtc/class.c
··· 240 240 /* Init uie timer */ 241 241 rtc_timer_init(&rtc->uie_rtctimer, rtc_uie_update_irq, rtc); 242 242 /* Init pie timer */ 243 - hrtimer_init(&rtc->pie_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 244 - rtc->pie_timer.function = rtc_pie_update_irq; 243 + hrtimer_setup(&rtc->pie_timer, rtc_pie_update_irq, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 245 244 rtc->pie_enabled = 0; 246 245 247 246 set_bit(RTC_FEATURE_ALARM, rtc->features);
+1 -2
drivers/s390/crypto/ap_bus.c
··· 2326 2326 */ 2327 2327 if (MACHINE_IS_VM) 2328 2328 poll_high_timeout = 1500000; 2329 - hrtimer_init(&ap_poll_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 2330 - ap_poll_timer.function = ap_poll_timeout; 2329 + hrtimer_setup(&ap_poll_timer, ap_poll_timeout, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 2331 2330 2332 2331 queue_work(system_long_wq, &ap_scan_bus_work); 2333 2332
+1 -3
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
··· 2922 2922 struct timer_cb *p_timer; 2923 2923 2924 2924 p_timer = &vscsi->rsp_q_timer; 2925 - hrtimer_init(&p_timer->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2926 - 2927 - p_timer->timer.function = ibmvscsis_service_wait_q; 2925 + hrtimer_setup(&p_timer->timer, ibmvscsis_service_wait_q, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2928 2926 p_timer->started = false; 2929 2927 p_timer->timer_pops = 0; 2930 2928
+3 -4
drivers/scsi/lpfc/lpfc_init.c
··· 7952 7952 timer_setup(&phba->fcf.redisc_wait, lpfc_sli4_fcf_redisc_wait_tmo, 0); 7953 7953 7954 7954 /* CMF congestion timer */ 7955 - hrtimer_init(&phba->cmf_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7956 - phba->cmf_timer.function = lpfc_cmf_timer; 7955 + hrtimer_setup(&phba->cmf_timer, lpfc_cmf_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7957 7956 /* CMF 1 minute stats collection timer */ 7958 - hrtimer_init(&phba->cmf_stats_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7959 - phba->cmf_stats_timer.function = lpfc_cmf_stats_timer; 7957 + hrtimer_setup(&phba->cmf_stats_timer, lpfc_cmf_stats_timer, CLOCK_MONOTONIC, 7958 + HRTIMER_MODE_REL); 7960 7959 7961 7960 /* 7962 7961 * Control structure for handling external multi-buffer mailbox
+2 -2
drivers/scsi/scsi_debug.c
··· 6384 6384 6385 6385 sd_dp = &sqcp->sd_dp; 6386 6386 6387 - hrtimer_init(&sd_dp->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); 6388 - sd_dp->hrt.function = sdebug_q_cmd_hrt_complete; 6387 + hrtimer_setup(&sd_dp->hrt, sdebug_q_cmd_hrt_complete, CLOCK_MONOTONIC, 6388 + HRTIMER_MODE_REL_PINNED); 6389 6389 INIT_WORK(&sd_dp->ew.work, sdebug_q_cmd_wq_complete); 6390 6390 6391 6391 sqcp->scmd = scmd;
+1 -2
drivers/tty/serial/8250/8250_bcm7271.c
··· 1056 1056 } 1057 1057 1058 1058 /* setup HR timer */ 1059 - hrtimer_init(&priv->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 1060 - priv->hrt.function = brcmuart_hrtimer_func; 1059 + hrtimer_setup(&priv->hrt, brcmuart_hrtimer_func, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 1061 1060 1062 1061 up.port.shutdown = brcmuart_shutdown; 1063 1062 up.port.startup = brcmuart_startup;
+4 -6
drivers/tty/serial/8250/8250_port.c
··· 566 566 if (!p->em485) 567 567 return -ENOMEM; 568 568 569 - hrtimer_init(&p->em485->stop_tx_timer, CLOCK_MONOTONIC, 570 - HRTIMER_MODE_REL); 571 - hrtimer_init(&p->em485->start_tx_timer, CLOCK_MONOTONIC, 572 - HRTIMER_MODE_REL); 573 - p->em485->stop_tx_timer.function = &serial8250_em485_handle_stop_tx; 574 - p->em485->start_tx_timer.function = &serial8250_em485_handle_start_tx; 569 + hrtimer_setup(&p->em485->stop_tx_timer, &serial8250_em485_handle_stop_tx, CLOCK_MONOTONIC, 570 + HRTIMER_MODE_REL); 571 + hrtimer_setup(&p->em485->start_tx_timer, &serial8250_em485_handle_start_tx, CLOCK_MONOTONIC, 572 + HRTIMER_MODE_REL); 575 573 p->em485->port = p; 576 574 p->em485->active_timer = NULL; 577 575 p->em485->tx_stopped = true;
+4 -5
drivers/tty/serial/amba-pl011.c
··· 2867 2867 return -EINVAL; 2868 2868 } 2869 2869 } 2870 - 2871 - hrtimer_init(&uap->trigger_start_tx, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2872 - hrtimer_init(&uap->trigger_stop_tx, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2873 - uap->trigger_start_tx.function = pl011_trigger_start_tx; 2874 - uap->trigger_stop_tx.function = pl011_trigger_stop_tx; 2870 + hrtimer_setup(&uap->trigger_start_tx, pl011_trigger_start_tx, CLOCK_MONOTONIC, 2871 + HRTIMER_MODE_REL); 2872 + hrtimer_setup(&uap->trigger_stop_tx, pl011_trigger_stop_tx, CLOCK_MONOTONIC, 2873 + HRTIMER_MODE_REL); 2875 2874 2876 2875 ret = pl011_setup_port(&dev->dev, uap, &dev->res, portnr); 2877 2876 if (ret)
+4 -4
drivers/tty/serial/imx.c
··· 2582 2582 imx_uart_writel(sport, ucr3, UCR3); 2583 2583 } 2584 2584 2585 - hrtimer_init(&sport->trigger_start_tx, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2586 - hrtimer_init(&sport->trigger_stop_tx, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2587 - sport->trigger_start_tx.function = imx_trigger_start_tx; 2588 - sport->trigger_stop_tx.function = imx_trigger_stop_tx; 2585 + hrtimer_setup(&sport->trigger_start_tx, imx_trigger_start_tx, CLOCK_MONOTONIC, 2586 + HRTIMER_MODE_REL); 2587 + hrtimer_setup(&sport->trigger_stop_tx, imx_trigger_stop_tx, CLOCK_MONOTONIC, 2588 + HRTIMER_MODE_REL); 2589 2589 2590 2590 /* 2591 2591 * Allocate the IRQ(s) i.MX1 has three interrupts whereas later
+1 -2
drivers/tty/serial/sh-sci.c
··· 1702 1702 dma += s->buf_len_rx; 1703 1703 } 1704 1704 1705 - hrtimer_init(&s->rx_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1706 - s->rx_timer.function = sci_dma_rx_timer_fn; 1705 + hrtimer_setup(&s->rx_timer, sci_dma_rx_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1707 1706 1708 1707 s->chan_rx_saved = s->chan_rx = chan; 1709 1708
+4 -4
drivers/tty/serial/xilinx_uartps.c
··· 454 454 455 455 if (cdns_uart->port->rs485.flags & SER_RS485_ENABLED && 456 456 (kfifo_is_empty(&tport->xmit_fifo) || uart_tx_stopped(port))) { 457 - cdns_uart->tx_timer.function = &cdns_rs485_rx_callback; 457 + hrtimer_update_function(&cdns_uart->tx_timer, cdns_rs485_rx_callback); 458 458 hrtimer_start(&cdns_uart->tx_timer, 459 459 ns_to_ktime(cdns_calc_after_tx_delay(cdns_uart)), HRTIMER_MODE_REL); 460 460 } ··· 734 734 735 735 if (cdns_uart->port->rs485.flags & SER_RS485_ENABLED) { 736 736 if (!cdns_uart->rs485_tx_started) { 737 - cdns_uart->tx_timer.function = &cdns_rs485_tx_callback; 737 + hrtimer_update_function(&cdns_uart->tx_timer, cdns_rs485_tx_callback); 738 738 cdns_rs485_tx_setup(cdns_uart); 739 739 return hrtimer_start(&cdns_uart->tx_timer, 740 740 ms_to_ktime(port->rs485.delay_rts_before_send), ··· 1626 1626 writel(val, port->membase + CDNS_UART_MODEMCR); 1627 1627 1628 1628 /* Timer setup */ 1629 - hrtimer_init(&cdns_uart->tx_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1630 - cdns_uart->tx_timer.function = &cdns_rs485_tx_callback; 1629 + hrtimer_setup(&cdns_uart->tx_timer, &cdns_rs485_tx_callback, CLOCK_MONOTONIC, 1630 + HRTIMER_MODE_REL); 1631 1631 1632 1632 /* Disable transmitter and make Rx setup*/ 1633 1633 cdns_uart_stop_tx(port);
+1 -2
drivers/usb/chipidea/otg_fsm.c
··· 424 424 /* Initialize timers */ 425 425 static int ci_otg_init_timers(struct ci_hdrc *ci) 426 426 { 427 - hrtimer_init(&ci->otg_fsm_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 428 - ci->otg_fsm_hrtimer.function = ci_otg_hrtimer_func; 427 + hrtimer_setup(&ci->otg_fsm_hrtimer, ci_otg_hrtimer_func, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 429 428 430 429 return 0; 431 430 }
+1 -2
drivers/usb/dwc2/hcd_queue.c
··· 1459 1459 /* Initialize QH */ 1460 1460 qh->hsotg = hsotg; 1461 1461 timer_setup(&qh->unreserve_timer, dwc2_unreserve_timer_fn, 0); 1462 - hrtimer_init(&qh->wait_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1463 - qh->wait_timer.function = &dwc2_wait_timer_fn; 1462 + hrtimer_setup(&qh->wait_timer, &dwc2_wait_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1464 1463 qh->ep_type = ep_type; 1465 1464 qh->ep_is_in = ep_is_in; 1466 1465
+1 -2
drivers/usb/fotg210/fotg210-hcd.c
··· 4901 4901 */ 4902 4902 fotg210->need_io_watchdog = 1; 4903 4903 4904 - hrtimer_init(&fotg210->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 4905 - fotg210->hrtimer.function = fotg210_hrtimer_func; 4904 + hrtimer_setup(&fotg210->hrtimer, fotg210_hrtimer_func, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 4906 4905 fotg210->next_hrtimer_event = FOTG210_HRTIMER_NO_EVENT; 4907 4906 4908 4907 hcc_params = fotg210_readl(fotg210, &fotg210->caps->hcc_params);
+1 -2
drivers/usb/gadget/function/f_ncm.c
··· 1559 1559 ncm->port.open = ncm_open; 1560 1560 ncm->port.close = ncm_close; 1561 1561 1562 - hrtimer_init(&ncm->task_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1563 - ncm->task_timer.function = ncm_tx_timeout; 1562 + hrtimer_setup(&ncm->task_timer, ncm_tx_timeout, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1564 1563 1565 1564 DBG(cdev, "CDC Network: IN/%s OUT/%s NOTIFY/%s\n", 1566 1565 ncm->port.in_ep->name, ncm->port.out_ep->name,
+2 -4
drivers/usb/gadget/udc/dummy_hcd.c
··· 2479 2479 2480 2480 static int dummy_start_ss(struct dummy_hcd *dum_hcd) 2481 2481 { 2482 - hrtimer_init(&dum_hcd->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 2483 - dum_hcd->timer.function = dummy_timer; 2482 + hrtimer_setup(&dum_hcd->timer, dummy_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 2484 2483 dum_hcd->rh_state = DUMMY_RH_RUNNING; 2485 2484 dum_hcd->stream_en_ep = 0; 2486 2485 INIT_LIST_HEAD(&dum_hcd->urbp_list); ··· 2508 2509 return dummy_start_ss(dum_hcd); 2509 2510 2510 2511 spin_lock_init(&dum_hcd->dum->lock); 2511 - hrtimer_init(&dum_hcd->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 2512 - dum_hcd->timer.function = dummy_timer; 2512 + hrtimer_setup(&dum_hcd->timer, dummy_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 2513 2513 dum_hcd->rh_state = DUMMY_RH_RUNNING; 2514 2514 2515 2515 INIT_LIST_HEAD(&dum_hcd->urbp_list);
+1 -2
drivers/usb/host/ehci-hcd.c
··· 466 466 */ 467 467 ehci->need_io_watchdog = 1; 468 468 469 - hrtimer_init(&ehci->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 470 - ehci->hrtimer.function = ehci_hrtimer_func; 469 + hrtimer_setup(&ehci->hrtimer, ehci_hrtimer_func, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); 471 470 ehci->next_hrtimer_event = EHCI_HRTIMER_NO_EVENT; 472 471 473 472 hcc_params = ehci_readl(ehci, &ehci->caps->hcc_params);
+2 -2
drivers/usb/musb/musb_cppi41.c
··· 760 760 if (!controller) 761 761 goto kzalloc_fail; 762 762 763 - hrtimer_init(&controller->early_tx, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 764 - controller->early_tx.function = cppi41_recheck_tx_req; 763 + hrtimer_setup(&controller->early_tx, cppi41_recheck_tx_req, CLOCK_MONOTONIC, 764 + HRTIMER_MODE_REL); 765 765 INIT_LIST_HEAD(&controller->early_tx_list); 766 766 767 767 controller->controller.channel_alloc = cppi41_dma_channel_allocate;
+8 -8
drivers/usb/typec/tcpm/tcpm.c
··· 7721 7721 kthread_init_work(&port->event_work, tcpm_pd_event_handler); 7722 7722 kthread_init_work(&port->enable_frs, tcpm_enable_frs_work); 7723 7723 kthread_init_work(&port->send_discover_work, tcpm_send_discover_work); 7724 - hrtimer_init(&port->state_machine_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7725 - port->state_machine_timer.function = state_machine_timer_handler; 7726 - hrtimer_init(&port->vdm_state_machine_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7727 - port->vdm_state_machine_timer.function = vdm_state_machine_timer_handler; 7728 - hrtimer_init(&port->enable_frs_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7729 - port->enable_frs_timer.function = enable_frs_timer_handler; 7730 - hrtimer_init(&port->send_discover_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7731 - port->send_discover_timer.function = send_discover_timer_handler; 7724 + hrtimer_setup(&port->state_machine_timer, state_machine_timer_handler, CLOCK_MONOTONIC, 7725 + HRTIMER_MODE_REL); 7726 + hrtimer_setup(&port->vdm_state_machine_timer, vdm_state_machine_timer_handler, 7727 + CLOCK_MONOTONIC, HRTIMER_MODE_REL); 7728 + hrtimer_setup(&port->enable_frs_timer, enable_frs_timer_handler, CLOCK_MONOTONIC, 7729 + HRTIMER_MODE_REL); 7730 + hrtimer_setup(&port->send_discover_timer, send_discover_timer_handler, CLOCK_MONOTONIC, 7731 + HRTIMER_MODE_REL); 7732 7732 7733 7733 spin_lock_init(&port->pd_event_lock); 7734 7734
+2 -2
drivers/virtio/virtio_mem.c
··· 2950 2950 mutex_init(&vm->hotplug_mutex); 2951 2951 INIT_LIST_HEAD(&vm->next); 2952 2952 spin_lock_init(&vm->removal_lock); 2953 - hrtimer_init(&vm->retry_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 2954 - vm->retry_timer.function = virtio_mem_timer_expired; 2953 + hrtimer_setup(&vm->retry_timer, virtio_mem_timer_expired, CLOCK_MONOTONIC, 2954 + HRTIMER_MODE_REL); 2955 2955 vm->retry_timer_ms = VIRTIO_MEM_RETRY_TIMER_MIN_MS; 2956 2956 vm->in_kdump = is_kdump_kernel(); 2957 2957
+3 -5
drivers/watchdog/softdog.c
··· 187 187 watchdog_set_nowayout(&softdog_dev, nowayout); 188 188 watchdog_stop_on_reboot(&softdog_dev); 189 189 190 - hrtimer_init(&softdog_ticktock, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 191 - softdog_ticktock.function = softdog_fire; 190 + hrtimer_setup(&softdog_ticktock, softdog_fire, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 192 191 193 192 if (IS_ENABLED(CONFIG_SOFT_WATCHDOG_PRETIMEOUT)) { 194 193 softdog_info.options |= WDIOF_PRETIMEOUT; 195 - hrtimer_init(&softdog_preticktock, CLOCK_MONOTONIC, 196 - HRTIMER_MODE_REL); 197 - softdog_preticktock.function = softdog_pretimeout; 194 + hrtimer_setup(&softdog_preticktock, softdog_pretimeout, CLOCK_MONOTONIC, 195 + HRTIMER_MODE_REL); 198 196 } 199 197 200 198 if (soft_active_on_boot)
+2 -2
drivers/watchdog/watchdog_dev.c
··· 1051 1051 } 1052 1052 1053 1053 kthread_init_work(&wd_data->work, watchdog_ping_work); 1054 - hrtimer_init(&wd_data->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 1055 - wd_data->timer.function = watchdog_timer_expired; 1054 + hrtimer_setup(&wd_data->timer, watchdog_timer_expired, CLOCK_MONOTONIC, 1055 + HRTIMER_MODE_REL_HARD); 1056 1056 watchdog_hrtimer_pretimeout_init(wdd); 1057 1057 1058 1058 if (wdd->id == 0) {
+2 -2
drivers/watchdog/watchdog_hrtimer_pretimeout.c
··· 23 23 { 24 24 struct watchdog_core_data *wd_data = wdd->wd_data; 25 25 26 - hrtimer_init(&wd_data->pretimeout_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 27 - wd_data->pretimeout_timer.function = watchdog_hrtimer_pretimeout; 26 + hrtimer_setup(&wd_data->pretimeout_timer, watchdog_hrtimer_pretimeout, CLOCK_MONOTONIC, 27 + HRTIMER_MODE_REL); 28 28 } 29 29 30 30 void watchdog_hrtimer_pretimeout_start(struct watchdog_device *wdd)
+2 -3
fs/timerfd.c
··· 205 205 ALARM_REALTIME : ALARM_BOOTTIME, 206 206 timerfd_alarmproc); 207 207 } else { 208 - hrtimer_init(&ctx->t.tmr, clockid, htmode); 208 + hrtimer_setup(&ctx->t.tmr, timerfd_tmrproc, clockid, htmode); 209 209 hrtimer_set_expires(&ctx->t.tmr, texp); 210 - ctx->t.tmr.function = timerfd_tmrproc; 211 210 } 212 211 213 212 if (texp != 0) { ··· 428 429 ALARM_REALTIME : ALARM_BOOTTIME, 429 430 timerfd_alarmproc); 430 431 else 431 - hrtimer_init(&ctx->t.tmr, clockid, HRTIMER_MODE_ABS); 432 + hrtimer_setup(&ctx->t.tmr, timerfd_tmrproc, clockid, HRTIMER_MODE_ABS); 432 433 433 434 ctx->moffs = ktime_mono_to_real(0); 434 435
+1 -2
fs/ubifs/io.c
··· 1179 1179 wbuf->c = c; 1180 1180 wbuf->next_ino = 0; 1181 1181 1182 - hrtimer_init(&wbuf->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1183 - wbuf->timer.function = wbuf_timer_callback_nolock; 1182 + hrtimer_setup(&wbuf->timer, wbuf_timer_callback_nolock, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1184 1183 return 0; 1185 1184 } 1186 1185
+5
include/linux/hrtimer.h
··· 223 223 } 224 224 #endif 225 225 226 + static inline enum hrtimer_restart hrtimer_dummy_timeout(struct hrtimer *unused) 227 + { 228 + return HRTIMER_NORESTART; 229 + } 230 + 226 231 /* Exported timer functions: */ 227 232 228 233 /* Initialize timers: */
+1 -1
io_uring/io_uring.c
··· 2423 2423 goto out_wake; 2424 2424 } 2425 2425 2426 - iowq->t.function = io_cqring_timer_wakeup; 2426 + hrtimer_update_function(&iowq->t, io_cqring_timer_wakeup); 2427 2427 hrtimer_set_expires(timer, iowq->timeout); 2428 2428 return HRTIMER_RESTART; 2429 2429 out_wake:
+6 -7
io_uring/timeout.c
··· 407 407 io = req->async_data; 408 408 if (hrtimer_try_to_cancel(&io->timer) == -1) 409 409 return -EALREADY; 410 - hrtimer_init(&io->timer, io_timeout_get_clock(io), mode); 411 - io->timer.function = io_link_timeout_fn; 410 + hrtimer_setup(&io->timer, io_link_timeout_fn, io_timeout_get_clock(io), mode); 412 411 hrtimer_start(&io->timer, timespec64_to_ktime(*ts), mode); 413 412 return 0; 414 413 } ··· 429 430 data->ts = *ts; 430 431 431 432 list_add_tail(&timeout->list, &ctx->timeout_list); 432 - hrtimer_init(&data->timer, io_timeout_get_clock(data), mode); 433 - data->timer.function = io_timeout_fn; 433 + hrtimer_setup(&data->timer, io_timeout_fn, io_timeout_get_clock(data), mode); 434 434 hrtimer_start(&data->timer, timespec64_to_ktime(data->ts), mode); 435 435 return 0; 436 436 } ··· 555 557 return -EINVAL; 556 558 557 559 data->mode = io_translate_timeout_mode(flags); 558 - hrtimer_init(&data->timer, io_timeout_get_clock(data), data->mode); 559 560 560 561 if (is_timeout_link) { 561 562 struct io_submit_link *link = &req->ctx->submit_state.link; ··· 565 568 return -EINVAL; 566 569 timeout->head = link->last; 567 570 link->last->flags |= REQ_F_ARM_LTIMEOUT; 571 + hrtimer_setup(&data->timer, io_link_timeout_fn, io_timeout_get_clock(data), 572 + data->mode); 573 + } else { 574 + hrtimer_setup(&data->timer, io_timeout_fn, io_timeout_get_clock(data), data->mode); 568 575 } 569 576 return 0; 570 577 } ··· 628 627 } 629 628 add: 630 629 list_add(&timeout->list, entry); 631 - data->timer.function = io_timeout_fn; 632 630 hrtimer_start(&data->timer, timespec64_to_ktime(data->ts), data->mode); 633 631 raw_spin_unlock_irq(&ctx->timeout_lock); 634 632 return IOU_ISSUE_SKIP_COMPLETE; ··· 646 646 if (timeout->head) { 647 647 struct io_timeout_data *data = req->async_data; 648 648 649 - data->timer.function = io_link_timeout_fn; 650 649 hrtimer_start(&data->timer, timespec64_to_ktime(data->ts), 651 650 data->mode); 652 651 list_add_tail(&timeout->list, &ctx->ltimeout_list);
+1 -2
kernel/bpf/helpers.c
··· 1284 1284 1285 1285 atomic_set(&t->cancelling, 0); 1286 1286 INIT_WORK(&t->cb.delete_work, bpf_timer_delete_work); 1287 - hrtimer_init(&t->timer, clockid, HRTIMER_MODE_REL_SOFT); 1288 - t->timer.function = bpf_timer_cb; 1287 + hrtimer_setup(&t->timer, bpf_timer_cb, clockid, HRTIMER_MODE_REL_SOFT); 1289 1288 cb->value = (void *)async - map->record->timer_off; 1290 1289 break; 1291 1290 case BPF_ASYNC_TYPE_WQ:
+3 -4
kernel/events/core.c
··· 1193 1193 cpc->hrtimer_interval = ns_to_ktime(NSEC_PER_MSEC * interval); 1194 1194 1195 1195 raw_spin_lock_init(&cpc->hrtimer_lock); 1196 - hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); 1197 - timer->function = perf_mux_hrtimer_handler; 1196 + hrtimer_setup(timer, perf_mux_hrtimer_handler, CLOCK_MONOTONIC, 1197 + HRTIMER_MODE_ABS_PINNED_HARD); 1198 1198 } 1199 1199 1200 1200 static int perf_mux_hrtimer_restart(struct perf_cpu_pmu_context *cpc) ··· 11679 11679 if (!is_sampling_event(event)) 11680 11680 return; 11681 11681 11682 - hrtimer_init(&hwc->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 11683 - hwc->hrtimer.function = perf_swevent_hrtimer; 11682 + hrtimer_setup(&hwc->hrtimer, perf_swevent_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 11684 11683 11685 11684 /* 11686 11685 * Since hrtimers have a fixed rate, we can do a static freq->period
+1 -2
kernel/fork.c
··· 1891 1891 #ifdef CONFIG_POSIX_TIMERS 1892 1892 INIT_HLIST_HEAD(&sig->posix_timers); 1893 1893 INIT_HLIST_HEAD(&sig->ignored_posix_timers); 1894 - hrtimer_init(&sig->real_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1895 - sig->real_timer.function = it_real_fn; 1894 + hrtimer_setup(&sig->real_timer, it_real_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1896 1895 #endif 1897 1896 1898 1897 task_lock(current->group_leader);
+1 -2
kernel/sched/core.c
··· 912 912 #ifdef CONFIG_SMP 913 913 INIT_CSD(&rq->hrtick_csd, __hrtick_start, rq); 914 914 #endif 915 - hrtimer_init(&rq->hrtick_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 916 - rq->hrtick_timer.function = hrtick; 915 + hrtimer_setup(&rq->hrtick_timer, hrtick, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 917 916 } 918 917 #else /* CONFIG_SCHED_HRTICK */ 919 918 static inline void hrtick_clear(struct rq *rq)
+2 -4
kernel/sched/deadline.c
··· 1382 1382 { 1383 1383 struct hrtimer *timer = &dl_se->dl_timer; 1384 1384 1385 - hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 1386 - timer->function = dl_task_timer; 1385 + hrtimer_setup(timer, dl_task_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 1387 1386 } 1388 1387 1389 1388 /* ··· 1838 1839 { 1839 1840 struct hrtimer *timer = &dl_se->inactive_timer; 1840 1841 1841 - hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 1842 - timer->function = inactive_task_timer; 1842 + hrtimer_setup(timer, inactive_task_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 1843 1843 } 1844 1844 1845 1845 #define __node_2_dle(node) \
+4 -4
kernel/sched/fair.c
··· 6552 6552 cfs_b->hierarchical_quota = parent ? parent->hierarchical_quota : RUNTIME_INF; 6553 6553 6554 6554 INIT_LIST_HEAD(&cfs_b->throttled_cfs_rq); 6555 - hrtimer_init(&cfs_b->period_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED); 6556 - cfs_b->period_timer.function = sched_cfs_period_timer; 6555 + hrtimer_setup(&cfs_b->period_timer, sched_cfs_period_timer, CLOCK_MONOTONIC, 6556 + HRTIMER_MODE_ABS_PINNED); 6557 6557 6558 6558 /* Add a random offset so that timers interleave */ 6559 6559 hrtimer_set_expires(&cfs_b->period_timer, 6560 6560 get_random_u32_below(cfs_b->period)); 6561 - hrtimer_init(&cfs_b->slack_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 6562 - cfs_b->slack_timer.function = sched_cfs_slack_timer; 6561 + hrtimer_setup(&cfs_b->slack_timer, sched_cfs_slack_timer, CLOCK_MONOTONIC, 6562 + HRTIMER_MODE_REL); 6563 6563 cfs_b->slack_started = false; 6564 6564 } 6565 6565
+2 -3
kernel/sched/rt.c
··· 127 127 128 128 raw_spin_lock_init(&rt_b->rt_runtime_lock); 129 129 130 - hrtimer_init(&rt_b->rt_period_timer, CLOCK_MONOTONIC, 131 - HRTIMER_MODE_REL_HARD); 132 - rt_b->rt_period_timer.function = sched_rt_period_timer; 130 + hrtimer_setup(&rt_b->rt_period_timer, sched_rt_period_timer, CLOCK_MONOTONIC, 131 + HRTIMER_MODE_REL_HARD); 133 132 } 134 133 135 134 static inline void do_start_rt_bandwidth(struct rt_bandwidth *rt_b)
-5
kernel/time/hrtimer.c
··· 1592 1592 } 1593 1593 } 1594 1594 1595 - static enum hrtimer_restart hrtimer_dummy_timeout(struct hrtimer *unused) 1596 - { 1597 - return HRTIMER_NORESTART; 1598 - } 1599 - 1600 1595 static void __hrtimer_init(struct hrtimer *timer, clockid_t clock_id, 1601 1596 enum hrtimer_mode mode) 1602 1597 {
+1 -2
kernel/time/ntp.c
··· 678 678 679 679 static void __init ntp_init_cmos_sync(void) 680 680 { 681 - hrtimer_init(&sync_hrtimer, CLOCK_REALTIME, HRTIMER_MODE_ABS); 682 - sync_hrtimer.function = sync_timer_callback; 681 + hrtimer_setup(&sync_hrtimer, sync_timer_callback, CLOCK_REALTIME, HRTIMER_MODE_ABS); 683 682 } 684 683 #else /* CONFIG_GENERIC_CMOS_UPDATE) || defined(CONFIG_RTC_SYSTOHC) */ 685 684 static inline void __init ntp_init_cmos_sync(void) { }
+3 -4
kernel/time/posix-timers.c
··· 466 466 467 467 static int common_timer_create(struct k_itimer *new_timer) 468 468 { 469 - hrtimer_init(&new_timer->it.real.timer, new_timer->it_clock, 0); 469 + hrtimer_setup(&new_timer->it.real.timer, posix_timer_fn, new_timer->it_clock, 0); 470 470 return 0; 471 471 } 472 472 ··· 821 821 /* 822 822 * Posix magic: Relative CLOCK_REALTIME timers are not affected by 823 823 * clock modifications, so they become CLOCK_MONOTONIC based under the 824 - * hood. See hrtimer_init(). Update timr->kclock, so the generic 824 + * hood. See hrtimer_setup(). Update timr->kclock, so the generic 825 825 * functions which use timr->kclock->clock_get_*() work. 826 826 * 827 827 * Note: it_clock stays unmodified, because the next timer_set() might ··· 830 830 if (timr->it_clock == CLOCK_REALTIME) 831 831 timr->kclock = absolute ? &clock_realtime : &clock_monotonic; 832 832 833 - hrtimer_init(&timr->it.real.timer, timr->it_clock, mode); 834 - timr->it.real.timer.function = posix_timer_fn; 833 + hrtimer_setup(&timr->it.real.timer, posix_timer_fn, timr->it_clock, mode); 835 834 836 835 if (!absolute) 837 836 expires = ktime_add_safe(expires, timer->base->get_time());
+1 -2
kernel/time/sched_clock.c
··· 263 263 * Start the timer to keep sched_clock() properly updated and 264 264 * sets the initial epoch. 265 265 */ 266 - hrtimer_init(&sched_clock_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 267 - sched_clock_timer.function = sched_clock_poll; 266 + hrtimer_setup(&sched_clock_timer, sched_clock_poll, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 268 267 hrtimer_start(&sched_clock_timer, cd.wrap_kt, HRTIMER_MODE_REL_HARD); 269 268 } 270 269
+1 -2
kernel/time/tick-broadcast-hrtimer.c
··· 100 100 101 101 void tick_setup_hrtimer_broadcast(void) 102 102 { 103 - hrtimer_init(&bctimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); 104 - bctimer.function = bc_handler; 103 + hrtimer_setup(&bctimer, bc_handler, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); 105 104 clockevents_register_device(&ce_broadcast_hrtimer); 106 105 }
+2 -4
kernel/time/tick-sched.c
··· 1573 1573 struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched); 1574 1574 1575 1575 /* Emulate tick processing via per-CPU hrtimers: */ 1576 - hrtimer_init(&ts->sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); 1576 + hrtimer_setup(&ts->sched_timer, tick_nohz_handler, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); 1577 1577 1578 - if (IS_ENABLED(CONFIG_HIGH_RES_TIMERS) && hrtimer) { 1578 + if (IS_ENABLED(CONFIG_HIGH_RES_TIMERS) && hrtimer) 1579 1579 tick_sched_flag_set(ts, TS_FLAG_HIGHRES); 1580 - ts->sched_timer.function = tick_nohz_handler; 1581 - } 1582 1580 1583 1581 /* Get the next period (per-CPU) */ 1584 1582 hrtimer_set_expires(&ts->sched_timer, tick_init_jiffy_update());
+2 -4
kernel/trace/trace_osnoise.c
··· 1899 1899 tlat->count = 0; 1900 1900 tlat->tracing_thread = false; 1901 1901 1902 - hrtimer_init(&tlat->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); 1903 - tlat->timer.function = timerlat_irq; 1902 + hrtimer_setup(&tlat->timer, timerlat_irq, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); 1904 1903 tlat->kthread = current; 1905 1904 osn_var->pid = current->pid; 1906 1905 /* ··· 2453 2454 tlat = this_cpu_tmr_var(); 2454 2455 tlat->count = 0; 2455 2456 2456 - hrtimer_init(&tlat->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); 2457 - tlat->timer.function = timerlat_irq; 2457 + hrtimer_setup(&tlat->timer, timerlat_irq, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); 2458 2458 2459 2459 migrate_enable(); 2460 2460 return 0;
+1 -2
kernel/watchdog.c
··· 795 795 * Start the timer first to prevent the hardlockup watchdog triggering 796 796 * before the timer has a chance to fire. 797 797 */ 798 - hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 799 - hrtimer->function = watchdog_timer_fn; 798 + hrtimer_setup(hrtimer, watchdog_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); 800 799 hrtimer_start(hrtimer, ns_to_ktime(sample_period), 801 800 HRTIMER_MODE_REL_PINNED_HARD); 802 801
+1 -2
lib/test_objpool.c
··· 190 190 return -ENOENT; 191 191 192 192 item->hrtcycle = ktime_set(0, hrtimer * 1000000UL); 193 - hrtimer_init(hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 194 - hrt->function = ot_hrtimer_handler; 193 + hrtimer_setup(hrt, ot_hrtimer_handler, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 195 194 return 0; 196 195 } 197 196
+2 -2
mm/slab_common.c
··· 1902 1902 &krcp->page_cache_work, 1903 1903 msecs_to_jiffies(rcu_delay_page_cache_fill_msec)); 1904 1904 } else { 1905 - hrtimer_init(&krcp->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 1906 - krcp->hrtimer.function = schedule_page_work_fn; 1905 + hrtimer_setup(&krcp->hrtimer, schedule_page_work_fn, CLOCK_MONOTONIC, 1906 + HRTIMER_MODE_REL); 1907 1907 hrtimer_start(&krcp->hrtimer, 0, HRTIMER_MODE_REL); 1908 1908 } 1909 1909 }
+8 -12
net/can/bcm.c
··· 1011 1011 op->ifindex = ifindex; 1012 1012 1013 1013 /* initialize uninitialized (kzalloc) structure */ 1014 - hrtimer_init(&op->timer, CLOCK_MONOTONIC, 1015 - HRTIMER_MODE_REL_SOFT); 1016 - op->timer.function = bcm_tx_timeout_handler; 1014 + hrtimer_setup(&op->timer, bcm_tx_timeout_handler, CLOCK_MONOTONIC, 1015 + HRTIMER_MODE_REL_SOFT); 1017 1016 1018 1017 /* currently unused in tx_ops */ 1019 - hrtimer_init(&op->thrtimer, CLOCK_MONOTONIC, 1020 - HRTIMER_MODE_REL_SOFT); 1018 + hrtimer_setup(&op->thrtimer, hrtimer_dummy_timeout, CLOCK_MONOTONIC, 1019 + HRTIMER_MODE_REL_SOFT); 1021 1020 1022 1021 /* add this bcm_op to the list of the tx_ops */ 1023 1022 list_add(&op->list, &bo->tx_ops); ··· 1191 1192 op->rx_ifindex = ifindex; 1192 1193 1193 1194 /* initialize uninitialized (kzalloc) structure */ 1194 - hrtimer_init(&op->timer, CLOCK_MONOTONIC, 1195 - HRTIMER_MODE_REL_SOFT); 1196 - op->timer.function = bcm_rx_timeout_handler; 1197 - 1198 - hrtimer_init(&op->thrtimer, CLOCK_MONOTONIC, 1199 - HRTIMER_MODE_REL_SOFT); 1200 - op->thrtimer.function = bcm_rx_thr_handler; 1195 + hrtimer_setup(&op->timer, bcm_rx_timeout_handler, CLOCK_MONOTONIC, 1196 + HRTIMER_MODE_REL_SOFT); 1197 + hrtimer_setup(&op->thrtimer, bcm_rx_thr_handler, CLOCK_MONOTONIC, 1198 + HRTIMER_MODE_REL_SOFT); 1201 1199 1202 1200 /* add this bcm_op to the list of the rx_ops */ 1203 1201 list_add(&op->list, &bo->rx_ops);
+4 -6
net/can/isotp.c
··· 1634 1634 so->rx.buflen = ARRAY_SIZE(so->rx.sbuf); 1635 1635 so->tx.buflen = ARRAY_SIZE(so->tx.sbuf); 1636 1636 1637 - hrtimer_init(&so->rxtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1638 - so->rxtimer.function = isotp_rx_timer_handler; 1639 - hrtimer_init(&so->txtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1640 - so->txtimer.function = isotp_tx_timer_handler; 1641 - hrtimer_init(&so->txfrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1642 - so->txfrtimer.function = isotp_txfr_timer_handler; 1637 + hrtimer_setup(&so->rxtimer, isotp_rx_timer_handler, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1638 + hrtimer_setup(&so->txtimer, isotp_tx_timer_handler, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1639 + hrtimer_setup(&so->txfrtimer, isotp_txfr_timer_handler, CLOCK_MONOTONIC, 1640 + HRTIMER_MODE_REL_SOFT); 1643 1641 1644 1642 init_waitqueue_head(&so->wait); 1645 1643 spin_lock_init(&so->rx_lock);
+2 -2
net/can/j1939/bus.c
··· 158 158 ecu->addr = J1939_IDLE_ADDR; 159 159 ecu->name = name; 160 160 161 - hrtimer_init(&ecu->ac_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 162 - ecu->ac_timer.function = j1939_ecu_timer_handler; 161 + hrtimer_setup(&ecu->ac_timer, j1939_ecu_timer_handler, CLOCK_MONOTONIC, 162 + HRTIMER_MODE_REL_SOFT); 163 163 INIT_LIST_HEAD(&ecu->list); 164 164 165 165 j1939_priv_get(priv);
+2 -6
net/can/j1939/transport.c
··· 1511 1511 skcb = j1939_skb_to_cb(skb); 1512 1512 memcpy(&session->skcb, skcb, sizeof(session->skcb)); 1513 1513 1514 - hrtimer_init(&session->txtimer, CLOCK_MONOTONIC, 1515 - HRTIMER_MODE_REL_SOFT); 1516 - session->txtimer.function = j1939_tp_txtimer; 1517 - hrtimer_init(&session->rxtimer, CLOCK_MONOTONIC, 1518 - HRTIMER_MODE_REL_SOFT); 1519 - session->rxtimer.function = j1939_tp_rxtimer; 1514 + hrtimer_setup(&session->txtimer, j1939_tp_txtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1515 + hrtimer_setup(&session->rxtimer, j1939_tp_rxtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); 1520 1516 1521 1517 netdev_dbg(priv->ndev, "%s: 0x%p: sa: %02x, da: %02x\n", 1522 1518 __func__, session, skcb->addr.sa, skcb->addr.da);
+1 -2
net/core/dev.c
··· 7016 7016 7017 7017 INIT_LIST_HEAD(&napi->poll_list); 7018 7018 INIT_HLIST_NODE(&napi->napi_hash_node); 7019 - hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); 7020 - napi->timer.function = napi_watchdog; 7019 + hrtimer_setup(&napi->timer, napi_watchdog, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); 7021 7020 init_gro_hash(napi); 7022 7021 napi->skb = NULL; 7023 7022 INIT_LIST_HEAD(&napi->rx_list);
+4 -6
net/ipv4/tcp_timer.c
··· 884 884 { 885 885 inet_csk_init_xmit_timers(sk, &tcp_write_timer, &tcp_delack_timer, 886 886 &tcp_keepalive_timer); 887 - hrtimer_init(&tcp_sk(sk)->pacing_timer, CLOCK_MONOTONIC, 888 - HRTIMER_MODE_ABS_PINNED_SOFT); 889 - tcp_sk(sk)->pacing_timer.function = tcp_pace_kick; 887 + hrtimer_setup(&tcp_sk(sk)->pacing_timer, tcp_pace_kick, CLOCK_MONOTONIC, 888 + HRTIMER_MODE_ABS_PINNED_SOFT); 890 889 891 - hrtimer_init(&tcp_sk(sk)->compressed_ack_timer, CLOCK_MONOTONIC, 892 - HRTIMER_MODE_REL_PINNED_SOFT); 893 - tcp_sk(sk)->compressed_ack_timer.function = tcp_compressed_ack_kick; 890 + hrtimer_setup(&tcp_sk(sk)->compressed_ack_timer, tcp_compressed_ack_kick, CLOCK_MONOTONIC, 891 + HRTIMER_MODE_REL_PINNED_SOFT); 894 892 }
+2 -2
net/mac802154/main.c
··· 213 213 goto out_wq; 214 214 } 215 215 216 - hrtimer_init(&local->ifs_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 217 - local->ifs_timer.function = ieee802154_xmit_ifs_timer; 216 + hrtimer_setup(&local->ifs_timer, ieee802154_xmit_ifs_timer, CLOCK_MONOTONIC, 217 + HRTIMER_MODE_REL); 218 218 219 219 wpan_phy_set_dev(local->phy, local->hw.parent); 220 220
+1 -2
net/sched/act_gate.c
··· 287 287 gact->param.tcfg_basetime = basetime; 288 288 gact->param.tcfg_clockid = clockid; 289 289 gact->tk_offset = tko; 290 - hrtimer_init(&gact->hitimer, clockid, HRTIMER_MODE_ABS_SOFT); 291 - gact->hitimer.function = gate_timer_func; 290 + hrtimer_setup(&gact->hitimer, gate_timer_func, clockid, HRTIMER_MODE_ABS_SOFT); 292 291 } 293 292 294 293 static int tcf_gate_init(struct net *net, struct nlattr *nla,
+1 -2
net/sched/sch_api.c
··· 619 619 void qdisc_watchdog_init_clockid(struct qdisc_watchdog *wd, struct Qdisc *qdisc, 620 620 clockid_t clockid) 621 621 { 622 - hrtimer_init(&wd->timer, clockid, HRTIMER_MODE_ABS_PINNED); 623 - wd->timer.function = qdisc_watchdog; 622 + hrtimer_setup(&wd->timer, qdisc_watchdog, clockid, HRTIMER_MODE_ABS_PINNED); 624 623 wd->qdisc = qdisc; 625 624 } 626 625 EXPORT_SYMBOL(qdisc_watchdog_init_clockid);
+2 -4
net/sched/sch_taprio.c
··· 1932 1932 if (!TXTIME_ASSIST_IS_ENABLED(q->flags) && 1933 1933 !FULL_OFFLOAD_IS_ENABLED(q->flags) && 1934 1934 !hrtimer_active(&q->advance_timer)) { 1935 - hrtimer_init(&q->advance_timer, q->clockid, HRTIMER_MODE_ABS); 1936 - q->advance_timer.function = advance_sched; 1935 + hrtimer_setup(&q->advance_timer, advance_sched, q->clockid, HRTIMER_MODE_ABS); 1937 1936 } 1938 1937 1939 1938 err = taprio_get_start_time(sch, new_admin, &start); ··· 2055 2056 2056 2057 spin_lock_init(&q->current_entry_lock); 2057 2058 2058 - hrtimer_init(&q->advance_timer, CLOCK_TAI, HRTIMER_MODE_ABS); 2059 - q->advance_timer.function = advance_sched; 2059 + hrtimer_setup(&q->advance_timer, advance_sched, CLOCK_TAI, HRTIMER_MODE_ABS); 2060 2060 2061 2061 q->root = sch; 2062 2062
+2 -4
net/xfrm/xfrm_iptfs.c
··· 2625 2625 struct xfrm_iptfs_data *xtfs) 2626 2626 { 2627 2627 __skb_queue_head_init(&xtfs->queue); 2628 - hrtimer_init(&xtfs->iptfs_timer, CLOCK_MONOTONIC, IPTFS_HRTIMER_MODE); 2629 - xtfs->iptfs_timer.function = iptfs_delay_timer; 2628 + hrtimer_setup(&xtfs->iptfs_timer, iptfs_delay_timer, CLOCK_MONOTONIC, IPTFS_HRTIMER_MODE); 2630 2629 2631 2630 spin_lock_init(&xtfs->drop_lock); 2632 - hrtimer_init(&xtfs->drop_timer, CLOCK_MONOTONIC, IPTFS_HRTIMER_MODE); 2633 - xtfs->drop_timer.function = iptfs_drop_timer; 2631 + hrtimer_setup(&xtfs->drop_timer, iptfs_drop_timer, CLOCK_MONOTONIC, IPTFS_HRTIMER_MODE); 2634 2632 2635 2633 /* Modify type (esp) adjustment values */ 2636 2634
+2 -2
net/xfrm/xfrm_state.c
··· 746 746 INIT_HLIST_NODE(&x->bysrc); 747 747 INIT_HLIST_NODE(&x->byspi); 748 748 INIT_HLIST_NODE(&x->byseq); 749 - hrtimer_init(&x->mtimer, CLOCK_BOOTTIME, HRTIMER_MODE_ABS_SOFT); 750 - x->mtimer.function = xfrm_timer_handler; 749 + hrtimer_setup(&x->mtimer, xfrm_timer_handler, CLOCK_BOOTTIME, 750 + HRTIMER_MODE_ABS_SOFT); 751 751 timer_setup(&x->rtimer, xfrm_replay_timer_handler, 0); 752 752 x->curlft.add_time = ktime_get_real_seconds(); 753 753 x->lft.soft_byte_limit = XFRM_INF;
+1 -2
sound/soc/fsl/imx-pcm-fiq.c
··· 185 185 186 186 atomic_set(&iprtd->playing, 0); 187 187 atomic_set(&iprtd->capturing, 0); 188 - hrtimer_init(&iprtd->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 189 - iprtd->hrt.function = snd_hrtimer_callback; 188 + hrtimer_setup(&iprtd->hrt, snd_hrtimer_callback, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 190 189 191 190 ret = snd_pcm_hw_constraint_integer(substream->runtime, 192 191 SNDRV_PCM_HW_PARAM_PERIODS);