diff options
author | Andrew Jeffery <andrew@aj.id.au> | 2017-04-07 22:29:02 +0930 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-04-24 14:51:57 +0200 |
commit | c3bafe017c3bd3f68c21637ce4b78963edf56ec5 (patch) | |
tree | c408e2983e1de40b63a0c8a8aa5a361d8c302348 | |
parent | 5ae4cb94b3133d00857bb2909dae779782db40cb (diff) | |
download | blackbird-obmc-linux-c3bafe017c3bd3f68c21637ce4b78963edf56ec5.tar.gz blackbird-obmc-linux-c3bafe017c3bd3f68c21637ce4b78963edf56ec5.zip |
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.c | 4 |
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, param == PIN_CONFIG_BIAS_PULL_DOWN || param == PIN_CONFIG_DRIVE_STRENGTH) return pinctrl_gpio_set_config(offset, config); + else if (param == PIN_CONFIG_DRIVE_OPEN_DRAIN || + param == PIN_CONFIG_DRIVE_OPEN_SOURCE) + /* Return -ENOTSUPP to trigger emulation, as per datasheet */ + return -ENOTSUPP; return -ENOTSUPP; } |