• Kukjin Kim's avatar
    ARM: SAMSUNG: Fix on s5p_gpio_[get,set]_drvstr · cbd2780f
    Kukjin Kim authored
    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: default avatarJaecheol Lee <jc.lee@samsung.com>
    Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
    cbd2780f
gpio-config.c 6.01 KB