On 28/10/2024 08:34, Nam Cao wrote:
> There is a newly introduced hrtimer_setup() which will replace
> hrtimer_init(). This new function is similar to the old one, except that it
> also sanity-checks and initializes the timer's callback function.
>
> Switch to use this new function.
>
> Patch was created by using Coccinelle.
>
> Signed-off-by: Nam Cao <namcao@linutronix.de>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Regards,
Hans
> ---
> Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> ---
> drivers/media/cec/core/cec-pin.c | 3 +--
> drivers/media/pci/cx88/cx88-input.c | 3 +--
> drivers/media/platform/chips-media/wave5/wave5-vpu.c | 4 ++--
> drivers/media/rc/pwm-ir-tx.c | 3 +--
> 4 files changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/media/cec/core/cec-pin.c b/drivers/media/cec/core/cec-pin.c
> index 330d5d5d86ab..fe1cf365a25c 100644
> --- a/drivers/media/cec/core/cec-pin.c
> +++ b/drivers/media/cec/core/cec-pin.c
> @@ -1345,9 +1345,8 @@ struct cec_adapter *cec_pin_allocate_adapter(const struct cec_pin_ops *pin_ops,
> if (pin == NULL)
> return ERR_PTR(-ENOMEM);
> pin->ops = pin_ops;
> - hrtimer_init(&pin->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
> atomic_set(&pin->work_pin_num_events, 0);
> - pin->timer.function = cec_pin_timer;
> + hrtimer_setup(&pin->timer, cec_pin_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
> init_waitqueue_head(&pin->kthread_waitq);
> pin->tx_custom_low_usecs = CEC_TIM_CUSTOM_DEFAULT;
> pin->tx_custom_high_usecs = CEC_TIM_CUSTOM_DEFAULT;
> diff --git a/drivers/media/pci/cx88/cx88-input.c b/drivers/media/pci/cx88/cx88-input.c
> index a04a1d33fadb..b9f2c14d62b4 100644
> --- a/drivers/media/pci/cx88/cx88-input.c
> +++ b/drivers/media/pci/cx88/cx88-input.c
> @@ -190,8 +190,7 @@ static int __cx88_ir_start(void *priv)
> ir = core->ir;
>
> if (ir->polling) {
> - hrtimer_init(&ir->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
> - ir->timer.function = cx88_ir_work;
> + hrtimer_setup(&ir->timer, cx88_ir_work, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
> hrtimer_start(&ir->timer,
> ktime_set(0, ir->polling * 1000000),
> HRTIMER_MODE_REL);
> diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu.c b/drivers/media/platform/chips-media/wave5/wave5-vpu.c
> index 7273254ecb03..d7795d7f8a35 100644
> --- a/drivers/media/platform/chips-media/wave5/wave5-vpu.c
> +++ b/drivers/media/platform/chips-media/wave5/wave5-vpu.c
> @@ -229,8 +229,8 @@ static int wave5_vpu_probe(struct platform_device *pdev)
> dev->irq = platform_get_irq(pdev, 0);
> if (dev->irq < 0) {
> dev_err(&pdev->dev, "failed to get irq resource, falling back to polling\n");
> - hrtimer_init(&dev->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
> - dev->hrtimer.function = &wave5_vpu_timer_callback;
> + hrtimer_setup(&dev->hrtimer, &wave5_vpu_timer_callback, CLOCK_MONOTONIC,
> + HRTIMER_MODE_REL_PINNED);
> dev->worker = kthread_create_worker(0, "vpu_irq_thread");
> if (IS_ERR(dev->worker)) {
> dev_err(&pdev->dev, "failed to create vpu irq worker\n");
> diff --git a/drivers/media/rc/pwm-ir-tx.c b/drivers/media/rc/pwm-ir-tx.c
> index fe368aebbc13..84533fdd61aa 100644
> --- a/drivers/media/rc/pwm-ir-tx.c
> +++ b/drivers/media/rc/pwm-ir-tx.c
> @@ -172,8 +172,7 @@ static int pwm_ir_probe(struct platform_device *pdev)
> rcdev->tx_ir = pwm_ir_tx_sleep;
> } else {
> init_completion(&pwm_ir->tx_done);
> - hrtimer_init(&pwm_ir->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
> - pwm_ir->timer.function = pwm_ir_timer;
> + hrtimer_setup(&pwm_ir->timer, pwm_ir_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
> rcdev->tx_ir = pwm_ir_tx_atomic;
> }
>