]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Input: eeti_ts - use guard notation when acquiring mutexes
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 1 Jul 2024 02:26:14 +0000 (19:26 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 25 Mar 2026 04:14:24 +0000 (21:14 -0700)
This makes the code more compact and error handling more robust.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/eeti_ts.c

index 87eb18977b71a0b0d6b66652e6fc010f84667ab0..492e19a28a748fe0a02d1946e6e9bb3d22fdc2ef 100644 (file)
@@ -89,7 +89,7 @@ static irqreturn_t eeti_ts_isr(int irq, void *dev_id)
        struct eeti_ts *eeti = dev_id;
        int error;
 
-       mutex_lock(&eeti->mutex);
+       guard(mutex)(&eeti->mutex);
 
        do {
                /*
@@ -109,13 +109,12 @@ static irqreturn_t eeti_ts_isr(int irq, void *dev_id)
 
        } while (eeti->running && eeti->attn_gpio);
 
-       mutex_unlock(&eeti->mutex);
        return IRQ_HANDLED;
 }
 
 static void eeti_ts_start(struct eeti_ts *eeti)
 {
-       mutex_lock(&eeti->mutex);
+       guard(mutex)(&eeti->mutex);
 
        eeti->running = true;
        enable_irq(eeti->client->irq);
@@ -127,8 +126,6 @@ static void eeti_ts_start(struct eeti_ts *eeti)
         */
        if (eeti->attn_gpio && gpiod_get_value_cansleep(eeti->attn_gpio))
                eeti_ts_read(eeti);
-
-       mutex_unlock(&eeti->mutex);
 }
 
 static void eeti_ts_stop(struct eeti_ts *eeti)
@@ -238,12 +235,10 @@ static int eeti_ts_suspend(struct device *dev)
        struct eeti_ts *eeti = i2c_get_clientdata(client);
        struct input_dev *input_dev = eeti->input;
 
-       mutex_lock(&input_dev->mutex);
-
-       if (input_device_enabled(input_dev))
-               eeti_ts_stop(eeti);
-
-       mutex_unlock(&input_dev->mutex);
+       scoped_guard(mutex, &input_dev->mutex) {
+               if (input_device_enabled(input_dev))
+                       eeti_ts_stop(eeti);
+       }
 
        if (device_may_wakeup(&client->dev))
                enable_irq_wake(client->irq);
@@ -260,12 +255,10 @@ static int eeti_ts_resume(struct device *dev)
        if (device_may_wakeup(&client->dev))
                disable_irq_wake(client->irq);
 
-       mutex_lock(&input_dev->mutex);
-
-       if (input_device_enabled(input_dev))
-               eeti_ts_start(eeti);
-
-       mutex_unlock(&input_dev->mutex);
+       scoped_guard(mutex, &input_dev->mutex) {
+               if (input_device_enabled(input_dev))
+                       eeti_ts_start(eeti);
+       }
 
        return 0;
 }