gpio: mb86s70: Return error if requesting an already assigned gpio
Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
c517d838eb
Коммит
fd9c963c56
|
@ -58,6 +58,11 @@ static int mb86s70_gpio_request(struct gpio_chip *gc, unsigned gpio)
|
||||||
spin_lock_irqsave(&gchip->lock, flags);
|
spin_lock_irqsave(&gchip->lock, flags);
|
||||||
|
|
||||||
val = readl(gchip->base + PFR(gpio));
|
val = readl(gchip->base + PFR(gpio));
|
||||||
|
if (!(val & OFFSET(gpio))) {
|
||||||
|
spin_unlock_irqrestore(&gchip->lock, flags);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
val &= ~OFFSET(gpio);
|
val &= ~OFFSET(gpio);
|
||||||
writel(val, gchip->base + PFR(gpio));
|
writel(val, gchip->base + PFR(gpio));
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче