summaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2018-01-04 22:31:11 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-04-13 19:48:11 +0200
commitc5aa51c82e6ed7c203b2b8415645dfea249cc369 (patch)
tree9510a1b2aadcf64a8776340ae47abd85143fa703 /drivers/gpio
parent2707d9b2f90136cfaea307198d83959ca8da815e (diff)
downloadlinux-stable-c5aa51c82e6ed7c203b2b8415645dfea249cc369.tar.gz
linux-stable-c5aa51c82e6ed7c203b2b8415645dfea249cc369.tar.bz2
linux-stable-c5aa51c82e6ed7c203b2b8415645dfea249cc369.zip
gpio: label descriptors using the device name
[ Upstream commit 24e78079bf2250874e33da2e7cfbb6db72d3caf4 ] Some GPIO lines appear named "?" in the lsgpio dump due to their requesting drivers not passing a reasonable label. Most typically this happens if a device tree node just defines gpios = <...> and not foo-gpios = <...>, the former gets named "foo" and the latter gets named "?". However the struct device passed in is always valid so let's just label the GPIO with dev_name() on the device if no proper label was passed. Cc: Reported-by: Jason Kridner <jkridner@beagleboard.org> Reported-by: Jason Kridner <jkridner@beagleboard.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpiolib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index f3c3680963b9..4f54ff45e09e 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -3231,7 +3231,8 @@ struct gpio_desc *__must_check gpiod_get_index(struct device *dev,
return desc;
}
- status = gpiod_request(desc, con_id);
+ /* If a connection label was passed use that, else use the device name as label */
+ status = gpiod_request(desc, con_id ? con_id : dev_name(dev));
if (status < 0)
return ERR_PTR(status);