summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2017-03-08 14:08:52 -0800
committerSascha Hauer <s.hauer@pengutronix.de>2017-03-09 08:13:38 +0100
commit7d9679a33a32f2d4fd08628d52e716bb452e8734 (patch)
tree65605fc40d9681a07f3d4122fc3dcc0348cb8c9d /drivers/pinctrl
parent943a9eeac42f073518a94f1decd37529c0da5d42 (diff)
downloadbarebox-7d9679a33a32f2d4fd08628d52e716bb452e8734.tar.gz
barebox-7d9679a33a32f2d4fd08628d52e716bb452e8734.tar.xz
pinctrl: at91: Fix a bug in at91_pinctrl_set_conf()
Pin_to_controller returns struct at91_gpio_chip, whereas at91_mux_* functions expect void __iomem * pointing to controller register window. Fix the code to do appropriate conversion between the two. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/pinctrl-at91.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index ebbc6f6f14..e24c9beae5 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -414,8 +414,10 @@ static int at91_pinctrl_set_conf(struct at91_pinctrl *info, unsigned int pin_num
{
unsigned int mask;
void __iomem *pio;
+ struct at91_gpio_chip *at91_gpio;
- pio = pin_to_controller(pin_num);
+ at91_gpio = pin_to_controller(pin_num);
+ pio = at91_gpio->regbase;
mask = pin_to_mask(pin_num);
if (conf & PULL_UP && conf & PULL_DOWN)