summaryrefslogtreecommitdiff
path: root/power/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'power/common.c')
-rw-r--r--power/common.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/power/common.c b/power/common.c
index 4669d23d8a..d17a0c9336 100644
--- a/power/common.c
+++ b/power/common.c
@@ -92,6 +92,12 @@ static int power_signal_enable_interrupt(enum gpio_signal signal)
return gpio_enable_interrupt(signal);
}
+int power_signal_is_asserted(const struct power_signal_info *s)
+{
+ return power_signal_get_level(s->gpio) ==
+ !!(s->flags & POWER_SIGNAL_ACTIVE_STATE);
+}
+
/**
* Update input signals mask
*/
@@ -102,7 +108,7 @@ static void power_update_signals(void)
int i;
for (i = 0; i < POWER_SIGNAL_COUNT; i++, s++) {
- if (power_signal_get_level(s->gpio) == s->level)
+ if (power_signal_is_asserted(s))
inew |= 1 << i;
}