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>
@@ -220,7 +221,6 @@ static int tng_pinmux_set_mux(struct pinctrl_dev *pctldev,
220
221
const struct intel_pingroup * grp = & tp -> groups [group ];
221
222
u32 bits = grp -> mode << BUFCFG_PINMODE_SHIFT ;
222
223
u32 mask = BUFCFG_PINMODE_MASK ;
223
- unsigned long flags ;
224
224
unsigned int i ;
225
225
226
226
/*
@@ -232,11 +232,11 @@ static int tng_pinmux_set_mux(struct pinctrl_dev *pctldev,
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,14 +248,13 @@ static int tng_gpio_request_enable(struct pinctrl_dev *pctldev,
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
}
@@ -360,7 +359,6 @@ static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
360
359
unsigned int param = pinconf_to_config_param (config );
361
360
unsigned int arg = pinconf_to_config_argument (config );
362
361
u32 mask , term , value = 0 ;
363
- unsigned long flags ;
364
362
365
363
switch (param ) {
366
364
case PIN_CONFIG_BIAS_DISABLE :
@@ -432,9 +430,9 @@ static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
432
430
return - EINVAL ;
433
431
}
434
432
435
- raw_spin_lock_irqsave (& tp -> lock , flags );
433
+ guard (raw_spinlock_irqsave )(& tp -> lock );
434
+
436
435
tng_update_bufcfg (tp , pin , value , mask );
437
- raw_spin_unlock_irqrestore (& tp -> lock , flags );
438
436
439
437
return 0 ;
440
438
}
0 commit comments