diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2017-01-26 15:27:54 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-01-26 15:27:54 +0100 |
commit | 27a2873617415f7a5b9881a532008efd92334b05 (patch) | |
tree | 55e1d83ab16e2cfff45fe09cc12e1cd21cd78fda /drivers/gpio/gpio-omap.c | |
parent | pinctrl: mvebu: remove unused variable (diff) | |
parent | pinctrl / gpio: Introduce .set_config() callback for GPIO chips (diff) | |
download | linux-dev-27a2873617415f7a5b9881a532008efd92334b05.tar.xz linux-dev-27a2873617415f7a5b9881a532008efd92334b05.zip |
Merge branch 'ib-pinctrl-genprops' into devel
Diffstat (limited to 'drivers/gpio/gpio-omap.c')
-rw-r--r-- | drivers/gpio/gpio-omap.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index b98ede78c9d8..efc85a279d54 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c @@ -974,6 +974,18 @@ static int omap_gpio_debounce(struct gpio_chip *chip, unsigned offset, return 0; } +static int omap_gpio_set_config(struct gpio_chip *chip, unsigned offset, + unsigned long config) +{ + u32 debounce; + + if (pinconf_to_config_param(config) != PIN_CONFIG_INPUT_DEBOUNCE) + return -ENOTSUPP; + + debounce = pinconf_to_config_argument(config); + return omap_gpio_debounce(chip, offset, debounce); +} + static void omap_gpio_set(struct gpio_chip *chip, unsigned offset, int value) { struct gpio_bank *bank; @@ -1045,7 +1057,7 @@ static int omap_gpio_chip_init(struct gpio_bank *bank, struct irq_chip *irqc) bank->chip.direction_input = omap_gpio_input; bank->chip.get = omap_gpio_get; bank->chip.direction_output = omap_gpio_output; - bank->chip.set_debounce = omap_gpio_debounce; + bank->chip.set_config = omap_gpio_set_config; bank->chip.set = omap_gpio_set; if (bank->is_mpuio) { bank->chip.label = "mpuio"; |