From 18240730057b831da366a37724bf5228f0366240 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Tue, 5 Feb 2013 20:10:57 +0100 Subject: [PATCH] --- yaml --- r: 350518 b: refs/heads/master c: a950cb741bb62d5f23860755388ad4e93dd2a185 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/pinctrl/pinctrl-abx500.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c218fba71b5b..e0172a5ceaee 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f30a3839b33c560b374c69be9ba2621d3d6a3d10 +refs/heads/master: a950cb741bb62d5f23860755388ad4e93dd2a185 diff --git a/trunk/drivers/pinctrl/pinctrl-abx500.c b/trunk/drivers/pinctrl/pinctrl-abx500.c index 17508b5820f5..0b3aa1c28fba 100644 --- a/trunk/drivers/pinctrl/pinctrl-abx500.c +++ b/trunk/drivers/pinctrl/pinctrl-abx500.c @@ -401,6 +401,8 @@ static u8 abx500_get_mode(struct pinctrl_dev *pctldev, struct gpio_chip *chip, bool alt_bit2; struct abx500_pinctrl *pct = pinctrl_dev_get_drvdata(pctldev); struct alternate_functions af = pct->soc->alternate_functions[gpio]; + /* on ABx5xx, there is no GPIO0, so adjust the offset */ + unsigned offset = gpio - 1; /* * if gpiosel_bit is set to unused, @@ -410,7 +412,7 @@ static u8 abx500_get_mode(struct pinctrl_dev *pctldev, struct gpio_chip *chip, return ABX500_DEFAULT; /* read GpioSelx register */ - abx500_gpio_get_bit(chip, AB8500_GPIO_SEL1_REG + (gpio / 8), + abx500_gpio_get_bit(chip, AB8500_GPIO_SEL1_REG + (offset / 8), af.gpiosel_bit, &bit_mode); mode = bit_mode;