dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] NT39016 cleanup
@ 2020-08-20 12:12 Paul Cercueil
  2020-08-20 12:12 ` [PATCH v2 1/2] drm/panel: novatek,nt39016: Reorder calls in probe Paul Cercueil
  2020-08-20 12:12 ` [PATCH v2 2/2] drm/panel: novatek, nt39016: Remove 'dev' field in priv struct Paul Cercueil
  0 siblings, 2 replies; 6+ messages in thread
From: Paul Cercueil @ 2020-08-20 12:12 UTC (permalink / raw)
  To: Thierry Reding, Sam Ravnborg; +Cc: Paul Cercueil, od, linux-kernel, dri-devel

A few cleanups to the Novatek NT39016 panel driver:

- Reorder function calls in probe, so that drm_panel_of_backlight() is
  called after drm_panel_init(), as requested by the function's
  documentation;
- Use the 'dev' field inside the drm_panel structure, instead of using a
  separate field in the driver's private structure.

Cheers,
-Paul

Paul Cercueil (2):
  drm/panel: novatek,nt39016: Reorder calls in probe
  drm/panel: novatek,nt39016: Remove 'dev' field in priv struct

 drivers/gpu/drm/panel/panel-novatek-nt39016.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

-- 
2.28.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/2] drm/panel: novatek,nt39016: Reorder calls in probe
  2020-08-20 12:12 [PATCH v2 0/2] NT39016 cleanup Paul Cercueil
@ 2020-08-20 12:12 ` Paul Cercueil
  2020-08-20 15:53   ` [PATCH v2 1/2] drm/panel: novatek, nt39016: " Sam Ravnborg
  2020-08-20 12:12 ` [PATCH v2 2/2] drm/panel: novatek, nt39016: Remove 'dev' field in priv struct Paul Cercueil
  1 sibling, 1 reply; 6+ messages in thread
From: Paul Cercueil @ 2020-08-20 12:12 UTC (permalink / raw)
  To: Thierry Reding, Sam Ravnborg; +Cc: Paul Cercueil, od, linux-kernel, dri-devel

The drm_panel_of_backlight() function must be called after
drm_panel_init(), according to the function's documentation; otherwise
the backlight won't be properly initialized.

v2: New patch

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 drivers/gpu/drm/panel/panel-novatek-nt39016.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
index 39f7be679da5..daa583030246 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
@@ -285,6 +285,9 @@ static int nt39016_probe(struct spi_device *spi)
 		return PTR_ERR(panel->map);
 	}
 
+	drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs,
+		       DRM_MODE_CONNECTOR_DPI);
+
 	err = drm_panel_of_backlight(&panel->drm_panel);
 	if (err) {
 		if (err != -EPROBE_DEFER)
@@ -292,9 +295,6 @@ static int nt39016_probe(struct spi_device *spi)
 		return err;
 	}
 
-	drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	drm_panel_add(&panel->drm_panel);
 
 	return 0;
-- 
2.28.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/2] drm/panel: novatek, nt39016: Remove 'dev' field in priv struct
  2020-08-20 12:12 [PATCH v2 0/2] NT39016 cleanup Paul Cercueil
  2020-08-20 12:12 ` [PATCH v2 1/2] drm/panel: novatek,nt39016: Reorder calls in probe Paul Cercueil
@ 2020-08-20 12:12 ` Paul Cercueil
  2020-08-20 15:53   ` Sam Ravnborg
  1 sibling, 1 reply; 6+ messages in thread
From: Paul Cercueil @ 2020-08-20 12:12 UTC (permalink / raw)
  To: Thierry Reding, Sam Ravnborg; +Cc: Paul Cercueil, od, linux-kernel, dri-devel

There is already a 'struct device' pointer in the drm_panel structure,
that we can access easily from our priv structure, so there's no need
for a separate 'dev' field there.

