ARM: S3C24XX: Fix mess with gpio {set,get}_pull callbacks
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:Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by:
Ben Dooks <ben-linux@fluff.org>
Showing
- arch/arm/mach-s3c2440/Kconfig 1 addition, 0 deletionsarch/arm/mach-s3c2440/Kconfig
- arch/arm/mach-s3c2440/s3c2440.c 8 additions, 3 deletionsarch/arm/mach-s3c2440/s3c2440.c
- arch/arm/mach-s3c2440/s3c2442.c 14 additions, 0 deletionsarch/arm/mach-s3c2440/s3c2442.c
- arch/arm/plat-s3c24xx/cpu.c 4 additions, 4 deletionsarch/arm/plat-s3c24xx/cpu.c
- arch/arm/plat-s3c24xx/gpiolib.c 0 additions, 2 deletionsarch/arm/plat-s3c24xx/gpiolib.c
- arch/arm/plat-s3c24xx/include/plat/s3c244x.h 6 additions, 1 deletionarch/arm/plat-s3c24xx/include/plat/s3c244x.h
- arch/arm/plat-samsung/gpio-config.c 37 additions, 10 deletionsarch/arm/plat-samsung/gpio-config.c
- arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h 11 additions, 0 deletionsarch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h
Please register or sign in to comment