[PATCH 3/3] Input: ili210x - use guard notation when disabling and reenabling IRQ

From: Dmitry Torokhov
Date: Sun Jun 09 2024 - 19:48:23 EST


This makes the code more compact and error handling more robust.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
---
drivers/input/touchscreen/ili210x.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c
index 55f3852c8dae..4573844c3395 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;
}
--
2.45.2.505.gda0bf45e8d-goog