summaryrefslogtreecommitdiff
path: root/common/gpio.c
diff options
context:
space:
mode:
authorAnton Staaf <robotboy@chromium.org>2016-01-13 11:14:23 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-01-19 14:24:40 -0800
commit6e4e1ccc8217ac8b318b885dae78b3c1996ca71e (patch)
tree02740e3467d89dce03726f6c6ed78d149b56335d /common/gpio.c
parente933d0b7b6984bc8abf40b3364695d9955a9a426 (diff)
downloadchrome-ec-6e4e1ccc8217ac8b318b885dae78b3c1996ca71e.tar.gz
GPIO: Add gpio_reset function
The gpio_reset function returns a GPIO to its initialy configured state. Using it removes a few more uses of gpio_list. Signed-off-by: Anton Staaf <robotboy@chromium.org> BRANCH=None BUG=None TEST=make buildall -j Change-Id: Ie24e8e8a96d0ff50f521a918e80ed2b379f8c1a9 Reviewed-on: https://chromium-review.googlesource.com/321951 Commit-Ready: Anton Staaf <robotboy@chromium.org> Tested-by: Anton Staaf <robotboy@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'common/gpio.c')
-rw-r--r--common/gpio.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/common/gpio.c b/common/gpio.c
index 44b77c337e..0fd34d4a79 100644
--- a/common/gpio.c
+++ b/common/gpio.c
@@ -114,6 +114,14 @@ void gpio_set_flags(enum gpio_signal signal, int flags)
gpio_set_flags_by_mask(g->port, g->mask, flags);
}
+void gpio_reset(enum gpio_signal signal)
+{
+ const struct gpio_info *g = gpio_list + signal;
+
+ gpio_set_flags_by_mask(g->port, g->mask, g->flags);
+ gpio_set_alternate_function(g->port, g->mask, -1);
+}
+
const char *gpio_get_name(enum gpio_signal signal)
{
return gpio_list[signal].name;