diff options
Diffstat (limited to 'power')
-rw-r--r-- | power/common.c | 8 | ||||
-rw-r--r-- | power/rk3399.c | 2 |
2 files changed, 8 insertions, 2 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; } diff --git a/power/rk3399.c b/power/rk3399.c index c4db25e48c..b2c898a5cd 100644 --- a/power/rk3399.c +++ b/power/rk3399.c @@ -593,7 +593,7 @@ static void power_signal_changed(void) if (s->gpio < GPIO_IH_COUNT) continue; - if (gpio_get_level(s->gpio) == s->level) + if (power_signal_is_asserted(s)) inew |= 1 << i; } |