Input: ff-memless - convert locking to guard notation
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 7 Nov 2024 07:15:30 +0000 (23:15 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 24 Dec 2024 06:53:44 +0000 (22:53 -0800)
Use guard() notation instead of explicitly acquiring and releasing
spinlocks to simplify the code and ensure that all locks are released.

Link: https://lore.kernel.org/r/20241107071538.195340-4-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/ff-memless.c

index c321cdabd21418dc7bdc21b071e6e4da8009afb7..ec99c070a97ce5153bf33608bb570527f2d713da 100644 (file)
@@ -401,13 +401,11 @@ static void ml_effect_timer(struct timer_list *t)
 {
        struct ml_device *ml = from_timer(ml, t, timer);
        struct input_dev *dev = ml->dev;
-       unsigned long flags;
 
        pr_debug("timer: updating effects\n");
 
-       spin_lock_irqsave(&dev->event_lock, flags);
+       guard(spinlock_irqsave)(&dev->event_lock);
        ml_play_effects(ml);
-       spin_unlock_irqrestore(&dev->event_lock, flags);
 }
 
 /*
@@ -465,7 +463,7 @@ static int ml_ff_upload(struct input_dev *dev,
        struct ml_device *ml = dev->ff->private;
        struct ml_effect_state *state = &ml->states[effect->id];
 
-       spin_lock_irq(&dev->event_lock);
+       guard(spinlock_irq)(&dev->event_lock);
 
        if (test_bit(FF_EFFECT_STARTED, &state->flags)) {
                __clear_bit(FF_EFFECT_PLAYING, &state->flags);
@@ -477,8 +475,6 @@ static int ml_ff_upload(struct input_dev *dev,
                ml_schedule_timer(ml);
        }
 
-       spin_unlock_irq(&dev->event_lock);
-
        return 0;
 }