Skip to content

Commit dd34c37

Browse files
thierryredinglinusw
authored andcommitted
gpio: of: Allow -gpio suffix for property names
Many bindings use the -gpio suffix in property names. Support this in addition to the -gpios suffix when requesting GPIOs using the new descriptor-based API. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1 parent 9370084 commit dd34c37

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

drivers/gpio/gpiolib.c

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2600,17 +2600,23 @@ static struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id,
26002600
unsigned int idx,
26012601
enum gpio_lookup_flags *flags)
26022602
{
2603+
static const char *suffixes[] = { "gpios", "gpio" };
26032604
char prop_name[32]; /* 32 is max size of property name */
26042605
enum of_gpio_flags of_flags;
26052606
struct gpio_desc *desc;
2607+
unsigned int i;
26062608

2607-
if (con_id)
2608-
snprintf(prop_name, 32, "%s-gpios", con_id);
2609-
else
2610-
snprintf(prop_name, 32, "gpios");
2609+
for (i = 0; i < ARRAY_SIZE(suffixes); i++) {
2610+
if (con_id)
2611+
snprintf(prop_name, 32, "%s-%s", con_id, suffixes[i]);
2612+
else
2613+
snprintf(prop_name, 32, "%s", suffixes[i]);
26112614

2612-
desc = of_get_named_gpiod_flags(dev->of_node, prop_name, idx,
2613-
&of_flags);
2615+
desc = of_get_named_gpiod_flags(dev->of_node, prop_name, idx,
2616+
&of_flags);
2617+
if (!IS_ERR(desc))
2618+
break;
2619+
}
26142620

26152621
if (IS_ERR(desc))
26162622
return desc;

0 commit comments

Comments
 (0)