Commit 740fc1e0 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Neil Armstrong
Browse files

drm/panel: ili9341: Respect deferred probe



GPIO controller might not be available when driver is being probed.
There are plenty of reasons why, one of which is deferred probe.

Since GPIOs are optional, return any error code we got to the upper
layer, including deferred probe. With that in mind, use dev_err_probe()
in order to avoid spamming the logs.

Fixes: 5a042273 ("drm/panel: Add ilitek ili9341 panel driver")
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: default avatarSui Jingfeng <sui.jingfeng@linux.dev>
Link: https://lore.kernel.org/r/20240425142706.2440113-3-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240425142706.2440113-3-andriy.shevchenko@linux.intel.com
parent d43cd48e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -715,11 +715,11 @@ static int ili9341_probe(struct spi_device *spi)

	reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
	if (IS_ERR(reset))
		dev_err(dev, "Failed to get gpio 'reset'\n");
		return dev_err_probe(dev, PTR_ERR(reset), "Failed to get gpio 'reset'\n");

	dc = devm_gpiod_get_optional(dev, "dc", GPIOD_OUT_LOW);
	if (IS_ERR(dc))
		dev_err(dev, "Failed to get gpio 'dc'\n");
		return dev_err_probe(dev, PTR_ERR(dc), "Failed to get gpio 'dc'\n");

	if (!strcmp(id->name, "sf-tc240t-9370-t"))
		return ili9341_dpi_probe(spi, dc, reset);