pinctrl: sh-pfc: Do not overwrite bias configuration
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 27 Feb 2015 17:38:02 +0000 (18:38 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 9 Mar 2015 17:10:56 +0000 (18:10 +0100)
commit05c5f265c6f72750d2a60f75ff3cfefe47379210
treee5da0868abe619f969c6df7c78f53efc3d7a4041
parenteaef1279fa349db0cbec953e745d91db019a729e
pinctrl: sh-pfc: Do not overwrite bias configuration

After the last user of the in_pd/in_pu bias parameters of the _PCRH()
macro was removed in commit 80da8e02d22caaef ("sh-pfc: r8a7740: Add bias
(pull-up/down) pinconf support"), bias parameters are supposed to be
configured using the generic pinctl mechanism, which calls the
.set_bias() method.

However, the PORTCR() macro still represents the control register as
consisting of two 4-bit fields. Hence the bias configuration in the
uppermost 2 bits is always overwritten with zeroes when a pin is
configured for GPIO, disabling any previously configured bias.

Use the variable config register macro instead, to represent the
register as having 4 fields, and to make sure only the input/output
control and function fields are touched.

This affects R-Mobile APE6 (r8a73a4), R-Mobile A1 (r8a7740), SH-Mobile
AP4 (sh7372), and SH-Mobile AG5 (sh73a0).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/sh-pfc/sh_pfc.h