[PATCH 2/2 v2] imx27: pinctrl: fix offset calculation in imx_read_2bit

Chris Ruehl <[email protected]> Wed, 22 Jan 2014 11:14:52 +0800
Newsgroups gmane.linux.ports.arm.general
Message-ID <1390360492-29126-2-git-send-email-chris.ruehl__12854.5798048892$1390364247$gmane$org@gtsys.com.hk>
The offset for the 2bit register calculate wrong, this patch
fixes the problem. The debugfs printout for oconf, iconfa, iconfb
now shows the real values.

Signed-off-by: Chris Ruehl <[email protected]>
---
 drivers/pinctrl/pinctrl-imx1-core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-imx1-core.c b/drivers/pinctrl/pinctrl-imx1-core.c
index 8dfc3dc..59a16b6 100644
--- a/drivers/pinctrl/pinctrl-imx1-core.c
+++ b/drivers/pinctrl/pinctrl-imx1-core.c
@@ -139,7 +139,7 @@ static int imx1_read_2bit(struct imx1_pinctrl *ipctl, unsigned int pin_id,
 		u32 reg_offset)
 {
 	void __iomem *reg = imx1_mem(ipctl, pin_id) + reg_offset;
-	int offset = pin_id % 16;
+	int offset = (pin_id % 16) * 2;
 
 	/* Use the next register if the pin's port pin number is >=16 */
 	if (pin_id % 32 >= 16)
-- 
1.7.10.4