diff options
author | Furquan Shaikh <furquan@chromium.org> | 2017-09-15 15:36:56 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-10-03 14:26:09 -0700 |
commit | 53532a2e67fa301bea588a198d7afd8d55b4d4b2 (patch) | |
tree | 66519af1487527ce4df3d1d89717da2967f6f3de | |
parent | a27f1049b6d92d46de9a648ba64f451387a598d4 (diff) | |
download | chrome-ec-53532a2e67fa301bea588a198d7afd8d55b4d4b2.tar.gz |
power: Expose power_signal_{enable/disable}_interrupt outside power/common.c
1. Make power_signal_enable_interrupt visible outside power/common.c
2. Add corresponding power_signal_disable_interrupt function.
BUG=b:65421825
BRANCH=None
TEST=make -j buildall
Change-Id: I04b7b053cc1ffe978fcbac5b2cb746d21b198aa2
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/679980
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
-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 */ |