Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd34c37a authored by Thierry Reding's avatar Thierry Reding Committed by Linus Walleij
Browse files

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: default avatarThierry Reding <treding@nvidia.com>
Acked-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 9370084e
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -2600,17 +2600,23 @@ static struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id,
				      unsigned int idx,
				      enum gpio_lookup_flags *flags)
{
	static const char *suffixes[] = { "gpios", "gpio" };
	char prop_name[32]; /* 32 is max size of property name */
	enum of_gpio_flags of_flags;
	struct gpio_desc *desc;
	unsigned int i;

	for (i = 0; i < ARRAY_SIZE(suffixes); i++) {
		if (con_id)
		snprintf(prop_name, 32, "%s-gpios", con_id);
			snprintf(prop_name, 32, "%s-%s", con_id, suffixes[i]);
		else
		snprintf(prop_name, 32, "gpios");
			snprintf(prop_name, 32, "%s", suffixes[i]);

		desc = of_get_named_gpiod_flags(dev->of_node, prop_name, idx,
						&of_flags);
		if (!IS_ERR(desc))
			break;
	}

	if (IS_ERR(desc))
		return desc;