@@ -40,7 +40,7 @@ struct gpio_rcar_info {
40
40
41
41
struct gpio_rcar_priv {
42
42
void __iomem * base ;
43
- spinlock_t lock ;
43
+ raw_spinlock_t lock ;
44
44
struct device * dev ;
45
45
struct gpio_chip gpio_chip ;
46
46
unsigned int irq_parent ;
@@ -123,7 +123,7 @@ static void gpio_rcar_config_interrupt_input_mode(struct gpio_rcar_priv *p,
123
123
* "Setting Level-Sensitive Interrupt Input Mode"
124
124
*/
125
125
126
- spin_lock_irqsave (& p -> lock , flags );
126
+ raw_spin_lock_irqsave (& p -> lock , flags );
127
127
128
128
/* Configure positive or negative logic in POSNEG */
129
129
gpio_rcar_modify_bit (p , POSNEG , hwirq , !active_high_rising_edge );
@@ -142,7 +142,7 @@ static void gpio_rcar_config_interrupt_input_mode(struct gpio_rcar_priv *p,
142
142
if (!level_trigger )
143
143
gpio_rcar_write (p , INTCLR , BIT (hwirq ));
144
144
145
- spin_unlock_irqrestore (& p -> lock , flags );
145
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
146
146
}
147
147
148
148
static int gpio_rcar_irq_set_type (struct irq_data * d , unsigned int type )
@@ -246,7 +246,7 @@ static void gpio_rcar_config_general_input_output_mode(struct gpio_chip *chip,
246
246
* "Setting General Input Mode"
247
247
*/
248
248
249
- spin_lock_irqsave (& p -> lock , flags );
249
+ raw_spin_lock_irqsave (& p -> lock , flags );
250
250
251
251
/* Configure positive logic in POSNEG */
252
252
gpio_rcar_modify_bit (p , POSNEG , gpio , false);
@@ -261,7 +261,7 @@ static void gpio_rcar_config_general_input_output_mode(struct gpio_chip *chip,
261
261
if (p -> info .has_outdtsel && output )
262
262
gpio_rcar_modify_bit (p , OUTDTSEL , gpio , false);
263
263
264
- spin_unlock_irqrestore (& p -> lock , flags );
264
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
265
265
}
266
266
267
267
static int gpio_rcar_request (struct gpio_chip * chip , unsigned offset )
@@ -347,7 +347,7 @@ static int gpio_rcar_get_multiple(struct gpio_chip *chip, unsigned long *mask,
347
347
return 0 ;
348
348
}
349
349
350
- spin_lock_irqsave (& p -> lock , flags );
350
+ raw_spin_lock_irqsave (& p -> lock , flags );
351
351
outputs = gpio_rcar_read (p , INOUTSEL );
352
352
m = outputs & bankmask ;
353
353
if (m )
@@ -356,7 +356,7 @@ static int gpio_rcar_get_multiple(struct gpio_chip *chip, unsigned long *mask,
356
356
m = ~outputs & bankmask ;
357
357
if (m )
358
358
val |= gpio_rcar_read (p , INDT ) & m ;
359
- spin_unlock_irqrestore (& p -> lock , flags );
359
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
360
360
361
361
bits [0 ] = val ;
362
362
return 0 ;
@@ -367,9 +367,9 @@ static void gpio_rcar_set(struct gpio_chip *chip, unsigned offset, int value)
367
367
struct gpio_rcar_priv * p = gpiochip_get_data (chip );
368
368
unsigned long flags ;
369
369
370
- spin_lock_irqsave (& p -> lock , flags );
370
+ raw_spin_lock_irqsave (& p -> lock , flags );
371
371
gpio_rcar_modify_bit (p , OUTDT , offset , value );
372
- spin_unlock_irqrestore (& p -> lock , flags );
372
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
373
373
}
374
374
375
375
static void gpio_rcar_set_multiple (struct gpio_chip * chip , unsigned long * mask ,
@@ -386,12 +386,12 @@ static void gpio_rcar_set_multiple(struct gpio_chip *chip, unsigned long *mask,
386
386
if (!bankmask )
387
387
return ;
388
388
389
- spin_lock_irqsave (& p -> lock , flags );
389
+ raw_spin_lock_irqsave (& p -> lock , flags );
390
390
val = gpio_rcar_read (p , OUTDT );
391
391
val &= ~bankmask ;
392
392
val |= (bankmask & bits [0 ]);
393
393
gpio_rcar_write (p , OUTDT , val );
394
- spin_unlock_irqrestore (& p -> lock , flags );
394
+ raw_spin_unlock_irqrestore (& p -> lock , flags );
395
395
}
396
396
397
397
static int gpio_rcar_direction_output (struct gpio_chip * chip , unsigned offset ,
@@ -505,7 +505,7 @@ static int gpio_rcar_probe(struct platform_device *pdev)
505
505
return - ENOMEM ;
506
506
507
507
p -> dev = dev ;
508
- spin_lock_init (& p -> lock );
508
+ raw_spin_lock_init (& p -> lock );
509
509
510
510
/* Get device configuration from DT node */
511
511
ret = gpio_rcar_parse_dt (p , & npins );
0 commit comments