aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2018-01-04 22:31:11 +0100
committerLinus Walleij <linus.walleij@linaro.org>2018-01-05 09:25:42 +0100
commit24e78079bf2250874e33da2e7cfbb6db72d3caf4 (patch)
tree9233c996a46845be3f7a54c044a21514dd06b8e3 /drivers/gpio
parentgpio: omap: Give unique labels to each GPIO bank/chip (diff)
downloadlinux-dev-24e78079bf2250874e33da2e7cfbb6db72d3caf4.tar.xz
linux-dev-24e78079bf2250874e33da2e7cfbb6db72d3caf4.zip
gpio: label descriptors using the device name
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>
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 7dde703b6da2..986293143068 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -3650,7 +3650,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);