lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 15 Apr 2014 14:41:36 +0800 From: Chen-Yu Tsai <wens@...e.org> To: Linus Walleij <linus.walleij@...aro.org>, Johannes Berg <johannes@...solutions.net>, "John W. Linville" <linville@...driver.com>, Maxime Ripard <maxime.ripard@...e-electrons.com> Cc: Chen-Yu Tsai <wens@...e.org>, Arnd Bergmann <arnd@...db.de>, Heikki Krogerus <heikki.krogerus@...ux.intel.com>, Mika Westerberg <mika.westerberg@...ux.intel.com>, Alexandre Courbot <gnurou@...il.com>, Stephen Warren <swarren@...dotorg.org>, linux-gpio@...r.kernel.org, linux-wireless@...r.kernel.org, netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org, linux-kernel@...r.kernel.org, linux-sunxi@...glegroups.com Subject: [PATCH 2/7] gpiolib: Support purely name based gpiod lookup in device trees This patch enables gpio-names based gpiod lookup in device tree usage, which ignores the index passed to gpiod_get_index. If this fails, fall back to the original function-index ("con_id"-gpios) based lookup scheme, for backward compatibility and any drivers needing more than one GPIO for any function. Signed-off-by: Chen-Yu Tsai <wens@...e.org> --- drivers/gpio/gpiolib.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 761013f..956f01e 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -2585,8 +2585,13 @@ static struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, else snprintf(prop_name, 32, "gpios"); - desc = of_get_named_gpiod_flags(dev->of_node, prop_name, idx, - &of_flags); + /* try gpio-names based lookup first */ + desc = of_get_gpiod_flags_by_name(dev->of_node, con_id, &of_flags); + + /* fallback to function based lookup */ + if (IS_ERR(desc)) + desc = of_get_named_gpiod_flags(dev->of_node, prop_name, idx, + &of_flags); if (IS_ERR(desc)) return desc; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists