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