@@ -41,7 +41,7 @@ struct gpio_rcar_info {
41
41
42
42
struct gpio_rcar_priv {
43
43
void __iomem * base ;
44
- spinlock_t lock ;
44
+ raw_spinlock_t lock ;
45
45
struct device * dev ;
46
46
struct gpio_chip gpio_chip ;
47
47
struct irq_chip irq_chip ;
@@ -121,7 +121,7 @@ static void gpio_rcar_config_interrupt_input_mode(struct gpio_rcar_priv *p,
121
121
* "Setting Level-Sensitive Interrupt Input Mode"
122
122
*/
123
123
124
- spin_lock_irqsave (& p -> lock , flags );
124
+ raw_spin_lock_irqsave (& p -> lock , flags );
125
125
126
126
/* Configure positive or negative logic in POSNEG */
127
127
gpio_rcar_modify_bit (p , POSNEG , hwirq , !active_high_rising_edge );
@@ -140,7 +140,7 @@ static void gpio_rcar_config_interrupt_input_mode(struct gpio_rcar_priv *p,
140
140
if (!level_trigger )
141
141
gpio_rcar_write (p , INTCLR , BIT (hwirq ));
142
142
143
- spin_unlock_irqrestore (& p -> lock , flags );
143
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
144
144
}
145
145
146
146
static int gpio_rcar_irq_set_type (struct irq_data * d , unsigned int type )
@@ -233,7 +233,7 @@ static void gpio_rcar_config_general_input_output_mode(struct gpio_chip *chip,
233
233
* "Setting General Input Mode"
234
234
*/
235
235
236
- spin_lock_irqsave (& p -> lock , flags );
236
+ raw_spin_lock_irqsave (& p -> lock , flags );
237
237
238
238
/* Configure positive logic in POSNEG */
239
239
gpio_rcar_modify_bit (p , POSNEG , gpio , false);
@@ -248,7 +248,7 @@ static void gpio_rcar_config_general_input_output_mode(struct gpio_chip *chip,
248
248
if (p -> info .has_outdtsel && output )
249
249
gpio_rcar_modify_bit (p , OUTDTSEL , gpio , false);
250
250
251
- spin_unlock_irqrestore (& p -> lock , flags );
251
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
252
252
}
253
253
254
254
static int gpio_rcar_request (struct gpio_chip * chip , unsigned offset )
@@ -334,7 +334,7 @@ static int gpio_rcar_get_multiple(struct gpio_chip *chip, unsigned long *mask,
334
334
return 0 ;
335
335
}
336
336
337
- spin_lock_irqsave (& p -> lock , flags );
337
+ raw_spin_lock_irqsave (& p -> lock , flags );
338
338
outputs = gpio_rcar_read (p , INOUTSEL );
339
339
m = outputs & bankmask ;
340
340
if (m )
@@ -343,7 +343,7 @@ static int gpio_rcar_get_multiple(struct gpio_chip *chip, unsigned long *mask,
343
343
m = ~outputs & bankmask ;
344
344
if (m )
345
345
val |= gpio_rcar_read (p , INDT ) & m ;
346
- spin_unlock_irqrestore (& p -> lock , flags );
346
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
347
347
348
348
bits [0 ] = val ;
349
349
return 0 ;
@@ -354,9 +354,9 @@ static void gpio_rcar_set(struct gpio_chip *chip, unsigned offset, int value)
354
354
struct gpio_rcar_priv * p = gpiochip_get_data (chip );
355
355
unsigned long flags ;
356
356
357
- spin_lock_irqsave (& p -> lock , flags );
357
+ raw_spin_lock_irqsave (& p -> lock , flags );
358
358
gpio_rcar_modify_bit (p , OUTDT , offset , value );
359
- spin_unlock_irqrestore (& p -> lock , flags );
359
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
360
360
}
361
361
362
362
static void gpio_rcar_set_multiple (struct gpio_chip * chip , unsigned long * mask ,
@@ -373,12 +373,12 @@ static void gpio_rcar_set_multiple(struct gpio_chip *chip, unsigned long *mask,
373
373
if (!bankmask )
374
374
return ;
375
375
376
- spin_lock_irqsave (& p -> lock , flags );
376
+ raw_spin_lock_irqsave (& p -> lock , flags );
377
377
val = gpio_rcar_read (p , OUTDT );
378
378
val &= ~bankmask ;
379
379
val |= (bankmask & bits [0 ]);
380
380
gpio_rcar_write (p , OUTDT , val );
381
- spin_unlock_irqrestore (& p -> lock , flags );
381
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
382
382
}
383
383
384
384
static int gpio_rcar_direction_output (struct gpio_chip * chip , unsigned offset ,
@@ -491,7 +491,7 @@ static int gpio_rcar_probe(struct platform_device *pdev)
491
491
return - ENOMEM ;
492
492
493
493
p -> dev = dev ;
494
- spin_lock_init (& p -> lock );
494
+ raw_spin_lock_init (& p -> lock );
495
495
496
496
/* Get device configuration from DT node */
497
497
ret = gpio_rcar_parse_dt (p , & npins );
0 commit comments