blob: 259dc5ec93de8d2a98dac9968b25f70bf5de22e5 [file] [log] [blame]
From 69b2db4a30d95a8c9a2a33dc73f5cc429a706872 Mon Sep 17 00:00:00 2001
From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Date: Mon, 8 Apr 2013 11:36:13 +0200
Subject: gpio-rcar: Add RCAR_GP_PIN macro
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@ideasonboard.com>
[horms+renesas@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@verge.net.au>
(cherry picked from commit 11df28ab76cd9e98e3e0bbbff8648d0a02509507)
Signed-off-by: Simon Horman <horms+renesas@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 6c0027a3..2d8d6943 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__ */
--
1.8.4.3.gca3854a