From: Vladimir Barinov Date: Mon, 20 Jul 2015 17:49:25 +0000 (+0300) Subject: gpio: sh-pfc: fix gpio input read X-Git-Tag: v2015.10-rc4~53^2~3 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=9035edbae9dd3c10751d78bf80a1b2bc225cda4f;p=u-boot gpio: sh-pfc: fix gpio input read Fix gpio_read: gpio input (INDT) and gpio output (OUTDT) registers have different offset. gpio_read must be performed from INDT. Signed-off-by: Vladimir Barinov Signed-off-by: Nobuhiro Iwamatsu --- diff --git a/drivers/gpio/sh_pfc.c b/drivers/gpio/sh_pfc.c index 7a5af20a2a..a0eac137c2 100644 --- a/drivers/gpio/sh_pfc.c +++ b/drivers/gpio/sh_pfc.c @@ -75,7 +75,8 @@ static int gpio_read_bit(struct pinmux_data_reg *dr, debug("read_bit: addr = %lx, pos = %ld, " "r_width = %ld\n", dr->reg, pos, dr->reg_width); - return (gpio_read_raw_reg(dr->mapped_reg, dr->reg_width) >> pos) & 1; + return + (gpio_read_raw_reg(dr->mapped_reg + 0x4, dr->reg_width) >> pos) & 1; } static void gpio_write_bit(struct pinmux_data_reg *dr,