Input: pmic8xxx-keypad - use guard notation when acquiring mutex
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 25 Aug 2024 05:16:17 +0000 (22:16 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 3 Oct 2024 15:58:57 +0000 (08:58 -0700)
This makes the code more compact and error handling more robust
by ensuring that mutexes are released in all code paths when control
leaves critical section.

Link: https://lore.kernel.org/r/20240825051627.2848495-14-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/pmic8xxx-keypad.c

index 26a005f..35d1aa2 100644 (file)
@@ -630,12 +630,10 @@ static int pmic8xxx_kp_suspend(struct device *dev)
        if (device_may_wakeup(dev)) {
                enable_irq_wake(kp->key_sense_irq);
        } else {
-               mutex_lock(&input_dev->mutex);
+               guard(mutex)(&input_dev->mutex);
 
                if (input_device_enabled(input_dev))
                        pmic8xxx_kp_disable(kp);
-
-               mutex_unlock(&input_dev->mutex);
        }
 
        return 0;
@@ -650,12 +648,10 @@ static int pmic8xxx_kp_resume(struct device *dev)
        if (device_may_wakeup(dev)) {
                disable_irq_wake(kp->key_sense_irq);
        } else {
-               mutex_lock(&input_dev->mutex);
+               guard(mutex)(&input_dev->mutex);
 
                if (input_device_enabled(input_dev))
                        pmic8xxx_kp_enable(kp);
-
-               mutex_unlock(&input_dev->mutex);
        }
 
        return 0;