]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Input: mms114 - use guard notation when acquiring mutex
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 16 Aug 2024 20:56:28 +0000 (13:56 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 25 Mar 2026 04:14:55 +0000 (21:14 -0700)
Guard notation simplifies code.

Also stop trying to check if input device is opened/in use in the
interrupt handler - the interrupt is disabled when device is closed or
suspended.

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

index 9f947044c4d9b46418d61e9134909afe8cbff508..af462086a65cad6a6ad639b0beee61feac6a8906 100644 (file)
@@ -216,20 +216,12 @@ static irqreturn_t mms114_interrupt(int irq, void *dev_id)
 {
        struct mms114_data *data = dev_id;
        struct i2c_client *client = data->client;
-       struct input_dev *input_dev = data->input_dev;
        struct mms114_touch touch[MMS114_MAX_TOUCH];
        int packet_size;
        int touch_size;
        int index;
        int error;
 
-       mutex_lock(&input_dev->mutex);
-       if (!input_device_enabled(input_dev)) {
-               mutex_unlock(&input_dev->mutex);
-               goto out;
-       }
-       mutex_unlock(&input_dev->mutex);
-
        packet_size = mms114_read_reg(data, MMS114_PACKET_SIZE);
        if (packet_size <= 0)
                goto out;
@@ -646,10 +638,10 @@ static int mms114_suspend(struct device *dev)
        input_mt_report_pointer_emulation(input_dev, true);
        input_sync(input_dev);
 
-       mutex_lock(&input_dev->mutex);
+       guard(mutex)(&input_dev->mutex);
+
        if (input_device_enabled(input_dev))
                mms114_stop(data);
-       mutex_unlock(&input_dev->mutex);
 
        return 0;
 }
@@ -661,15 +653,13 @@ static int mms114_resume(struct device *dev)
        struct input_dev *input_dev = data->input_dev;
        int error;
 
-       mutex_lock(&input_dev->mutex);
+       guard(mutex)(&input_dev->mutex);
+
        if (input_device_enabled(input_dev)) {
                error = mms114_start(data);
-               if (error < 0) {
-                       mutex_unlock(&input_dev->mutex);
+               if (error)
                        return error;
-               }
        }
-       mutex_unlock(&input_dev->mutex);
 
        return 0;
 }