gpio: dwapb: Switch to more usual pattern of RMW in dwapb_gpio_set_debounce()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 15 Apr 2020 14:15:29 +0000 (17:15 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 17 Apr 2020 10:30:06 +0000 (12:30 +0200)
More usual pattern is to prepare value and then write it in a single place.
Switch code in dwapb_gpio_set_debounce() to it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Link: https://lore.kernel.org/r/20200415141534.31240-10-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-dwapb.c

index 4edac59..0b073cb 100644 (file)
@@ -327,9 +327,10 @@ static int dwapb_gpio_set_debounce(struct gpio_chip *gc,
 
        val_deb = dwapb_read(gpio, GPIO_PORTA_DEBOUNCE);
        if (debounce)
-               dwapb_write(gpio, GPIO_PORTA_DEBOUNCE, val_deb | mask);
+               val_deb |= mask;
        else
-               dwapb_write(gpio, GPIO_PORTA_DEBOUNCE, val_deb & ~mask);
+               val_deb &= ~mask;
+       dwapb_write(gpio, GPIO_PORTA_DEBOUNCE, val_deb);
 
        spin_unlock_irqrestore(&gc->bgpio_lock, flags);