summaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/ili210x.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2024-06-10 02:47:55 +0300
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2024-06-29 01:15:20 +0300
commit7c459517252ebbad515a0b6f972454962ca549e2 (patch)
tree396959937b2239f01034b1a7db229ecb14ee6c6a /drivers/input/touchscreen/ili210x.c
parentac7e0839daf19a125c4d8f26a102868770cfd48f (diff)
downloadlinux-7c459517252ebbad515a0b6f972454962ca549e2.tar.xz
Input: ili210x - use guard notation when disabling and reenabling IRQ
This makes the code more compact and error handling more robust. Link: https://lore.kernel.org/r/20240609234757.610273-3-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/touchscreen/ili210x.c')
-rw-r--r--drivers/input/touchscreen/ili210x.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c
index d0713a27ad6a..b6d0c1463595 100644
--- a/drivers/input/touchscreen/ili210x.c
+++ b/drivers/input/touchscreen/ili210x.c
@@ -860,19 +860,17 @@ static ssize_t ili210x_firmware_update_store(struct device *dev,
* the touch controller to disable the IRQs during update, so we have
* to do it this way here.
*/
- disable_irq(client->irq);
+ scoped_guard(disable_irq, &client->irq) {
+ dev_dbg(dev, "Firmware update started, firmware=%s\n", fwname);
- dev_dbg(dev, "Firmware update started, firmware=%s\n", fwname);
+ ili210x_hardware_reset(priv->reset_gpio);
- ili210x_hardware_reset(priv->reset_gpio);
+ error = ili210x_do_firmware_update(priv, fwbuf, ac_end, df_end);
- error = ili210x_do_firmware_update(priv, fwbuf, ac_end, df_end);
+ ili210x_hardware_reset(priv->reset_gpio);
- ili210x_hardware_reset(priv->reset_gpio);
-
- dev_dbg(dev, "Firmware update ended, error=%i\n", error);
-
- enable_irq(client->irq);
+ dev_dbg(dev, "Firmware update ended, error=%i\n", error);
+ }
return error ?: count;
}