diff options
-rw-r--r-- | include/power.h | 10 | ||||
-rw-r--r-- | power/common.c | 12 |
2 files changed, 21 insertions, 1 deletions
diff --git a/include/power.h b/include/power.h index 9e0c29bd1b..b5c2771d70 100644 --- a/include/power.h +++ b/include/power.h @@ -83,6 +83,16 @@ uint32_t power_get_signals(void); int power_signal_is_asserted(const struct power_signal_info *s); /** + * Enable interrupt for provided input signal. + */ +int power_signal_enable_interrupt(enum gpio_signal signal); + +/** + * Disable interrupt for provided input signal. + */ +int power_signal_disable_interrupt(enum gpio_signal signal); + +/** * Check for required inputs * * @param want Mask of signals which must be present (one or more diff --git a/power/common.c b/power/common.c index d17a0c9336..50a8096e0b 100644 --- a/power/common.c +++ b/power/common.c @@ -82,7 +82,17 @@ static int power_signal_get_level(enum gpio_signal signal) return gpio_get_level(signal); } -static int power_signal_enable_interrupt(enum gpio_signal signal) +int power_signal_disable_interrupt(enum gpio_signal signal) +{ +#ifdef CONFIG_ESPI_VW_SIGNALS + /* Check signal is from GPIOs or VWs */ + if ((int)signal > VW_SIGNAL_BASE) + return espi_vw_disable_wire_int(signal); +#endif + return gpio_disable_interrupt(signal); +} + +int power_signal_enable_interrupt(enum gpio_signal signal) { #ifdef CONFIG_ESPI_VW_SIGNALS /* Check signal is from GPIOs or VWs */ |