|
@@ -111,6 +111,25 @@ int s3c_gpio_setpull(unsigned int pin, s3c_gpio_pull_t pull)
|
|
|
}
|
|
|
EXPORT_SYMBOL(s3c_gpio_setpull);
|
|
|
|
|
|
+s3c_gpio_pull_t s3c_gpio_getpull(unsigned int pin)
|
|
|
+{
|
|
|
+ struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin);
|
|
|
+ unsigned long flags;
|
|
|
+ int offset;
|
|
|
+ u32 pup = 0;
|
|
|
+
|
|
|
+ if (chip) {
|
|
|
+ offset = pin - chip->chip.base;
|
|
|
+
|
|
|
+ s3c_gpio_lock(chip, flags);
|
|
|
+ pup = s3c_gpio_do_getpull(chip, offset);
|
|
|
+ s3c_gpio_unlock(chip, flags);
|
|
|
+ }
|
|
|
+
|
|
|
+ return (__force s3c_gpio_pull_t)pup;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(s3c_gpio_getpull);
|
|
|
+
|
|
|
#ifdef CONFIG_S3C_GPIO_CFG_S3C24XX
|
|
|
int s3c_gpio_setcfg_s3c24xx_a(struct s3c_gpio_chip *chip,
|
|
|
unsigned int off, unsigned int cfg)
|