diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2018-01-04 22:31:11 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2018-01-05 09:25:42 +0100 |
commit | 24e78079bf2250874e33da2e7cfbb6db72d3caf4 (patch) | |
tree | 9233c996a46845be3f7a54c044a21514dd06b8e3 | |
parent | 088413bc0bd5f5fb66ca22a19d66a49d7154ba4c (diff) | |
download | linux-24e78079bf2250874e33da2e7cfbb6db72d3caf4.tar.bz2 |
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>
-rw-r--r-- | drivers/gpio/gpiolib.c | 3 |
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); |