diff options
author | Edward Hill <ecgh@chromium.org> | 2019-10-10 15:59:27 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-25 18:52:11 +0000 |
commit | e41c34de74fbf1a50fde5a9419556c7209893951 (patch) | |
tree | 040b5d6dbde0faf8fb0a4f47cf34971bb0059c66 /include | |
parent | d2ad17f646df75d56220b6b3724d68d2a108fc99 (diff) | |
download | chrome-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.h | 9 |
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 */ |