summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2024-08-18 04:58:22 +0300
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2026-03-25 07:14:50 +0300
commitd2862b87add9966bc23af73a033f27a296bdbb55 (patch)
tree04c1f00b76216e90565a1919f23bd6d29e9d9957
parentded32cc611ef48a47d1ff6d424151e3d0c82a3a8 (diff)
downloadlinux-d2862b87add9966bc23af73a033f27a296bdbb55.tar.xz
Input: imagis - use guard notation when acquiring mutex
Guard notation simplifies code. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--drivers/input/touchscreen/imagis.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/drivers/input/touchscreen/imagis.c b/drivers/input/touchscreen/imagis.c
index 3c8bbe284b73..7bbb00beec3b 100644
--- a/drivers/input/touchscreen/imagis.c
+++ b/drivers/input/touchscreen/imagis.c
@@ -366,32 +366,34 @@ static int imagis_suspend(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct imagis_ts *ts = i2c_get_clientdata(client);
- int retval = 0;
-
- mutex_lock(&ts->input_dev->mutex);
+ int error;
- if (input_device_enabled(ts->input_dev))
- retval = imagis_stop(ts);
+ guard(mutex)(&ts->input_dev->mutex);
- mutex_unlock(&ts->input_dev->mutex);
+ if (input_device_enabled(ts->input_dev)) {
+ error = imagis_stop(ts);
+ if (error)
+ return error;
+ }
- return retval;
+ return 0;
}
static int imagis_resume(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct imagis_ts *ts = i2c_get_clientdata(client);
- int retval = 0;
-
- mutex_lock(&ts->input_dev->mutex);
+ int error;
- if (input_device_enabled(ts->input_dev))
- retval = imagis_start(ts);
+ guard(mutex)(&ts->input_dev->mutex);
- mutex_unlock(&ts->input_dev->mutex);
+ if (input_device_enabled(ts->input_dev)) {
+ error = imagis_start(ts);
+ if (error)
+ return error;
+ }
- return retval;
+ return 0;
}
static DEFINE_SIMPLE_DEV_PM_OPS(imagis_pm_ops, imagis_suspend, imagis_resume);