mirror of https://github.com/OpenIPC/firmware.git
31 lines
980 B
Diff
31 lines
980 B
Diff
diff -drupN a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
|
|
--- a/drivers/gpio/gpiolib-of.c 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/drivers/gpio/gpiolib-of.c 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -126,6 +126,10 @@ struct gpio_desc *of_find_gpio(struct de
|
|
struct gpio_desc *desc;
|
|
unsigned int i;
|
|
|
|
+#ifdef CONFIG_ARCH_SUNXI
|
|
+ struct gpio_config gpio_flags;
|
|
+#endif
|
|
+
|
|
for (i = 0; i < ARRAY_SIZE(gpio_suffixes); i++) {
|
|
if (con_id)
|
|
snprintf(prop_name, sizeof(prop_name), "%s-%s", con_id,
|
|
@@ -134,8 +138,15 @@ struct gpio_desc *of_find_gpio(struct de
|
|
snprintf(prop_name, sizeof(prop_name), "%s",
|
|
gpio_suffixes[i]);
|
|
|
|
+#ifndef CONFIG_ARCH_SUNXI
|
|
desc = of_get_named_gpiod_flags(dev->of_node, prop_name, idx,
|
|
&of_flags);
|
|
+#else
|
|
+ desc = of_get_named_gpiod_flags(dev->of_node, prop_name, idx,
|
|
+ (enum of_gpio_flags *)&gpio_flags);
|
|
+ of_flags = gpio_flags.data;
|
|
+#endif
|
|
+
|
|
if (!IS_ERR(desc) || (PTR_ERR(desc) != -ENOENT))
|
|
break;
|
|
}
|