v2: Don't initialize drm_panel->dev manually, it is done by
drm_panel_init().

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 drivers/gpu/drm/panel/panel-novatek-nt39016.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
index daa583030246..f8151fe3ac9a 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
@@ -56,7 +56,6 @@ struct nt39016_panel_info {
 
 struct nt39016 {
 	struct drm_panel drm_panel;
-	struct device *dev;
 	struct regmap *map;
 	struct regulator *supply;
 	const struct nt39016_panel_info *panel_info;
@@ -124,7 +123,7 @@ static int nt39016_prepare(struct drm_panel *drm_panel)
 
 	err = regulator_enable(panel->supply);
 	if (err) {
-		dev_err(panel->dev, "Failed to enable power supply: %d\n", err);
+		dev_err(drm_panel->dev, "Failed to enable power supply: %d\n", err);
 		return err;
 	}
 
@@ -143,7 +142,7 @@ static int nt39016_prepare(struct drm_panel *drm_panel)
 	err = regmap_multi_reg_write(panel->map, nt39016_panel_regs,
 				     ARRAY_SIZE(nt39016_panel_regs));
 	if (err) {
-		dev_err(panel->dev, "Failed to init registers: %d\n", err);
+		dev_err(drm_panel->dev, "Failed to init registers: %d\n", err);
 		goto err_disable_regulator;
 	}
 
@@ -173,7 +172,7 @@ static int nt39016_enable(struct drm_panel *drm_panel)
 	ret = regmap_write(panel->map, NT39016_REG_SYSTEM,
 			   NT39016_SYSTEM_RESET_N | NT39016_SYSTEM_STANDBY);
 	if (ret) {
-		dev_err(panel->dev, "Unable to enable panel: %d\n", ret);
+		dev_err(drm_panel->dev, "Unable to enable panel: %d\n", ret);
 		return ret;
 	}
 
@@ -193,7 +192,7 @@ static int nt39016_disable(struct drm_panel *drm_panel)
 	err = regmap_write(panel->map, NT39016_REG_SYSTEM,
 			   NT39016_SYSTEM_RESET_N);
 	if (err) {
-		dev_err(panel->dev, "Unable to disable panel: %d\n", err);
+		dev_err(drm_panel->dev, "Unable to disable panel: %d\n", err);
 		return err;
 	}
 
@@ -252,7 +251,6 @@ static int nt39016_probe(struct spi_device *spi)
 	if (!panel)
 		return -ENOMEM;
 
-	panel->dev = dev;
 	spi_set_drvdata(spi, panel);
 
 	panel->panel_info = of_device_get_match_data(dev);
-- 
2.28.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] drm/panel: novatek, nt39016: Reorder calls in probe
  2020-08-20 12:12 ` [PATCH v2 1/2] drm/panel: novatek,nt39016: Reorder calls in probe Paul Cercueil
@ 2020-08-20 15:53   ` Sam Ravnborg
  2020-08-20 16:37     ` Paul Cercueil
  0 siblings, 1 reply; 6+ messages in thread
From: Sam Ravnborg @ 2020-08-20 15:53 UTC (permalink / raw)
  To: Paul Cercueil; +Cc: Thierry Reding, od, linux-kernel, dri-devel

On Thu, Aug 20, 2020 at 02:12:55PM +0200, Paul Cercueil wrote:
> The drm_panel_of_backlight() function must be called after
> drm_panel_init(), according to the function's documentation; otherwise
> the backlight won't be properly initialized.
> 
> v2: New patch
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
> ---
>  drivers/gpu/drm/panel/panel-novatek-nt39016.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> index 39f7be679da5..daa583030246 100644
> --- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> +++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> @@ -285,6 +285,9 @@ static int nt39016_probe(struct spi_device *spi)
>  		return PTR_ERR(panel->map);
>  	}
>  
> +	drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs,
> +		       DRM_MODE_CONNECTOR_DPI);
> +
>  	err = drm_panel_of_backlight(&panel->drm_panel);
>  	if (err) {
>  		if (err != -EPROBE_DEFER)
> @@ -292,9 +295,6 @@ static int nt39016_probe(struct spi_device *spi)
>  		return err;
>  	}
>  
> -	drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs,
> -		       DRM_MODE_CONNECTOR_DPI);
> -
>  	drm_panel_add(&panel->drm_panel);
>  
>  	return 0;
> -- 
> 2.28.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 2/2] drm/panel: novatek, nt39016: Remove 'dev' field in priv struct
  2020-08-20 12:12 ` [PATCH v2 2/2] drm/panel: novatek, nt39016: Remove 'dev' field in priv struct Paul Cercueil
@ 2020-08-20 15:53   ` Sam Ravnborg
  0 siblings, 0 replies; 6+ messages in thread
From: Sam Ravnborg @ 2020-08-20 15:53 UTC (permalink / raw)
  To: Paul Cercueil; +Cc: Thierry Reding, od, linux-kernel, dri-devel

On Thu, Aug 20, 2020 at 02:12:56PM +0200, Paul Cercueil wrote:
> There is already a 'struct device' pointer in the drm_panel structure,
> that we can access easily from our priv structure, so there's no need
> for a separate 'dev' field there.
> 
> v2: Don't initialize drm_panel->dev manually, it is done by
> drm_panel_init().
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
> ---
>  drivers/gpu/drm/panel/panel-novatek-nt39016.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> index daa583030246..f8151fe3ac9a 100644
> --- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> +++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
> @@ -56,7 +56,6 @@ struct nt39016_panel_info {
>  
>  struct nt39016 {
>  	struct drm_panel drm_panel;
> -	struct device *dev;
>  	struct regmap *map;
>  	struct regulator *supply;
>  	const struct nt39016_panel_info *panel_info;
> @@ -124,7 +123,7 @@ static int nt39016_prepare(struct drm_panel *drm_panel)
>  
>  	err = regulator_enable(panel->supply);
>  	if (err) {
> -		dev_err(panel->dev, "Failed to enable power supply: %d\n", err);
> +		dev_err(drm_panel->dev, "Failed to enable power supply: %d\n", err);
>  		return err;
>  	}
>  
> @@ -143,7 +142,7 @@ static int nt39016_prepare(struct drm_panel *drm_panel)
>  	err = regmap_multi_reg_write(panel->map, nt39016_panel_regs,
>  				     ARRAY_SIZE(nt39016_panel_regs));
>  	if (err) {
> -		dev_err(panel->dev, "Failed to init registers: %d\n", err);
> +		dev_err(drm_panel->dev, "Failed to init registers: %d\n", err);
>  		goto err_disable_regulator;
>  	}
>  
> @@ -173,7 +172,7 @@ static int nt39016_enable(struct drm_panel *drm_panel)
>  	ret = regmap_write(panel->map, NT39016_REG_SYSTEM,
>  			   NT39016_SYSTEM_RESET_N | NT39016_SYSTEM_STANDBY);
>  	if (ret) {
> -		dev_err(panel->dev, "Unable to enable panel: %d\n", ret);
> +		dev_err(drm_panel->dev, "Unable to enable panel: %d\n", ret);
>  		return ret;
>  	}
>  
> @@ -193,7 +192,7 @@ static int nt39016_disable(struct drm_panel *drm_panel)
>  	err = regmap_write(panel->map, NT39016_REG_SYSTEM,
>  			   NT39016_SYSTEM_RESET_N);
>  	if (err) {
> -		dev_err(panel->dev, "Unable to disable panel: %d\n", err);
> +		dev_err(drm_panel->dev, "Unable to disable panel: %d\n", err);
>  		return err;
>  	}
>  
> @@ -252,7 +251,6 @@ static int nt39016_probe(struct spi_device *spi)
>  	if (!panel)
>  		return -ENOMEM;
>  
> -	panel->dev = dev;
>  	spi_set_drvdata(spi, panel);
>  
>  	panel->panel_info = of_device_get_match_data(dev);
> -- 
> 2.28.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] drm/panel: novatek, nt39016: Reorder calls in probe
  2020-08-20 15:53   ` [PATCH v2 1/2] drm/panel: novatek, nt39016: " Sam Ravnborg
@ 2020-08-20 16:37     ` Paul Cercueil
  0 siblings, 0 replies; 6+ messages in thread
From: Paul Cercueil @ 2020-08-20 16:37 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Thierry Reding, od, linux-kernel, dri-devel

Hi Sam,

Le jeu. 20 août 2020 à 17:53, Sam Ravnborg <sam@ravnborg.org> a 
écrit :
> On Thu, Aug 20, 2020 at 02:12:55PM +0200, Paul Cercueil wrote:
>>  The drm_panel_of_backlight() function must be called after
>>  drm_panel_init(), according to the function's documentation; 
>> otherwise
>>  the backlight won't be properly initialized.
>> 
>>  v2: New patch
>> 
>>  Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> Reviewed-by: Sam Ravnborg <sam@ravnborg.org>

Patchset pushed to drm-misc-next.

Thanks!
-Paul

>>  ---
>>   drivers/gpu/drm/panel/panel-novatek-nt39016.c | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>> 
>>  diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c 
>> b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
>>  index 39f7be679da5..daa583030246 100644
>>  --- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
>>  +++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
>>  @@ -285,6 +285,9 @@ static int nt39016_probe(struct spi_device *spi)
>>   		return PTR_ERR(panel->map);
>>   	}
>> 
>>  +	drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs,
>>  +		       DRM_MODE_CONNECTOR_DPI);
>>  +
>>   	err = drm_panel_of_backlight(&panel->drm_panel);
>>   	if (err) {
>>   		if (err != -EPROBE_DEFER)
>>  @@ -292,9 +295,6 @@ static int nt39016_probe(struct spi_device *spi)
>>   		return err;
>>   	}
>> 
>>  -	drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs,
>>  -		       DRM_MODE_CONNECTOR_DPI);
>>  -
>>   	drm_panel_add(&panel->drm_panel);
>> 
>>   	return 0;
>>  --
>>  2.28.0


_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-08-21  7:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-20 12:12 [PATCH v2 0/2] NT39016 cleanup Paul Cercueil
2020-08-20 12:12 ` [PATCH v2 1/2] drm/panel: novatek,nt39016: Reorder calls in probe Paul Cercueil
2020-08-20 15:53   ` [PATCH v2 1/2] drm/panel: novatek, nt39016: " Sam Ravnborg
2020-08-20 16:37     ` Paul Cercueil
2020-08-20 12:12 ` [PATCH v2 2/2] drm/panel: novatek, nt39016: Remove 'dev' field in priv struct Paul Cercueil
2020-08-20 15:53   ` Sam Ravnborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).