ARM: SAMSUNG: Fix on s5p_gpio_[get,set]_drvstr
This patch fixes bug on gpio drive strength helper function.
The offset should be like follwoing.
-       off = chip->chip.base - pin;
+       off = pin - chip->chip.base;
In the s5p_gpio_get_drvstr(),
the second line is unnecessary, because overwrite drvstr.
        drvstr = __raw_readl(reg);
-       drvstr = 0xffff & (0x3 << shift);
And need 2bit masking before return the drvstr value.
        drvstr = drvstr >> shift;
+       drvstr &= 0x3;
In the s5p_gpio_set_drvstr(), need relevant bit clear.
        tmp = __raw_readl(reg);
+       tmp &= ~(0x3 << shift);
        tmp |= drvstr << shift;
Reported-by:  Jaecheol Lee <jc.lee@samsung.com>
Signed-off-by:
Jaecheol Lee <jc.lee@samsung.com>
Signed-off-by:  Kukjin Kim <kgene.kim@samsung.com>
Kukjin Kim <kgene.kim@samsung.com>
Loading
Please register or sign in to comment
