gpio: pxa: using for_each_set_bit to simplify the code
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Fri, 14 Sep 2012 02:36:59 +0000 (10:36 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 18 Sep 2012 21:18:43 +0000 (23:18 +0200)
Using for_each_set_bit() to simplify the code.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-pxa.c

index 528de0f..bf9371f 100644 (file)
@@ -413,12 +413,10 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irq_desc *desc)
                        gedr = gedr & c->irq_mask;
                        writel_relaxed(gedr, c->regbase + GEDR_OFFSET);
 
-                       n = find_first_bit(&gedr, BITS_PER_LONG);
-                       while (n < BITS_PER_LONG) {
+                       for_each_set_bit(n, &gedr, BITS_PER_LONG) {
                                loop = 1;
 
                                generic_handle_irq(gpio_to_irq(gpio_base + n));
-                               n = find_next_bit(&gedr, BITS_PER_LONG, n + 1);
                        }
                }
        } while (loop);