aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Jeffery <andrew@aj.id.au>2017-04-07 08:59:02 -0400
committerLinus Walleij <linus.walleij@linaro.org>2017-04-24 08:51:57 -0400
commitc3bafe017c3bd3f68c21637ce4b78963edf56ec5 (patch)
treec408e2983e1de40b63a0c8a8aa5a361d8c302348
parent5ae4cb94b3133d00857bb2909dae779782db40cb (diff)
gpio: aspeed: Add open-source and open-drain support
As per the datasheet, manage the IO and value states to implement open-source/open-drain, but do this by falling back to gpiolib's emulation. This commit simply makes the behaviour explicit for clarity, rather than relying on the implicit return of -ENOTSUPP to trigger the emulation. Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/gpio/gpio-aspeed.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
index 3327a48df862..ccea609676ee 100644
--- a/drivers/gpio/gpio-aspeed.c
+++ b/drivers/gpio/gpio-aspeed.c
@@ -761,6 +761,10 @@ static int aspeed_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
761 param == PIN_CONFIG_BIAS_PULL_DOWN || 761 param == PIN_CONFIG_BIAS_PULL_DOWN ||
762 param == PIN_CONFIG_DRIVE_STRENGTH) 762 param == PIN_CONFIG_DRIVE_STRENGTH)
763 return pinctrl_gpio_set_config(offset, config); 763 return pinctrl_gpio_set_config(offset, config);
764 else if (param == PIN_CONFIG_DRIVE_OPEN_DRAIN ||
765 param == PIN_CONFIG_DRIVE_OPEN_SOURCE)
766 /* Return -ENOTSUPP to trigger emulation, as per datasheet */
767 return -ENOTSUPP;
764 768
765 return -ENOTSUPP; 769 return -ENOTSUPP;
766} 770}