The binding document for this device says that all GPIOs are optional, but the driver fails to bind on OMAP3 LDP, reporting: panel-sharp-ls037v7dw01: probe of display failed with error -2 Unfortunately, commit ca8c67dafdb7 ("fbdev: omap2: improve usage of gpiod API") removed the -ENOENT handling without converting the gpiod function to use the optional variant, causing all GPIOs to become mandatory. Since the LDP hard-wires some of the panel control signals, there are no GPIOs that could be specified in DT to satisfy this. Switch the driver to use the devm_gpiod_get_index_optional() rather than devm_gpiod_get_index() to conform to its binding documentation. Fixes: ca8c67dafdb7 ("fbdev: omap2: improve usage of gpiod API") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c index 64b1369cb274..68f2f8d9c430 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c @@ -151,7 +151,7 @@ static int sharp_ls_get_gpio_of(struct device *dev, int index, int val, *gpiod = NULL; - gd = devm_gpiod_get_index(dev, desc, index, GPIOD_OUT_LOW); + gd = devm_gpiod_get_index_optional(dev, desc, index, GPIOD_OUT_LOW); if (IS_ERR(gd)) return PTR_ERR(gd); -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel