diff options
Diffstat (limited to 'arch/arm/plat-samsung/gpio-config.c')
| -rw-r--r-- | arch/arm/plat-samsung/gpio-config.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/plat-samsung/gpio-config.c b/arch/arm/plat-samsung/gpio-config.c index 8a372110a850..b732b773b9af 100644 --- a/arch/arm/plat-samsung/gpio-config.c +++ b/arch/arm/plat-samsung/gpio-config.c | |||
| @@ -111,6 +111,25 @@ int s3c_gpio_setpull(unsigned int pin, s3c_gpio_pull_t pull) | |||
| 111 | } | 111 | } |
| 112 | EXPORT_SYMBOL(s3c_gpio_setpull); | 112 | EXPORT_SYMBOL(s3c_gpio_setpull); |
| 113 | 113 | ||
| 114 | s3c_gpio_pull_t s3c_gpio_getpull(unsigned int pin) | ||
| 115 | { | ||
| 116 | struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin); | ||
| 117 | unsigned long flags; | ||
| 118 | int offset; | ||
| 119 | u32 pup = 0; | ||
| 120 | |||
| 121 | if (chip) { | ||
| 122 | offset = pin - chip->chip.base; | ||
| 123 | |||
| 124 | s3c_gpio_lock(chip, flags); | ||
| 125 | pup = s3c_gpio_do_getpull(chip, offset); | ||
| 126 | s3c_gpio_unlock(chip, flags); | ||
| 127 | } | ||
| 128 | |||
| 129 | return (__force s3c_gpio_pull_t)pup; | ||
| 130 | } | ||
| 131 | EXPORT_SYMBOL(s3c_gpio_getpull); | ||
| 132 | |||
| 114 | #ifdef CONFIG_S3C_GPIO_CFG_S3C24XX | 133 | #ifdef CONFIG_S3C_GPIO_CFG_S3C24XX |
| 115 | int s3c_gpio_setcfg_s3c24xx_a(struct s3c_gpio_chip *chip, | 134 | int s3c_gpio_setcfg_s3c24xx_a(struct s3c_gpio_chip *chip, |
| 116 | unsigned int off, unsigned int cfg) | 135 | unsigned int off, unsigned int cfg) |
