• Vasily Khoruzhick's avatar
    ARM: S3C24XX: Fix mess with gpio {set,get}_pull callbacks · 812c4e40
    Vasily Khoruzhick authored
    Currently the {set,get}_pull callbacks of the s3c24xx_gpiocfg_default structure
    are initalized via s3c_gpio_{get,set}pull_1up. This results in a linker
    error when only CONFIG_CPU_S3C2442 is selected:
    
    arch/arm/plat-s3c24xx/built-in.o:(.data+0x13f4): undefined reference to
    `s3c_gpio_getpull_1up'
    arch/arm/plat-s3c24xx/built-in.o:(.data+0x13f8): undefined reference to
    `s3c_gpio_setpull_1up'
    
    The s3c2442 has pulldowns instead of pullups compared to the s3c2440.
    The method of controlling them is the same though.
    So this patch modifies the existing s3c_gpio_{get,set}pull_1up helper functions
    to take an additional parameter deciding whether the pin has a pullup or pulldown.
    The s3c_gpio_{get,set}pull_1{down,up} functions then wrap that functions passing
    either S3C_GPIO_PULL_UP or S3C_GPIO_PULL_DOWN.
    
    Furthermore this patch sets up the s3c24xx_gpiocfg_default.{get,set}_pull fields
    in the s3c244{0,2}_map_io function to the new pulldown helper functions.
    
    Based on patch from "Lars-Peter Clausen" <lars@metafoo.de>
    Signed-off-by: default avatarVasily Khoruzhick <anarsoul@gmail.com>
    Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
    812c4e40
gpiolib.c 4.74 KB