diff options
author | Ćukasz Majewski <l.majewski@samsung.com> | 2012-09-04 21:47:46 (GMT) |
---|---|---|
committer | Minkyu Kang <mk7.kang@samsung.com> | 2012-11-15 12:08:18 (GMT) |
commit | 822593f02890f10e08c39ed82f926c9a80f7d533 (patch) | |
tree | 07e04295e200d15a18a8d09df807c444200d20de /drivers/gpio | |
parent | ccfa398547ce0b579f2e7874e78948246c739237 (diff) | |
download | u-boot-fsl-qoriq-822593f02890f10e08c39ed82f926c9a80f7d533.tar.xz |
gpio:fix: Proper handling of GPIO subsystem parts at Samsung devices
Now proper GPIO parts numbering is handled at Samsung devices.
This fix is necessary for code using GPIO located at other banks
than first.
Test HW:
- Exynos4210 - Trats
- S5PC110 - goni
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/s5p_gpio.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpio/s5p_gpio.c b/drivers/gpio/s5p_gpio.c index 47f3213..656bf4a 100644 --- a/drivers/gpio/s5p_gpio.c +++ b/drivers/gpio/s5p_gpio.c @@ -144,9 +144,11 @@ void s5p_gpio_set_rate(struct s5p_gpio_bank *bank, int gpio, int mode) struct s5p_gpio_bank *s5p_gpio_get_bank(unsigned gpio) { - int bank = gpio / GPIO_PER_BANK; - bank *= sizeof(struct s5p_gpio_bank); + int bank; + unsigned g = gpio - s5p_gpio_part_max(gpio); + bank = g / GPIO_PER_BANK; + bank *= sizeof(struct s5p_gpio_bank); return (struct s5p_gpio_bank *) (s5p_gpio_base(gpio) + bank); } |