summaryrefslogtreecommitdiff
path: root/include
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 /include
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 'include')
-rw-r--r--include/gpio.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/gpio.h b/include/gpio.h
index 75f23c5935..3b39ad9314 100644
--- a/include/gpio.h
+++ b/include/gpio.h
@@ -293,4 +293,13 @@ void gpio_set_alternate_function(uint32_t port, uint32_t mask, int func);
int gpio_power_down_module(enum module_id id);
#endif
+/*
+ * Check if signal is a valid GPIO signal, and not IO expander (enum
+ * ioex_signal) or eSPI virtual wire (enum espi_vw_signal).
+ *
+ * @param signal GPIO or IOEX or VW signal
+ * @return 1 if signal is GPIO else return 0
+ */
+int signal_is_gpio(int signal);
+
#endif /* __CROS_EC_GPIO_H */