2024-05-28 03:09:30

by Chen Ni

[permalink] [raw]
Subject: [PATCH] drm/panel: sitronix-st7789v: Add check for of_drm_get_panel_orientation

Add check for the return value of of_drm_get_panel_orientation() and
return the error if it fails in order to catch the error.

Fixes: b27c0f6d208d ("drm/panel: sitronix-st7789v: add panel orientation support")
Signed-off-by: Chen Ni <[email protected]>
---
drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
index 88e80fe98112..8b15e225bf37 100644
--- a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
@@ -643,7 +643,9 @@ static int st7789v_probe(struct spi_device *spi)
if (ret)
return dev_err_probe(dev, ret, "Failed to get backlight\n");

- of_drm_get_panel_orientation(spi->dev.of_node, &ctx->orientation);
+ ret = of_drm_get_panel_orientation(spi->dev.of_node, &ctx->orientation);
+ if (ret)
+ return dev_err_probe(&spi->dev, ret, "Failed to get orientation\n");

drm_panel_add(&ctx->panel);

--
2.25.1



2024-05-28 08:51:20

by Michael Riesch

[permalink] [raw]
Subject: Re: [PATCH] drm/panel: sitronix-st7789v: Add check for of_drm_get_panel_orientation

Hi Chen Ni,

On 5/28/24 05:08, Chen Ni wrote:
> Add check for the return value of of_drm_get_panel_orientation() and
> return the error if it fails in order to catch the error.
>
> Fixes: b27c0f6d208d ("drm/panel: sitronix-st7789v: add panel orientation support")
> Signed-off-by: Chen Ni <[email protected]>
> ---
> drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> index 88e80fe98112..8b15e225bf37 100644
> --- a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> +++ b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> @@ -643,7 +643,9 @@ static int st7789v_probe(struct spi_device *spi)
> if (ret)
> return dev_err_probe(dev, ret, "Failed to get backlight\n");
>
> - of_drm_get_panel_orientation(spi->dev.of_node, &ctx->orientation);
> + ret = of_drm_get_panel_orientation(spi->dev.of_node, &ctx->orientation);
> + if (ret)
> + return dev_err_probe(&spi->dev, ret, "Failed to get orientation\n");
>
> drm_panel_add(&ctx->panel);

I was worried that this effectively makes "rotation" a required property
(although it is not marked required in the bindings documentation) but
it turns out that of_drm_get_panel_orientation handles a missing
"rotation" property gracefully.

Also, all other panel drivers I checked handle the
of_drm_get_panel_orientation call as you suggested. Nice to see this
becoming aligned.

Reviewed-by: Michael Riesch <[email protected]>

Thanks and best regards,
Michael

2024-05-28 16:40:09

by Jessica Zhang

[permalink] [raw]
Subject: Re: [PATCH] drm/panel: sitronix-st7789v: Add check for of_drm_get_panel_orientation



On 5/27/2024 8:08 PM, Chen Ni wrote:
> Add check for the return value of of_drm_get_panel_orientation() and
> return the error if it fails in order to catch the error.
>
> Fixes: b27c0f6d208d ("drm/panel: sitronix-st7789v: add panel orientation support")
> Signed-off-by: Chen Ni <[email protected]>

Hi Chen Ni,

Acked-by: Jessica Zhang <[email protected]>

Thanks,

Jessica Zhang

> ---
> drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> index 88e80fe98112..8b15e225bf37 100644
> --- a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> +++ b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> @@ -643,7 +643,9 @@ static int st7789v_probe(struct spi_device *spi)
> if (ret)
> return dev_err_probe(dev, ret, "Failed to get backlight\n");
>
> - of_drm_get_panel_orientation(spi->dev.of_node, &ctx->orientation);
> + ret = of_drm_get_panel_orientation(spi->dev.of_node, &ctx->orientation);
> + if (ret)
> + return dev_err_probe(&spi->dev, ret, "Failed to get orientation\n");
>
> drm_panel_add(&ctx->panel);
>
> --
> 2.25.1
>