2024-04-25 15:49:07

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 0/3] drm/panel: ili9341: Obvious fixes

A few obvious fixes to the driver.

Andy Shevchenko (3):
drm/panel: ili9341: Correct use of device property APIs
drm/panel: ili9341: Respect deferred probe
drm/panel: ili9341: Use predefined error codes

drivers/gpu/drm/panel/Kconfig | 2 +-
drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 13 +++++++------
2 files changed, 8 insertions(+), 7 deletions(-)

--
2.43.0.rc1.1336.g36b5255a03ac



2024-04-25 18:22:22

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 2/3] 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: 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);
--
2.43.0.rc1.1336.g36b5255a03ac


2024-04-25 18:26:16

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 3/3] drm/panel: ili9341: Use predefined error codes

In one case the -1 is returned which is quite confusing code for
the wrong device ID, in another the ret is returning instead of
plain 0 that also confusing as readed may ask the possible meaning
of positive codes, which are never the case there. Convert both
to use explicit predefined error codes to make it clear what's going
on there.

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 24c74c56e564..b933380b7eb7 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9341.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9341.c
@@ -422,7 +422,7 @@ static int ili9341_dpi_prepare(struct drm_panel *panel)

ili9341_dpi_init(ili);

- return ret;
+ return 0;
}

static int ili9341_dpi_enable(struct drm_panel *panel)
@@ -726,7 +726,7 @@ static int ili9341_probe(struct spi_device *spi)
else if (!strcmp(id->name, "yx240qv29"))
return ili9341_dbi_probe(spi, dc, reset);

- return -1;
+ return -ENODEV;
}

static void ili9341_remove(struct spi_device *spi)
--
2.43.0.rc1.1336.g36b5255a03ac


2024-04-30 10:22:06

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH v1 2/3] drm/panel: ili9341: Respect deferred probe

On Thu, Apr 25, 2024 at 05:26:18PM +0300, 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(-)

Reviewed-by: Dmitry Baryshkov <[email protected]>


--
With best wishes
Dmitry

2024-04-30 16:53:12

by Sui Jingfeng

[permalink] [raw]
Subject: Re: [v1,2/3] drm/panel: ili9341: Respect deferred probe

Hi,


On 2024/4/25 22: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]>
> Reviewed-by: Neil Armstrong <[email protected]>


Reviewed-by: Sui Jingfeng <[email protected]>

--
Best regards,
Sui


2024-04-30 17:01:07

by Sui Jingfeng

[permalink] [raw]
Subject: Re: [v1,3/3] drm/panel: ili9341: Use predefined error codes


On 2024/4/25 22:26, Andy Shevchenko wrote:
> In one case the -1 is returned which is quite confusing code for
> the wrong device ID, in another the ret is returning instead of
> plain 0 that also confusing as readed may ask the possible meaning
> of positive codes, which are never the case there. Convert both
> to use explicit predefined error codes to make it clear what's going
> on there.
>
> Fixes: 5a04227326b0 ("drm/panel: Add ilitek ili9341 panel driver")
> Signed-off-by: Andy Shevchenko <[email protected]>
> Reviewed-by: Neil Armstrong <[email protected]>


Reviewed-by: Sui Jingfeng <[email protected]>


--
Best regards,
Sui


2024-05-02 07:44:06

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH v1 0/3] drm/panel: ili9341: Obvious fixes

Hi,

On Thu, 25 Apr 2024 17:26:16 +0300, Andy Shevchenko wrote:
> A few obvious fixes to the driver.
>
> Andy Shevchenko (3):
> drm/panel: ili9341: Correct use of device property APIs
> drm/panel: ili9341: Respect deferred probe
> drm/panel: ili9341: Use predefined error codes
>
> [...]

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-fixes)

[1/3] drm/panel: ili9341: Correct use of device property APIs
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/d43cd48ef1791801c61a54fade4a88d294dedf77
[2/3] drm/panel: ili9341: Respect deferred probe
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/740fc1e0509be3f7e2207e89125b06119ed62943
[3/3] drm/panel: ili9341: Use predefined error codes
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/da85f0aaa9f21999753b01d45c0343f885a8f905

--
Neil


2024-05-02 11:38:50

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 0/3] drm/panel: ili9341: Obvious fixes

On Thu, May 02, 2024 at 09:43:42AM +0200, Neil Armstrong wrote:
> Hi,
>
> On Thu, 25 Apr 2024 17:26:16 +0300, Andy Shevchenko wrote:
> > A few obvious fixes to the driver.
> >
> > Andy Shevchenko (3):
> > drm/panel: ili9341: Correct use of device property APIs
> > drm/panel: ili9341: Respect deferred probe
> > drm/panel: ili9341: Use predefined error codes
> >
> > [...]
>
> Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-fixes)
>
> [1/3] drm/panel: ili9341: Correct use of device property APIs
> https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/d43cd48ef1791801c61a54fade4a88d294dedf77
> [2/3] drm/panel: ili9341: Respect deferred probe
> https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/740fc1e0509be3f7e2207e89125b06119ed62943
> [3/3] drm/panel: ili9341: Use predefined error codes
> https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/da85f0aaa9f21999753b01d45c0343f885a8f905

Thank you, Neil, appreciated!

--
With Best Regards,
Andy Shevchenko