Skip to contentSkip to conversation

Input: locomokbd - use guard notation when acquiring spinlock

PATCH New Dmitry Torokhov 1 participant 1 message Oct 25, 2024

Subsystems (2)
lore
Share & tools
lore

Dmitry Torokhov

author maintainer
#0 lore raw

PATCH 1/1 Input: locomokbd - use guard notation when acquiring spinlock

Using guard notation makes the code more compact and error handling more robust by ensuring that locks are released in all code paths when control leaves critical section.

---
 drivers/input/keyboard/locomokbd.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
drivers/input/keyboard/locomokbd.c +1 -4
index 4b0f8323c492..c501a93a4417 100644
@@ -112,11 +112,10 @@ static inline void locomokbd_reset_col(unsigned long membase, int col)
 static void locomokbd_scankeyboard(struct locomokbd *locomokbd)
 {
 	unsigned int row, col, rowd;
-	unsigned long flags;
 	unsigned int num_pressed;
 	unsigned long membase = locomokbd->base;
 
-	spin_lock_irqsave(&locomokbd->lock, flags);
+	guard(spinlock_irqsave)(&locomokbd->lock);
 
 	locomokbd_charge_all(membase);
 
@@ -167,8 +166,6 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd)
 		mod_timer(&locomokbd->timer, jiffies + SCAN_INTERVAL);
 	else
 		locomokbd->count_cancel = 0;
-
-	spin_unlock_irqrestore(&locomokbd->lock, flags);
 }
 
 /*
Signature · 5 lines
2.47.0.163.g1226f6d8fa-goog


-- 
Dmitry