staging: mt7621-gpio: avoid one level indentation in interrupt handler
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Mon, 18 Jun 2018 09:36:16 +0000 (11:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jun 2018 12:50:58 +0000 (21:50 +0900)
There is no need to check for 'pending' before loop over the
interrupts using 'for_each_set_bit' if nothing is set the
return values will be the same so just avoid this check avoiding
also one level intentation and improving readability.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-gpio/gpio-mt7621.c

index 96dee10cd4ffdc64b554aa6838844ccf6b3872ba..698a95de4a349e2e4ceac2107be0a19263e2d44a 100644 (file)
@@ -93,14 +93,12 @@ mediatek_gpio_irq_handler(int irq, void *data)
 
        pending = mtk_gpio_r32(rg, GPIO_REG_STAT);
 
-       if (pending) {
-               for_each_set_bit(bit, &pending, MTK_BANK_WIDTH) {
-                       u32 map = irq_find_mapping(gc->irq.domain, bit);
+       for_each_set_bit(bit, &pending, MTK_BANK_WIDTH) {
+               u32 map = irq_find_mapping(gc->irq.domain, bit);
 
-                       generic_handle_irq(map);
-                       mtk_gpio_w32(rg, GPIO_REG_STAT, BIT(bit));
-                       ret |= IRQ_HANDLED;
-               }
+               generic_handle_irq(map);
+               mtk_gpio_w32(rg, GPIO_REG_STAT, BIT(bit));
+               ret |= IRQ_HANDLED;
        }
 
        return ret;