[PATCH 06/10] panel/th101mb31ig002-28a: Use refcounted allocation in place of devm_kzalloc()

Anusha Srivatsa posted 10 patches 1 week, 2 days ago
[PATCH 06/10] panel/th101mb31ig002-28a: Use refcounted allocation in place of devm_kzalloc()
Posted by Anusha Srivatsa 1 week, 2 days ago
Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
 drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c b/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c
index 0b87f1e6ecaea71f10a249bdc53466d281f07a34..7ae196424b6dfb731cd1ea48363c4fa1e6c36464 100644
--- a/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c
+++ b/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c
@@ -349,9 +349,11 @@ static int boe_th101mb31ig002_dsi_probe(struct mipi_dsi_device *dsi)
 	const struct panel_desc *desc;
 	int ret;
 
-	ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	panel = devm_drm_panel_alloc(dev, struct panel_desc, panel,
+				     &boe_th101mb31ig002_funcs,
+				     DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(panel))
+		return PTR_ERR(panel);
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 	ctx->dsi = dsi;
@@ -383,9 +385,6 @@ static int boe_th101mb31ig002_dsi_probe(struct mipi_dsi_device *dsi)
 		return dev_err_probe(&dsi->dev, ret,
 				     "Failed to get orientation\n");
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &boe_th101mb31ig002_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1
Re: [PATCH 06/10] panel/th101mb31ig002-28a: Use refcounted allocation in place of devm_kzalloc()
Posted by Thomas Zimmermann 2 days, 10 hours ago
Hi

this patch doesn't build.

linux/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c: In function 
‘boe_th101mb31ig002_dsi_probe’:
linux/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c:352:9: error: 
‘panel’ undeclared (first use in this function)
   352 |         panel = devm_drm_panel_alloc(dev, struct panel_desc, panel,
       |         ^~~~~
linux/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c:352:9: note: 
each undeclared identifier is reported only once for each function it 
appears in
In file included from 
linux/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c:18:
linux/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c:352:38: 
error: ‘dev’ undeclared (first use in this function); did you mean ‘cdev’?
   352 |         panel = devm_drm_panel_alloc(dev, struct panel_desc, panel,
       |                                      ^~~


Please fix.

Best regards
Thomas

Am 01.04.25 um 18:03 schrieb Anusha Srivatsa:
> Move to using the new API devm_drm_panel_alloc() to allocate the
> panel.
>
> Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
> ---
>   drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c | 11 +++++------
>   1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c b/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c
> index 0b87f1e6ecaea71f10a249bdc53466d281f07a34..7ae196424b6dfb731cd1ea48363c4fa1e6c36464 100644
> --- a/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c
> +++ b/drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c
> @@ -349,9 +349,11 @@ static int boe_th101mb31ig002_dsi_probe(struct mipi_dsi_device *dsi)
>   	const struct panel_desc *desc;
>   	int ret;
>   
> -	ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
> -	if (!ctx)
> -		return -ENOMEM;
> +	panel = devm_drm_panel_alloc(dev, struct panel_desc, panel,
> +				     &boe_th101mb31ig002_funcs,
> +				     DRM_MODE_CONNECTOR_DSI);
> +	if (IS_ERR(panel))
> +		return PTR_ERR(panel);
>   
>   	mipi_dsi_set_drvdata(dsi, ctx);
>   	ctx->dsi = dsi;
> @@ -383,9 +385,6 @@ static int boe_th101mb31ig002_dsi_probe(struct mipi_dsi_device *dsi)
>   		return dev_err_probe(&dsi->dev, ret,
>   				     "Failed to get orientation\n");
>   
> -	drm_panel_init(&ctx->panel, &dsi->dev, &boe_th101mb31ig002_funcs,
> -		       DRM_MODE_CONNECTOR_DSI);
> -
>   	ret = drm_panel_of_backlight(&ctx->panel);
>   	if (ret)
>   		return ret;
>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)