btrfs: fix race between quota disable and quota assign ioctls
[platform/kernel/linux-rpi.git] / drivers / gpio / gpio-amdpt.c
index 4439899..dba4836 100644 (file)
@@ -35,19 +35,19 @@ static int pt_gpio_request(struct gpio_chip *gc, unsigned offset)
 
        dev_dbg(gc->parent, "pt_gpio_request offset=%x\n", offset);
 
-       spin_lock_irqsave(&gc->bgpio_lock, flags);
+       raw_spin_lock_irqsave(&gc->bgpio_lock, flags);
 
        using_pins = readl(pt_gpio->reg_base + PT_SYNC_REG);
        if (using_pins & BIT(offset)) {
                dev_warn(gc->parent, "PT GPIO pin %x reconfigured\n",
                         offset);
-               spin_unlock_irqrestore(&gc->bgpio_lock, flags);
+               raw_spin_unlock_irqrestore(&gc->bgpio_lock, flags);
                return -EINVAL;
        }
 
        writel(using_pins | BIT(offset), pt_gpio->reg_base + PT_SYNC_REG);
 
-       spin_unlock_irqrestore(&gc->bgpio_lock, flags);
+       raw_spin_unlock_irqrestore(&gc->bgpio_lock, flags);
 
        return 0;
 }
@@ -58,13 +58,13 @@ static void pt_gpio_free(struct gpio_chip *gc, unsigned offset)
        unsigned long flags;
        u32 using_pins;
 
-       spin_lock_irqsave(&gc->bgpio_lock, flags);
+       raw_spin_lock_irqsave(&gc->bgpio_lock, flags);
 
        using_pins = readl(pt_gpio->reg_base + PT_SYNC_REG);
        using_pins &= ~BIT(offset);
        writel(using_pins, pt_gpio->reg_base + PT_SYNC_REG);
 
-       spin_unlock_irqrestore(&gc->bgpio_lock, flags);
+       raw_spin_unlock_irqrestore(&gc->bgpio_lock, flags);
 
        dev_dbg(gc->parent, "pt_gpio_free offset=%x\n", offset);
 }