summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/gpio.c7
-rw-r--r--common/gpio_commands.c9
-rw-r--r--zephyr/shim/src/gpio.c5
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))