pinctrl: samsung: use raw_spinlock for s3c64xx
authorChanho Park <chanho61.park@samsung.com>
Wed, 27 Jan 2021 00:16:31 +0000 (09:16 +0900)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 27 Jan 2021 08:12:12 +0000 (09:12 +0100)
Convert spin_[lock|unlock] functions of pin bank to
raw_spinlock to support preempt-rt for pinctrl-s3c64xx. Below patch
converted spinlock_t to raw_spinlock_t but it didn't convert the
s3c64xx's spinlock.

Fixes: 1f306ecbe0f6 ("pinctrl: samsung: use raw_spinlock for locking")
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Link: https://lore.kernel.org/r/20210127001631.91209-1-chanho61.park@samsung.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/samsung/pinctrl-s3c64xx.c

index b8166e3..53e2a64 100644 (file)
@@ -286,14 +286,14 @@ static void s3c64xx_irq_set_function(struct samsung_pinctrl_drv_data *d,
        shift = shift * bank_type->fld_width[PINCFG_TYPE_FUNC];
        mask = (1 << bank_type->fld_width[PINCFG_TYPE_FUNC]) - 1;
 
-       spin_lock_irqsave(&bank->slock, flags);
+       raw_spin_lock_irqsave(&bank->slock, flags);
 
        val = readl(reg);
        val &= ~(mask << shift);
        val |= bank->eint_func << shift;
        writel(val, reg);
 
-       spin_unlock_irqrestore(&bank->slock, flags);
+       raw_spin_unlock_irqrestore(&bank->slock, flags);
 }
 
 /*