OSDN Git Service

gpio: pxa: simplify BANK_OFF macro offset calculation
authorRob Herring <robh@kernel.org>
Mon, 2 Mar 2015 21:30:58 +0000 (15:30 -0600)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 9 Mar 2015 13:41:12 +0000 (14:41 +0100)
The macro BANK_OFF which calculates the base offset for each GPIO port.
The macro is needlessly complex and unreadable. Simplify the
calculation to a simple math operation.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: linux-gpio@vger.kernel.org
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-pxa.c

index 2fdb04b..cdbbcf0 100644 (file)
@@ -59,8 +59,7 @@
 #define GAFR_OFFSET    0x54
 #define ED_MASK_OFFSET 0x9C    /* GPIO edge detection for AP side */
 
-#define BANK_OFF(n)    (((n) < 3) ? (n) << 2 : ((n) > 5 ? 0x200 : 0x100)       \
-                       + (((n) % 3) << 2))
+#define BANK_OFF(n)    (((n) / 3) << 8) + (((n) % 3) << 2)
 
 int pxa_last_gpio;
 static int irq_base;