summaryrefslogtreecommitdiff
path: root/common/gpio.c
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2019-10-10 15:59:27 -0600
committerCommit Bot <commit-bot@chromium.org>2019-10-25 18:52:11 +0000
commite41c34de74fbf1a50fde5a9419556c7209893951 (patch)
tree040b5d6dbde0faf8fb0a4f47cf34971bb0059c66 /common/gpio.c
parentd2ad17f646df75d56220b6b3724d68d2a108fc99 (diff)
downloadchrome-ec-e41c34de74fbf1a50fde5a9419556c7209893951.tar.gz
NPCX GPIO: Assert that gpio_get/set_level is passed a GPIO signal
Ensure that IOEX and VW signals are not accidentally passed to NPCX's gpio_get_level or gpio_set_level. BUG=b:138600691 BRANCH=none TEST=saw assert when passing IOEX signal to gpio_set_level Change-Id: Ib3eea074a104820cea4095897f4174a84e8368d6 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1854781 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'common/gpio.c')
-rw-r--r--common/gpio.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/common/gpio.c b/common/gpio.c
index d9900a4924..fe02a15248 100644
--- a/common/gpio.c
+++ b/common/gpio.c
@@ -204,4 +204,10 @@ void gpio_or_ioex_set_level(int signal, int value)
gpio_set_level(signal, value);
}
+int signal_is_gpio(int signal)
+{
+ return ((signal >= GPIO_SIGNAL_START)
+ && (signal < GPIO_SIGNAL_START + GPIO_COUNT));
+}
+
/*****************************************************************************/