diff options
author | Patrick Delaunay <patrick.delaunay@st.com> | 2020-01-13 11:35:05 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-04-16 23:06:54 -0400 |
commit | 9360bb06f1db4597b7d08ea95b48a17025a97618 (patch) | |
tree | 25c781e7f536164f1cd415505283b246197c1fcd /drivers/gpio | |
parent | 4292fb16bff1af883b98517b73ea8f7cbfee948f (diff) | |
download | u-boot-9360bb06f1db4597b7d08ea95b48a17025a97618.zip u-boot-9360bb06f1db4597b7d08ea95b48a17025a97618.tar.gz u-boot-9360bb06f1db4597b7d08ea95b48a17025a97618.tar.bz2 |
gpio: add helper GPIOD_FLAGS_OUTPUT
Add a macro to provide the GPIO output value according
the dir flags content.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-uclass.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c index b5cebfd..29c8c0f 100644 --- a/drivers/gpio/gpio-uclass.c +++ b/drivers/gpio/gpio-uclass.c @@ -542,12 +542,9 @@ static int _dm_gpio_set_dir_flags(struct gpio_desc *desc, ulong flags) } if (flags & GPIOD_IS_OUT) { - int value = flags & GPIOD_IS_OUT_ACTIVE ? 1 : 0; - - if (flags & GPIOD_ACTIVE_LOW) - value = !value; - ret = ops->direction_output(dev, desc->offset, value); - } else if (flags & GPIOD_IS_IN) { + ret = ops->direction_output(dev, desc->offset, + GPIOD_FLAGS_OUTPUT(flags)); + } else if (flags & GPIOD_IS_IN) { ret = ops->direction_input(dev, desc->offset); } |