Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: tangier: simplify locking using cleanup helpers

Use lock guards from cleanup.h to simplify locking.

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

authored by

Raag Jadav and committed by
Andy Shevchenko
228fe713 e58e519b

+7 -9
+7 -9
drivers/pinctrl/intel/pinctrl-tangier.c
··· 9 9 */ 10 10 11 11 #include <linux/bits.h> 12 + #include <linux/cleanup.h> 12 13 #include <linux/device.h> 13 14 #include <linux/err.h> 14 15 #include <linux/errno.h> ··· 221 220 const struct intel_pingroup *grp = &tp->groups[group]; 222 221 u32 bits = grp->mode << BUFCFG_PINMODE_SHIFT; 223 222 u32 mask = BUFCFG_PINMODE_MASK; 224 - unsigned long flags; 225 223 unsigned int i; 226 224 227 225 /* ··· 232 232 return -EBUSY; 233 233 } 234 234 235 + guard(raw_spinlock_irqsave)(&tp->lock); 236 + 235 237 /* Now enable the mux setting for each pin in the group */ 236 - raw_spin_lock_irqsave(&tp->lock, flags); 237 238 for (i = 0; i < grp->grp.npins; i++) 238 239 tng_update_bufcfg(tp, grp->grp.pins[i], bits, mask); 239 - raw_spin_unlock_irqrestore(&tp->lock, flags); 240 240 241 241 return 0; 242 242 } ··· 248 248 struct tng_pinctrl *tp = pinctrl_dev_get_drvdata(pctldev); 249 249 u32 bits = BUFCFG_PINMODE_GPIO << BUFCFG_PINMODE_SHIFT; 250 250 u32 mask = BUFCFG_PINMODE_MASK; 251 - unsigned long flags; 252 251 253 252 if (!tng_buf_available(tp, pin)) 254 253 return -EBUSY; 255 254 256 - raw_spin_lock_irqsave(&tp->lock, flags); 255 + guard(raw_spinlock_irqsave)(&tp->lock); 256 + 257 257 tng_update_bufcfg(tp, pin, bits, mask); 258 - raw_spin_unlock_irqrestore(&tp->lock, flags); 259 258 260 259 return 0; 261 260 } ··· 359 360 unsigned int param = pinconf_to_config_param(config); 360 361 unsigned int arg = pinconf_to_config_argument(config); 361 362 u32 mask, term, value = 0; 362 - unsigned long flags; 363 363 364 364 switch (param) { 365 365 case PIN_CONFIG_BIAS_DISABLE: ··· 430 432 return -EINVAL; 431 433 } 432 434 433 - raw_spin_lock_irqsave(&tp->lock, flags); 435 + guard(raw_spinlock_irqsave)(&tp->lock); 436 + 434 437 tng_update_bufcfg(tp, pin, value, mask); 435 - raw_spin_unlock_irqrestore(&tp->lock, flags); 436 438 437 439 return 0; 438 440 }