diff options
-rw-r--r-- | common/gpio.c | 7 | ||||
-rw-r--r-- | common/gpio_commands.c | 9 | ||||
-rw-r--r-- | zephyr/shim/src/gpio.c | 5 |
3 files changed, 11 insertions, 10 deletions
diff --git a/common/gpio.c b/common/gpio.c index 2e76116e4c..b69878eca3 100644 --- a/common/gpio.c +++ b/common/gpio.c @@ -110,14 +110,15 @@ void gpio_set_flags(enum gpio_signal signal, int flags) gpio_set_flags_by_mask(g->port, g->mask, flags); } -#ifdef CONFIG_GPIO_GET_EXTENDED int gpio_get_flags(enum gpio_signal signal) { const struct gpio_info *g = gpio_list + signal; - return gpio_get_flags_by_mask(g->port, g->mask); + if (IS_ENABLED(CONFIG_GPIO_GET_EXTENDED)) + return gpio_get_flags_by_mask(g->port, g->mask); + else + return gpio_get_default_flags(signal); } -#endif int gpio_get_default_flags(enum gpio_signal signal) { diff --git a/common/gpio_commands.c b/common/gpio_commands.c index 06e0203090..892144ce7b 100644 --- a/common/gpio_commands.c +++ b/common/gpio_commands.c @@ -67,13 +67,8 @@ static enum ec_error_list set(const char *name, int value) if (!gpio_is_implemented(signal)) return EC_ERROR_INVAL; - if (IS_ENABLED(CONFIG_GPIO_GET_EXTENDED)) { - if (!(gpio_get_flags(signal) & GPIO_OUTPUT)) - return EC_ERROR_INVAL; - } else { - if (!(gpio_get_default_flags(signal) & GPIO_OUTPUT)) - return EC_ERROR_INVAL; - } + if (!(gpio_get_flags(signal) & GPIO_OUTPUT)) + return EC_ERROR_INVAL; gpio_set_level(signal, value); diff --git a/zephyr/shim/src/gpio.c b/zephyr/shim/src/gpio.c index 574b23ea4d..142f106e02 100644 --- a/zephyr/shim/src/gpio.c +++ b/zephyr/shim/src/gpio.c @@ -240,6 +240,11 @@ gpio_flags_t convert_to_zephyr_flags(int ec_flags) return zephyr_flags; } +int gpio_get_flags(enum gpio_signal signal) +{ + return gpio_get_default_flags(signal); +} + int gpio_get_default_flags(enum gpio_signal signal) { if (!gpio_is_implemented(signal)) |