On 25/04/2024 16:26, Andy Shevchenko wrote:
> 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: 5a04227326b0 ("drm/panel: Add ilitek ili9341 panel driver")
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9341.c b/drivers/gpu/drm/panel/panel-ilitek-ili9341.c
> index 7584ddb0e441..24c74c56e564 100644
> --- a/drivers/gpu/drm/panel/panel-ilitek-ili9341.c
> +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9341.c
> @@ -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);
Reviewed-by: Neil Armstrong <[email protected]>