summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2024-06-30 19:26:14 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2026-03-24 21:14:24 -0700
commit6e9b9192d69d5d206afc502a06569a1650e41ef0 (patch)
tree856df1920d9266b4c1bd841715b26a0915d9316f
parentdf2e75e070a82fc02eac99743d0823972da293b1 (diff)
Input: eeti_ts - use guard notation when acquiring mutexes
This makes the code more compact and error handling more robust. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--drivers/input/touchscreen/eeti_ts.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/drivers/input/touchscreen/eeti_ts.c b/drivers/input/touchscreen/eeti_ts.c
index 87eb18977b71..492e19a28a74 100644
--- a/drivers/input/touchscreen/eeti_ts.c
+++ b/drivers/input/touchscreen/eeti_ts.c
@@ -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;
}