[PATCH 004/130] gpio-rcar: Add RCAR_GP_PIN macro

Simon Horman horms+renesas at verge.net.au
Wed Jun 5 04:24:55 EDT 2013

From: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>

Pins are numbered in the R-Car family documentation using a bank number
and a pin number in the bank. As the Linux pin number space is linear,
we need to flatten this by multiplying the bank number by 32 and adding
the pin number. The resulting number bear no directly visible
relationship  to the documentation, making it error-prone.

Add a RCAR_GP_PIN macro to convert from the documentation pin number
space to the linear Linux space.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
[horms+renesas at verge.net.au: non-trivial rebase on top of
 "sh-pfc: r8a7779: Don't group USB OVC and PENC pins"]
Signed-off-by: Simon Horman <horms+renesas at verge.net.au>
 include/linux/platform_data/gpio-rcar.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/platform_data/gpio-rcar.h b/include/linux/platform_data/gpio-rcar.h
index 6c0027a..2d8d694 100644
--- a/include/linux/platform_data/gpio-rcar.h
+++ b/include/linux/platform_data/gpio-rcar.h
@@ -24,4 +24,6 @@ struct gpio_rcar_config {
 	unsigned has_both_edge_trigger:1;
+#define RCAR_GP_PIN(bank, pin)		(((bank) * 32) + (pin))
 #endif /* __GPIO_RCAR_H__ */

More information about the linux-arm-kernel mailing list