summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2017-09-15 15:36:56 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-10-03 14:26:09 -0700
commit53532a2e67fa301bea588a198d7afd8d55b4d4b2 (patch)
tree66519af1487527ce4df3d1d89717da2967f6f3de
parenta27f1049b6d92d46de9a648ba64f451387a598d4 (diff)
downloadchrome-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.h10
-rw-r--r--power/common.c12
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 */