pinctrl: imx27: fix offset calculation in imx_read_2bit

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.

Cc: stable@vger.kernel.org
Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
Reviewed-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Chris Ruehl 2014-01-22 11:14:52 +08:00 committed by Linus Walleij
parent f17248ed86
commit e3365d0974

View File

@ -139,7 +139,7 @@ static int imx1_read_2bit(struct imx1_pinctrl *ipctl, unsigned int pin_id,
u32 reg_offset) u32 reg_offset)
{ {
void __iomem *reg = imx1_mem(ipctl, pin_id) + 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 */ /* Use the next register if the pin's port pin number is >=16 */
if (pin_id % 32 >= 16) if (pin_id % 32 >= 16)