| From foo@baz Mon Apr 9 17:09:24 CEST 2018 |
| From: Linus Walleij <linus.walleij@linaro.org> |
| Date: Thu, 4 Jan 2018 22:31:11 +0100 |
| Subject: gpio: label descriptors using the device name |
| |
| From: Linus Walleij <linus.walleij@linaro.org> |
| |
| |
| [ 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> |
| --- |
| drivers/gpio/gpiolib.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/gpio/gpiolib.c |
| +++ b/drivers/gpio/gpiolib.c |
| @@ -3231,7 +3231,8 @@ struct gpio_desc *__must_check gpiod_get |
| 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); |
| |