diff options
-rw-r--r-- | chip/stm32/gpio.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/chip/stm32/gpio.c b/chip/stm32/gpio.c index 69f3cadb4e..a89f046a01 100644 --- a/chip/stm32/gpio.c +++ b/chip/stm32/gpio.c @@ -98,6 +98,19 @@ int gpio_enable_interrupt(enum gpio_signal signal) return EC_SUCCESS; } +int gpio_disable_interrupt(enum gpio_signal signal) +{ + const struct gpio_info *g = gpio_list + signal; + + /* Fail if not implemented or no interrupt handler */ + if (!g->mask || signal >= GPIO_IH_COUNT) + return EC_ERROR_INVAL; + + STM32_EXTI_IMR &= ~g->mask; + + return EC_SUCCESS; +} + int gpio_clear_pending_interrupt(enum gpio_signal signal) { const struct gpio_info *g = gpio_list + signal; |