linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3
@ 2025-05-30  2:46 Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 01/46] panel/orisetech-otm8009a: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
                   ` (46 more replies)
  0 siblings, 47 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Final set of drivers to use the new API - devm_drm_panel_alloc().
There are a lot of occurences of the panel allocation across the
subsystem. Much thanks to Maxime for the semanic patch which actually
gives a list of panels allocated unsafely.

virtual report

@ find_add @
identifier add_f;
identifier c;
identifier b;
expression d;
position p;
identifier r;
type T;
@@
add_f(...)
{
...
- T *c;
+ T *c;
...
(
drm_panel_add(&c->b)@p;
)
...
}
@ find_allocation depends on find_add @
identifier alloc_f;
type find_add.T;
identifier cal;
position p;
@@
alloc_f(...)
{
...
- T *cal;
+ T *cal;
...
(
 cal = kzalloc(...)@p;
|
 cal = devm_kzalloc(...)@p;
)
...
}
@ script:python depends on report && (find_add && find_allocation) @
add_f << find_add.add_f;
alloc_f << find_allocation.alloc_f;
add_p << find_add.p;
alloc_p << find_allocation.p;
@@
coccilib.report.print_report(alloc_p[0], "ERROR: Panel Driver is unsafely allocated in %s and added in %s" % (alloc_f, add_f))

The changes to the list of panels that this script gives is done manually.

Very minor changes in this version - refactors, alignment fixes.

With all drivers converted, next chunk of work is to add get() and put()
to drm_panel_add() and drm_panel_remove().

First 2 parts already merged.
Part 1 of the conversion : https://patchwork.freedesktop.org/series/147082/
Part 2 of the conversion : https://patchwork.freedesktop.org/series/147157/

Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
Changes in v2:
- simple refactors, if dev is already dereferenced use it (patch 8, 9,
  21, 32)
- fix alignment in 2 patches (patch 40 and 41)
- Use the right connector in patch 23
- Link to v1: https://lore.kernel.org/r/20250403-b4-drm_panel_mass_driver_convert_part3-v1-0-965b15ad5b8e@redhat.com

---
Anusha Srivatsa (46):
      panel/orisetech-otm8009a: Use refcounted allocation in place of devm_kzalloc()
      panel/raydium-rm67191: Use refcounted allocation in place of devm_kzalloc()
      panel/raydium-rm67200: Use refcounted allocation in place of devm_kzalloc()
      panel/raydium-rm68200: Use refcounted allocation in place of devm_kzalloc()
      panel/raydium-rm692e5: Use refcounted allocation in place of devm_kzalloc()
      panel/raydium-rm69380: Use refcounted allocation in place of devm_kzalloc()
      panel/ronbo-rb070d30: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-ams581vf01: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-ams639rq08: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-atna33xc20: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-db7430: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-ld9040: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-s6d16d0: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-s6d27a1: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-s6d7aa0: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-s6e3fa7: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-s6e3ha2: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-s6e3ha8: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-s6e63j0x03: Use refcounted allocation in place of devm_kzalloc()
      panel/s6e88a0-ams427ap24: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-s6e8aa0: Use refcounted allocation in place of devm_kzalloc()
      panel/samsung-sofef00: Use refcounted allocation in place of devm_kzalloc()
      panel/seiko-43wvf1g: Use refcounted allocation in place of devm_kzalloc()
      panel/sharp-ls037v7dw01: Use refcounted allocation in place of devm_kzalloc()
      panel/sharp-ls060t1sx01: Use refcounted allocation in place of devm_kzalloc()
      panel/sitronix-st7701: Use refcounted allocation in place of devm_kzalloc()
      panel/sitronix-st7703: Use refcounted allocation in place of devm_kzalloc()
      panel/sitronix-st7789v: Use refcounted allocation in place of devm_kzalloc()
      panel/sony-acx565akm: Use refcounted allocation in place of devm_kzalloc()
      panel/sony-td4353-jdi: Use refcounted allocation in place of devm_kzalloc()
      panel/truly-nt35521: Use refcounted allocation in place of devm_kzalloc()
      panel/panel-summit: Use refcounted allocation in place of devm_kzalloc()
      panel/synaptics-r63353: allocation in place of devm_kzalloc()
      panel/tpo-td028ttec1: Use refcounted allocation in place of devm_kzalloc()
      panel/tpo-td043mtea1: Use refcounted allocation in place of devm_kzalloc()
      panel/tpo-tpg110: Use refcounted allocation in place of devm_kzalloc()
      panel/visionox-r66451: Use refcounted allocation in place of devm_kzalloc()
      panel/visionox-rm69299: Use refcounted allocation in place of devm_kzalloc()
      panel/visionox-rm692e5.c: Use refcounted allocation in place of devm_kzalloc()
      panel/visionox-vtdr6130: Use refcounted allocation in place of devm_kzalloc()
      panel/widechips-ws2401: Use refcounted allocation in place of devm_kzalloc()
      panel/xinpeng-xpp055c272: Use refcounted allocation in place of devm_kzalloc()
      panel/s6e88a0-ams452ef01: Use refcounted allocation in place of devm_kzalloc()
      panel/nec-nl8048hl11: Use refcounted allocation in place of devm_kzalloc()
      panel/panel-lvds: Use refcounted allocation in place of devm_kzalloc()
      panel/lg-lb035q02: Use refcounted allocation in place of devm_kzalloc()

 drivers/gpu/drm/panel/panel-lg-lb035q02.c                | 10 ++++------
 drivers/gpu/drm/panel/panel-lvds.c                       | 12 +++++-------
 drivers/gpu/drm/panel/panel-nec-nl8048hl11.c             | 10 ++++------
 drivers/gpu/drm/panel/panel-orisetech-otm8009a.c         | 11 +++++------
 drivers/gpu/drm/panel/panel-raydium-rm67191.c            | 10 +++++-----
 drivers/gpu/drm/panel/panel-raydium-rm67200.c            | 11 +++++------
 drivers/gpu/drm/panel/panel-raydium-rm68200.c            | 11 +++++------
 drivers/gpu/drm/panel/panel-raydium-rm692e5.c            | 10 +++++-----
 drivers/gpu/drm/panel/panel-raydium-rm69380.c            | 10 +++++-----
 drivers/gpu/drm/panel/panel-ronbo-rb070d30.c             | 11 +++++------
 drivers/gpu/drm/panel/panel-samsung-ams581vf01.c         | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-ams639rq08.c         | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-atna33xc20.c         | 11 ++++++-----
 drivers/gpu/drm/panel/panel-samsung-db7430.c             | 11 +++++------
 drivers/gpu/drm/panel/panel-samsung-ld9040.c             | 11 +++++------
 drivers/gpu/drm/panel/panel-samsung-s6d16d0.c            | 11 +++++------
 drivers/gpu/drm/panel/panel-samsung-s6d27a1.c            | 11 +++++------
 drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c            | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c            | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c            | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-s6e3ha8.c            | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c         | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c | 11 +++++------
 drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c            | 10 +++++-----
 drivers/gpu/drm/panel/panel-samsung-sofef00.c            | 11 +++++------
 drivers/gpu/drm/panel/panel-seiko-43wvf1g.c              | 11 +++++------
 drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c          | 10 ++++------
 drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c          | 11 +++++------
 drivers/gpu/drm/panel/panel-sitronix-st7701.c            |  8 ++++----
 drivers/gpu/drm/panel/panel-sitronix-st7703.c            | 11 +++++------
 drivers/gpu/drm/panel/panel-sitronix-st7789v.c           | 10 ++++------
 drivers/gpu/drm/panel/panel-sony-acx565akm.c             | 10 ++++------
 drivers/gpu/drm/panel/panel-sony-td4353-jdi.c            | 11 +++++------
 drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c   | 11 +++++------
 drivers/gpu/drm/panel/panel-summit.c                     | 10 +++++-----
 drivers/gpu/drm/panel/panel-synaptics-r63353.c           | 11 +++++------
 drivers/gpu/drm/panel/panel-tpo-td028ttec1.c             | 11 +++++------
 drivers/gpu/drm/panel/panel-tpo-td043mtea1.c             | 10 ++++------
 drivers/gpu/drm/panel/panel-tpo-tpg110.c                 | 11 +++++------
 drivers/gpu/drm/panel/panel-visionox-r66451.c            |  9 +++++----
 drivers/gpu/drm/panel/panel-visionox-rm69299.c           | 10 +++++-----
 drivers/gpu/drm/panel/panel-visionox-rm692e5.c           | 10 +++++-----
 drivers/gpu/drm/panel/panel-visionox-vtdr6130.c          | 11 +++++------
 drivers/gpu/drm/panel/panel-widechips-ws2401.c           | 11 +++++------
 drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c         | 10 ++++------
 46 files changed, 223 insertions(+), 257 deletions(-)
---
base-commit: ef818481d9fbaf3483dde0d1faa565a016810de3
change-id: 20250402-b4-drm_panel_mass_driver_convert_part3-9b06bf9d3b22

Best regards,
-- 
Anusha Srivatsa <asrivats@redhat.com>


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

* [PATCH v2 01/46] panel/orisetech-otm8009a: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-06-03  7:10   ` Geert Uytterhoeven
  2025-05-30  2:46 ` [PATCH v2 02/46] panel/raydium-rm67191: " Anusha Srivatsa
                   ` (45 subsequent siblings)
  46 siblings, 1 reply; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
index 87bbb25d119a38a0d92bf3eece5c00b4ab38f4a7..a0f58c3b73f693511d146ae191e2e42862336841 100644
--- a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
+++ b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
@@ -424,9 +424,11 @@ static int otm8009a_probe(struct mipi_dsi_device *dsi)
 	struct otm8009a *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct otm8009a, panel,
+				   &otm8009a_drm_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
 	if (IS_ERR(ctx->reset_gpio)) {
@@ -451,9 +453,6 @@ static int otm8009a_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &otm8009a_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ctx->bl_dev = devm_backlight_device_register(dev, dev_name(dev),
 						     dev, ctx,
 						     &otm8009a_backlight_ops,

-- 
2.48.1


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

* [PATCH v2 02/46] panel/raydium-rm67191: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 01/46] panel/orisetech-otm8009a: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 03/46] panel/raydium-rm67200: " Anusha Srivatsa
                   ` (44 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none
---
 drivers/gpu/drm/panel/panel-raydium-rm67191.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-raydium-rm67191.c b/drivers/gpu/drm/panel/panel-raydium-rm67191.c
index b2029e0356358f55e7a13a32202f0e38c7f0434b..2af6aa47a5510122c1e9e697cf42a7fc9993197d 100644
--- a/drivers/gpu/drm/panel/panel-raydium-rm67191.c
+++ b/drivers/gpu/drm/panel/panel-raydium-rm67191.c
@@ -527,9 +527,11 @@ static int rad_panel_probe(struct mipi_dsi_device *dsi)
 	int ret;
 	u32 video_mode;
 
-	panel = devm_kzalloc(&dsi->dev, sizeof(*panel), GFP_KERNEL);
-	if (!panel)
-		return -ENOMEM;
+	panel = devm_drm_panel_alloc(dev, struct rad_panel, panel,
+				     &rad_panel_funcs,
+				     DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(panel))
+		return PTR_ERR(panel);
 
 	mipi_dsi_set_drvdata(dsi, panel);
 
@@ -586,8 +588,6 @@ static int rad_panel_probe(struct mipi_dsi_device *dsi)
 	if (ret)
 		return ret;
 
-	drm_panel_init(&panel->panel, dev, &rad_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	dev_set_drvdata(dev, panel);
 
 	drm_panel_add(&panel->panel);

-- 
2.48.1


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

* [PATCH v2 03/46] panel/raydium-rm67200: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 01/46] panel/orisetech-otm8009a: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 02/46] panel/raydium-rm67191: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 04/46] panel/raydium-rm68200: " Anusha Srivatsa
                   ` (43 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-raydium-rm67200.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-raydium-rm67200.c b/drivers/gpu/drm/panel/panel-raydium-rm67200.c
index 64b685dc11f65b0f402995e27a42df5d69ae4361..1da8225e6f7a5cff94a882874be909db1d28fe86 100644
--- a/drivers/gpu/drm/panel/panel-raydium-rm67200.c
+++ b/drivers/gpu/drm/panel/panel-raydium-rm67200.c
@@ -391,9 +391,11 @@ static int raydium_rm67200_probe(struct mipi_dsi_device *dsi)
 	struct raydium_rm67200 *ctx;
 	int ret = 0;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct raydium_rm67200, panel,
+				   &raydium_rm67200_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->panel_info = device_get_match_data(dev);
 	if (!ctx->panel_info)
@@ -421,9 +423,6 @@ static int raydium_rm67200_probe(struct mipi_dsi_device *dsi)
 			  MIPI_DSI_MODE_LPM;
 	ctx->panel.prepare_prev_first = true;
 
-	drm_panel_init(&ctx->panel, dev, &raydium_rm67200_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v2 04/46] panel/raydium-rm68200: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (2 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 03/46] panel/raydium-rm67200: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 05/46] panel/raydium-rm692e5: " Anusha Srivatsa
                   ` (42 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-raydium-rm68200.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-raydium-rm68200.c b/drivers/gpu/drm/panel/panel-raydium-rm68200.c
index 7b7fe987e2929f6f6ebe9a644bf4ef0cf9292256..669b5f5c1ad9adf5697f7432e4d6ee275ff72e42 100644
--- a/drivers/gpu/drm/panel/panel-raydium-rm68200.c
+++ b/drivers/gpu/drm/panel/panel-raydium-rm68200.c
@@ -327,9 +327,11 @@ static int rm68200_probe(struct mipi_dsi_device *dsi)
 	struct rm68200 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct rm68200, panel,
+				   &rm68200_drm_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
 	if (IS_ERR(ctx->reset_gpio)) {
@@ -355,9 +357,6 @@ static int rm68200_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &rm68200_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v2 05/46] panel/raydium-rm692e5: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (3 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 04/46] panel/raydium-rm68200: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 06/46] panel/raydium-rm69380: " Anusha Srivatsa
                   ` (41 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-raydium-rm692e5.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-raydium-rm692e5.c b/drivers/gpu/drm/panel/panel-raydium-rm692e5.c
index ea1b728e85a2ece226d3df48dbd45a763bc6bd5d..8e9484768657b68a300d42594ab921ee37a5d5a3 100644
--- a/drivers/gpu/drm/panel/panel-raydium-rm692e5.c
+++ b/drivers/gpu/drm/panel/panel-raydium-rm692e5.c
@@ -281,9 +281,11 @@ static int rm692e5_probe(struct mipi_dsi_device *dsi)
 	struct rm692e5_panel *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct rm692e5_panel, panel,
+				   &rm692e5_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->supplies[0].supply = "vddio";
 	ctx->supplies[1].supply = "dvdd";
@@ -306,8 +308,6 @@ static int rm692e5_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_NO_EOT_PACKET |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &rm692e5_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ctx->panel.backlight = rm692e5_create_backlight(dsi);

-- 
2.48.1


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

* [PATCH v2 06/46] panel/raydium-rm69380: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (4 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 05/46] panel/raydium-rm692e5: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 07/46] panel/ronbo-rb070d30: " Anusha Srivatsa
                   ` (40 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-raydium-rm69380.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-raydium-rm69380.c b/drivers/gpu/drm/panel/panel-raydium-rm69380.c
index d3071c01aaeae92c8ff1cdec14a01f64a9ae6460..86769cadec972ff0e7f5ba5275a7d6f2afb37ee1 100644
--- a/drivers/gpu/drm/panel/panel-raydium-rm69380.c
+++ b/drivers/gpu/drm/panel/panel-raydium-rm69380.c
@@ -208,9 +208,11 @@ static int rm69380_probe(struct mipi_dsi_device *dsi)
 	struct device_node *dsi_sec;
 	int ret, i;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct rm69380_panel, panel,
+				   &rm69380_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->supplies[0].supply = "vddio";
 	ctx->supplies[1].supply = "avdd";
@@ -248,8 +250,6 @@ static int rm69380_probe(struct mipi_dsi_device *dsi)
 	ctx->dsi[0] = dsi;
 	mipi_dsi_set_drvdata(dsi, ctx);
 
-	drm_panel_init(&ctx->panel, dev, &rm69380_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ctx->panel.backlight = rm69380_create_backlight(dsi);

-- 
2.48.1


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

* [PATCH v2 07/46] panel/ronbo-rb070d30: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (5 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 06/46] panel/raydium-rm69380: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 08/46] panel/samsung-ams581vf01: " Anusha Srivatsa
                   ` (39 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-ronbo-rb070d30.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c b/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
index 2ef5ea5eaeeb2062372c594d077bd070975119ed..ad35d0fb0a16787ffb87c365c9939c78ff42d67a 100644
--- a/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
+++ b/drivers/gpu/drm/panel/panel-ronbo-rb070d30.c
@@ -143,9 +143,11 @@ static int rb070d30_panel_dsi_probe(struct mipi_dsi_device *dsi)
 	struct rb070d30_panel *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(&dsi->dev, struct rb070d30_panel, panel,
+				   &rb070d30_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->supply = devm_regulator_get(&dsi->dev, "vcc-lcd");
 	if (IS_ERR(ctx->supply))
@@ -154,9 +156,6 @@ static int rb070d30_panel_dsi_probe(struct mipi_dsi_device *dsi)
 	mipi_dsi_set_drvdata(dsi, ctx);
 	ctx->dsi = dsi;
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &rb070d30_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ctx->gpios.reset = devm_gpiod_get(&dsi->dev, "reset", GPIOD_OUT_LOW);
 	if (IS_ERR(ctx->gpios.reset)) {
 		dev_err(&dsi->dev, "Couldn't get our reset GPIO\n");

-- 
2.48.1


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

* [PATCH v2 08/46] panel/samsung-ams581vf01: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (6 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 07/46] panel/ronbo-rb070d30: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 09/46] panel/samsung-ams639rq08: " Anusha Srivatsa
                   ` (38 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: refactor. use &dsi->dev instead of dev.
---
 drivers/gpu/drm/panel/panel-samsung-ams581vf01.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-ams581vf01.c b/drivers/gpu/drm/panel/panel-samsung-ams581vf01.c
index cf61863122520ea1c2f6179bf51cef01d26db45e..188dd7cf0297f59e716dcd8aba3b03684d723bf9 100644
--- a/drivers/gpu/drm/panel/panel-samsung-ams581vf01.c
+++ b/drivers/gpu/drm/panel/panel-samsung-ams581vf01.c
@@ -211,9 +211,11 @@ static int ams581vf01_probe(struct mipi_dsi_device *dsi)
 	struct ams581vf01 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(&dsi->dev, struct ams581vf01, panel,
+				   &ams581vf01_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ret = devm_regulator_bulk_get_const(&dsi->dev,
 					    ARRAY_SIZE(ams581vf01_supplies),
@@ -235,8 +237,6 @@ static int ams581vf01_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_LPM;
 
-	drm_panel_init(&ctx->panel, dev, &ams581vf01_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ctx->panel.backlight = ams581vf01_create_backlight(dsi);

-- 
2.48.1


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

* [PATCH v2 09/46] panel/samsung-ams639rq08: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (7 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 08/46] panel/samsung-ams581vf01: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 10/46] panel/samsung-atna33xc20: " Anusha Srivatsa
                   ` (37 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: refactor. Use dev instead of &dsi->dev.
---
 drivers/gpu/drm/panel/panel-samsung-ams639rq08.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-ams639rq08.c b/drivers/gpu/drm/panel/panel-samsung-ams639rq08.c
index 817365cb5e461f5e0a154b6d9d5c101e05b8945b..f8ebbd4a530bda494d320f691cd13c6747c5f8db 100644
--- a/drivers/gpu/drm/panel/panel-samsung-ams639rq08.c
+++ b/drivers/gpu/drm/panel/panel-samsung-ams639rq08.c
@@ -257,9 +257,11 @@ static int ams639rq08_probe(struct mipi_dsi_device *dsi)
 	struct ams639rq08 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct ams639rq08, panel,
+				   &ams639rq08_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ret = devm_regulator_bulk_get_const(&dsi->dev,
 					    ARRAY_SIZE(ams639rq08_supplies),
@@ -281,8 +283,6 @@ static int ams639rq08_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_LPM;
 
-	drm_panel_init(&ctx->panel, dev, &ams639rq08_panel_funcs,
-			DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ctx->panel.backlight = ams639rq08_create_backlight(dsi);

-- 
2.48.1


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

* [PATCH v2 10/46] panel/samsung-atna33xc20: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (8 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 09/46] panel/samsung-ams639rq08: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 11/46] panel/samsung-db7430: " Anusha Srivatsa
                   ` (36 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-atna33xc20.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-atna33xc20.c b/drivers/gpu/drm/panel/panel-samsung-atna33xc20.c
index 9a482a744b8c15fe1592a09c2bfe17a2bb05b5ac..20ec27d2d6c255be2c33f65d3ff25a41045a9d07 100644
--- a/drivers/gpu/drm/panel/panel-samsung-atna33xc20.c
+++ b/drivers/gpu/drm/panel/panel-samsung-atna33xc20.c
@@ -266,9 +266,12 @@ static int atana33xc20_probe(struct dp_aux_ep_device *aux_ep)
 	struct device *dev = &aux_ep->dev;
 	int ret;
 
-	panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL);
-	if (!panel)
-		return -ENOMEM;
+	panel = devm_drm_panel_alloc(dev, struct atana33xc20_panel, base,
+				     &atana33xc20_funcs,
+				     DRM_MODE_CONNECTOR_eDP);
+	if (IS_ERR(panel))
+		return PTR_ERR(panel);
+
 	dev_set_drvdata(dev, panel);
 
 	panel->aux = aux_ep->aux;
@@ -301,8 +304,6 @@ static int atana33xc20_probe(struct dp_aux_ep_device *aux_ep)
 	if (ret)
 		return ret;
 
-	drm_panel_init(&panel->base, dev, &atana33xc20_funcs, DRM_MODE_CONNECTOR_eDP);
-
 	pm_runtime_get_sync(dev);
 	ret = drm_panel_dp_aux_backlight(&panel->base, aux_ep->aux);
 	pm_runtime_mark_last_busy(dev);

-- 
2.48.1


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

* [PATCH v2 11/46] panel/samsung-db7430: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (9 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 10/46] panel/samsung-atna33xc20: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 12/46] panel/samsung-ld9040: " Anusha Srivatsa
                   ` (35 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-db7430.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-db7430.c b/drivers/gpu/drm/panel/panel-samsung-db7430.c
index 14c6700e37b30a58e7081423c18bff8db7896c5b..a97182f3c9907ad33ab6e7717129029e3bc4cd8b 100644
--- a/drivers/gpu/drm/panel/panel-samsung-db7430.c
+++ b/drivers/gpu/drm/panel/panel-samsung-db7430.c
@@ -267,9 +267,11 @@ static int db7430_probe(struct spi_device *spi)
 	struct db7430 *db;
 	int ret;
 
-	db = devm_kzalloc(dev, sizeof(*db), GFP_KERNEL);
-	if (!db)
-		return -ENOMEM;
+	db = devm_drm_panel_alloc(dev, struct db7430, panel, &db7430_drm_funcs,
+				  DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(db))
+		return PTR_ERR(db);
+
 	db->dev = dev;
 
 	/*
@@ -294,9 +296,6 @@ static int db7430_probe(struct spi_device *spi)
 	if (ret)
 		return dev_err_probe(dev, ret, "MIPI DBI init failed\n");
 
-	drm_panel_init(&db->panel, dev, &db7430_drm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	/* FIXME: if no external backlight, use internal backlight */
 	ret = drm_panel_of_backlight(&db->panel);
 	if (ret)

-- 
2.48.1


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

* [PATCH v2 12/46] panel/samsung-ld9040: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (10 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 11/46] panel/samsung-db7430: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 13/46] panel/samsung-s6d16d0: " Anusha Srivatsa
                   ` (34 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-ld9040.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-ld9040.c b/drivers/gpu/drm/panel/panel-samsung-ld9040.c
index 9f438683a6f6e872317af879d1d9518551b08987..c7f2241523a07dfeb7c1cb02c4b4e4758382ae76 100644
--- a/drivers/gpu/drm/panel/panel-samsung-ld9040.c
+++ b/drivers/gpu/drm/panel/panel-samsung-ld9040.c
@@ -339,9 +339,11 @@ static int ld9040_probe(struct spi_device *spi)
 	struct ld9040 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(struct ld9040), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct ld9040, panel,
+				   &ld9040_drm_funcs,
+				   DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	spi_set_drvdata(spi, ctx);
 
@@ -373,9 +375,6 @@ static int ld9040_probe(struct spi_device *spi)
 		return ret;
 	}
 
-	drm_panel_init(&ctx->panel, dev, &ld9040_drm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	bldev = devm_backlight_device_register(dev, dev_name(dev), dev,
 					       ctx, &ld9040_bl_ops,
 					       &ld9040_bl_props);

-- 
2.48.1


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

* [PATCH v2 13/46] panel/samsung-s6d16d0: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (11 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 12/46] panel/samsung-ld9040: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 14/46] panel/samsung-s6d27a1: " Anusha Srivatsa
                   ` (33 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-s6d16d0.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c b/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
index 79f611963c6183218b42c7b6c3e2ab298e3fdb99..ba1a02000bb9def0b4afa8a43e13bc7c3c92a51d 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
@@ -166,9 +166,11 @@ static int s6d16d0_probe(struct mipi_dsi_device *dsi)
 	struct s6d16d0 *s6;
 	int ret;
 
-	s6 = devm_kzalloc(dev, sizeof(struct s6d16d0), GFP_KERNEL);
-	if (!s6)
-		return -ENOMEM;
+	s6 = devm_drm_panel_alloc(dev, struct s6d16d0, panel,
+				  &s6d16d0_drm_funcs,
+				  DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(s6))
+		return PTR_ERR(s6);
 
 	mipi_dsi_set_drvdata(dsi, s6);
 	s6->dev = dev;
@@ -200,9 +202,6 @@ static int s6d16d0_probe(struct mipi_dsi_device *dsi)
 		return ret;
 	}
 
-	drm_panel_init(&s6->panel, dev, &s6d16d0_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	drm_panel_add(&s6->panel);
 
 	ret = mipi_dsi_attach(dsi);

-- 
2.48.1


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

* [PATCH v2 14/46] panel/samsung-s6d27a1: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (12 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 13/46] panel/samsung-s6d16d0: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 15/46] panel/samsung-s6d7aa0: " Anusha Srivatsa
                   ` (32 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-s6d27a1.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d27a1.c b/drivers/gpu/drm/panel/panel-samsung-s6d27a1.c
index 2adb223a895c9c89703abcf1148fbe9bd6c0da41..300dc19bd9d135ec889f9604fb14637bb60fc250 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6d27a1.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6d27a1.c
@@ -247,9 +247,11 @@ static int s6d27a1_probe(struct spi_device *spi)
 	struct s6d27a1 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct s6d27a1, panel,
+				   &s6d27a1_drm_funcs,
+				   DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->dev = dev;
 
@@ -277,9 +279,6 @@ static int s6d27a1_probe(struct spi_device *spi)
 
 	ctx->dbi.read_commands = s6d27a1_dbi_read_commands;
 
-	drm_panel_init(&ctx->panel, dev, &s6d27a1_drm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return dev_err_probe(dev, ret, "failed to add backlight\n");

-- 
2.48.1


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

* [PATCH v2 15/46] panel/samsung-s6d7aa0: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (13 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 14/46] panel/samsung-s6d27a1: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 16/46] panel/samsung-s6e3fa7: " Anusha Srivatsa
                   ` (31 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
index 93f11e2e9398782ed10c70159c25fbd5d9f4eb4c..b5b9e80690f66cc62acbd341865d8d47419e498b 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c
@@ -392,9 +392,11 @@ static int s6d7aa0_probe(struct mipi_dsi_device *dsi)
 	struct s6d7aa0 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct s6d7aa0, panel,
+				   &s6d7aa0_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->desc = of_device_get_match_data(dev);
 	if (!ctx->desc)
@@ -420,8 +422,6 @@ static int s6d7aa0_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST
 		| ctx->desc->mode_flags;
 
-	drm_panel_init(&ctx->panel, dev, &s6d7aa0_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ret = drm_panel_of_backlight(&ctx->panel);

-- 
2.48.1


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

* [PATCH v2 16/46] panel/samsung-s6e3fa7: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (14 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 15/46] panel/samsung-s6d7aa0: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 17/46] panel/samsung-s6e3ha2: " Anusha Srivatsa
                   ` (30 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c b/drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c
index 27a059b55ae526ba41cc61d59e15b780e5d3a934..f4d75eca3cdfa27441fbb1e303dd8894257d4397 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e3fa7.c
@@ -185,9 +185,11 @@ static int s6e3fa7_panel_probe(struct mipi_dsi_device *dsi)
 	struct s6e3fa7_panel *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct s6e3fa7_panel, panel,
+				   &s6e3fa7_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
 	if (IS_ERR(ctx->reset_gpio))
@@ -202,8 +204,6 @@ static int s6e3fa7_panel_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_LPM;
 
-	drm_panel_init(&ctx->panel, dev, &s6e3fa7_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ctx->panel.backlight = s6e3fa7_panel_create_backlight(dsi);

-- 
2.48.1


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

* [PATCH v2 17/46] panel/samsung-s6e3ha2: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (15 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 16/46] panel/samsung-s6e3fa7: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 18/46] panel/samsung-s6e3ha8: " Anusha Srivatsa
                   ` (29 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c b/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
index ab8b58545284030714c0d5520f20ba69ed9cf601..1db0c63b1131ee614ddf0bb9abe00e2b89756b4c 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
@@ -681,9 +681,11 @@ static int s6e3ha2_probe(struct mipi_dsi_device *dsi)
 	struct s6e3ha2 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct s6e3ha2, panel,
+				   &s6e3ha2_drm_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 
@@ -731,8 +733,6 @@ static int s6e3ha2_probe(struct mipi_dsi_device *dsi)
 	ctx->bl_dev->props.brightness = S6E3HA2_DEFAULT_BRIGHTNESS;
 	ctx->bl_dev->props.power = BACKLIGHT_POWER_OFF;
 
-	drm_panel_init(&ctx->panel, dev, &s6e3ha2_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	drm_panel_add(&ctx->panel);

-- 
2.48.1


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

* [PATCH v2 18/46] panel/samsung-s6e3ha8: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (16 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 17/46] panel/samsung-s6e3ha2: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 19/46] panel/samsung-s6e63j0x03: " Anusha Srivatsa
                   ` (28 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none
---
 drivers/gpu/drm/panel/panel-samsung-s6e3ha8.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e3ha8.c b/drivers/gpu/drm/panel/panel-samsung-s6e3ha8.c
index 64c6f7d45bed3d77215666d05619a55f1220bf45..550e9ef9bb71b53a327ae9de8e0e4c3b458937d6 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e3ha8.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e3ha8.c
@@ -253,9 +253,11 @@ static int s6e3ha8_amb577px01_wqhd_probe(struct mipi_dsi_device *dsi)
 	struct s6e3ha8 *priv;
 	int ret;
 
-	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
-	if (!priv)
-		return -ENOMEM;
+	priv = devm_drm_panel_alloc(dev, struct s6e3ha8, panel,
+				    &s6e3ha8_amb577px01_wqhd_panel_funcs,
+				    DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(priv))
+		return PTR_ERR(priv);
 
 	ret = devm_regulator_bulk_get_const(dev, ARRAY_SIZE(s6e3ha8_supplies),
 				      s6e3ha8_supplies,
@@ -279,8 +281,6 @@ static int s6e3ha8_amb577px01_wqhd_probe(struct mipi_dsi_device *dsi)
 		MIPI_DSI_MODE_VIDEO_NO_HFP | MIPI_DSI_MODE_VIDEO_NO_HBP |
 		MIPI_DSI_MODE_VIDEO_NO_HSA | MIPI_DSI_MODE_NO_EOT_PACKET;
 
-	drm_panel_init(&priv->panel, dev, &s6e3ha8_amb577px01_wqhd_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	priv->panel.prepare_prev_first = true;
 
 	drm_panel_add(&priv->panel);

-- 
2.48.1


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

* [PATCH v2 19/46] panel/samsung-s6e63j0x03: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (17 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 18/46] panel/samsung-s6e3ha8: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 20/46] panel/s6e88a0-ams427ap24: " Anusha Srivatsa
                   ` (27 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c b/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
index 364f1c9a16d9abd410dfc233f40ce797c37da3e7..6f3d39556f92294a693b6a8d85f80f25fdb43c65 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
@@ -437,9 +437,11 @@ static int s6e63j0x03_probe(struct mipi_dsi_device *dsi)
 	struct s6e63j0x03 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(struct s6e63j0x03), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct s6e63j0x03, panel,
+				   &s6e63j0x03_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 
@@ -462,8 +464,6 @@ static int s6e63j0x03_probe(struct mipi_dsi_device *dsi)
 		return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio),
 				     "cannot get reset-gpio\n");
 
-	drm_panel_init(&ctx->panel, dev, &s6e63j0x03_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ctx->bl_dev = backlight_device_register("s6e63j0x03", dev, ctx,

-- 
2.48.1


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

* [PATCH v2 20/46] panel/s6e88a0-ams427ap24: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (18 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 19/46] panel/samsung-s6e63j0x03: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 21/46] panel/samsung-s6e8aa0: " Anusha Srivatsa
                   ` (26 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c b/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c
index e92e95158d1f2a50c1bef77b01103a80210b542f..e91f506629975f2c2cc40d91d79576406ae35ca2 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams427ap24.c
@@ -687,9 +687,11 @@ static int s6e88a0_ams427ap24_probe(struct mipi_dsi_device *dsi)
 	struct s6e88a0_ams427ap24 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct s6e88a0_ams427ap24, panel,
+				   &s6e88a0_ams427ap24_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ret = devm_regulator_bulk_get_const(dev,
 				      ARRAY_SIZE(s6e88a0_ams427ap24_supplies),
@@ -711,8 +713,6 @@ static int s6e88a0_ams427ap24_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_VIDEO_NO_HFP;
 
-	drm_panel_init(&ctx->panel, dev, &s6e88a0_ams427ap24_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ctx->flip_horizontal = device_property_read_bool(dev, "flip-horizontal");

-- 
2.48.1


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

* [PATCH v2 21/46] panel/samsung-s6e8aa0: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (19 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 20/46] panel/s6e88a0-ams427ap24: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 22/46] panel/samsung-sofef00: " Anusha Srivatsa
                   ` (25 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: minor refactor. Use dev instead of &dsi->dev.
---
 drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c b/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c
index c51d07ec15295f81d4c2c07fcd5b58fdab18b084..897df195f2f3437224d1fe9f42d0bfc761541ab2 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c
@@ -979,9 +979,11 @@ static int s6e8aa0_probe(struct mipi_dsi_device *dsi)
 	struct s6e8aa0 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(struct s6e8aa0), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct s6e8aa0, panel,
+				   &s6e8aa0_drm_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 
@@ -1014,8 +1016,6 @@ static int s6e8aa0_probe(struct mipi_dsi_device *dsi)
 
 	ctx->brightness = GAMMA_LEVEL_NUM - 1;
 
-	drm_panel_init(&ctx->panel, dev, &s6e8aa0_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	drm_panel_add(&ctx->panel);

-- 
2.48.1


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

* [PATCH v2 22/46] panel/samsung-sofef00: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (20 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 21/46] panel/samsung-s6e8aa0: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 23/46] panel/seiko-43wvf1g: " Anusha Srivatsa
                   ` (24 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-sofef00.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-sofef00.c b/drivers/gpu/drm/panel/panel-samsung-sofef00.c
index 210a25afe82bf9fcee0e626ade398913e4c34cef..72c4a7e9e9d232da43cc79757df4f365be8a4504 100644
--- a/drivers/gpu/drm/panel/panel-samsung-sofef00.c
+++ b/drivers/gpu/drm/panel/panel-samsung-sofef00.c
@@ -191,9 +191,11 @@ static int sofef00_panel_probe(struct mipi_dsi_device *dsi)
 	struct sofef00_panel *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct sofef00_panel, panel,
+				   &sofef00_panel_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->supply = devm_regulator_get(dev, "vddio");
 	if (IS_ERR(ctx->supply))
@@ -211,9 +213,6 @@ static int sofef00_panel_probe(struct mipi_dsi_device *dsi)
 	dsi->lanes = 4;
 	dsi->format = MIPI_DSI_FMT_RGB888;
 
-	drm_panel_init(&ctx->panel, dev, &sofef00_panel_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ctx->panel.backlight = sofef00_create_backlight(dsi);
 	if (IS_ERR(ctx->panel.backlight))
 		return dev_err_probe(dev, PTR_ERR(ctx->panel.backlight),

-- 
2.48.1


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

* [PATCH v2 23/46] panel/seiko-43wvf1g: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (21 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 22/46] panel/samsung-sofef00: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 24/46] panel/sharp-ls037v7dw01: " Anusha Srivatsa
                   ` (23 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: Use the correct connector.
---
 drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
index 7d1b421ea9ddfcf84850a2fc589f7a43e24fc167..0935d83ee2db3cbec5744adfc6d1ad933537e580 100644
--- a/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
+++ b/drivers/gpu/drm/panel/panel-seiko-43wvf1g.c
@@ -204,9 +204,11 @@ static int seiko_panel_probe(struct device *dev,
 	struct seiko_panel *panel;
 	int err;
 
-	panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL);
-	if (!panel)
-		return -ENOMEM;
+	panel = devm_drm_panel_alloc(dev, struct seiko_panel, base,
+				     &seiko_panel_funcs,
+				     DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(panel))
+		return PTR_ERR(panel);
 
 	panel->desc = desc;
 
@@ -224,9 +226,6 @@ static int seiko_panel_probe(struct device *dev,
 		return dev_err_probe(dev, PTR_ERR(panel->enable_gpio),
 				     "failed to request GPIO\n");
 
-	drm_panel_init(&panel->base, dev, &seiko_panel_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	err = drm_panel_of_backlight(&panel->base);
 	if (err)
 		return err;

-- 
2.48.1


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

* [PATCH v2 24/46] panel/sharp-ls037v7dw01: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (22 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 23/46] panel/seiko-43wvf1g: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 25/46] panel/sharp-ls060t1sx01: " Anusha Srivatsa
                   ` (22 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c
index a9673a52b861553792c9814da54a08043eb773e8..938beac4655d0bad6deaf93c7c1957403a446f20 100644
--- a/drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c
@@ -138,9 +138,10 @@ static int ls037v7dw01_probe(struct platform_device *pdev)
 {
 	struct ls037v7dw01_panel *lcd;
 
-	lcd = devm_kzalloc(&pdev->dev, sizeof(*lcd), GFP_KERNEL);
-	if (!lcd)
-		return -ENOMEM;
+	lcd = devm_drm_panel_alloc(&pdev->dev, struct ls037v7dw01_panel, panel,
+				   &ls037v7dw01_funcs, DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(lcd))
+		return PTR_ERR(lcd);
 
 	platform_set_drvdata(pdev, lcd);
 	lcd->pdev = pdev;
@@ -181,9 +182,6 @@ static int ls037v7dw01_probe(struct platform_device *pdev)
 		return PTR_ERR(lcd->ud_gpio);
 	}
 
-	drm_panel_init(&lcd->panel, &pdev->dev, &ls037v7dw01_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	drm_panel_add(&lcd->panel);
 
 	return 0;

-- 
2.48.1


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

* [PATCH v2 25/46] panel/sharp-ls060t1sx01: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (23 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 24/46] panel/sharp-ls037v7dw01: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 26/46] panel/sitronix-st7701: " Anusha Srivatsa
                   ` (21 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c b/drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c
index 0b4e0983639bd6e0b1b81df04331e9957414d4f3..0456f3d705e72e53255c20b42d50423721c9d906 100644
--- a/drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c
+++ b/drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c
@@ -193,9 +193,11 @@ static int sharp_ls060_probe(struct mipi_dsi_device *dsi)
 	struct sharp_ls060 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct sharp_ls060, panel,
+				   &sharp_ls060_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->vddi_supply = devm_regulator_get(dev, "vddi");
 	if (IS_ERR(ctx->vddi_supply))
@@ -227,9 +229,6 @@ static int sharp_ls060_probe(struct mipi_dsi_device *dsi)
 			  MIPI_DSI_MODE_NO_EOT_PACKET |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &sharp_ls060_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return dev_err_probe(dev, ret, "Failed to get backlight\n");

-- 
2.48.1


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

* [PATCH v2 26/46] panel/sitronix-st7701: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (24 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 25/46] panel/sharp-ls060t1sx01: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 27/46] panel/sitronix-st7703: " Anusha Srivatsa
                   ` (20 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-sitronix-st7701.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7701.c b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
index 1f72ef7ca74c9382aa103cc7c65fdedc7e4755b3..0b83423ce470c4e060c3cd44d38719a412d3cb95 100644
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@ -1150,9 +1150,10 @@ static int st7701_probe(struct device *dev, int connector_type)
 	struct st7701 *st7701;
 	int ret;
 
-	st7701 = devm_kzalloc(dev, sizeof(*st7701), GFP_KERNEL);
-	if (!st7701)
-		return -ENOMEM;
+	st7701 = devm_drm_panel_alloc(dev, struct st7701, panel, &st7701_funcs,
+				      connector_type);
+	if (IS_ERR(st7701))
+		return PTR_ERR(st7701);
 
 	desc = of_device_get_match_data(dev);
 	if (!desc)
@@ -1176,7 +1177,6 @@ static int st7701_probe(struct device *dev, int connector_type)
 	if (ret < 0)
 		return dev_err_probe(dev, ret, "Failed to get orientation\n");
 
-	drm_panel_init(&st7701->panel, dev, &st7701_funcs, connector_type);
 	st7701->panel.prepare_prev_first = true;
 
 	/**

-- 
2.48.1


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

* [PATCH v2 27/46] panel/sitronix-st7703: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (25 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 26/46] panel/sitronix-st7701: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 28/46] panel/sitronix-st7789v: " Anusha Srivatsa
                   ` (19 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-sitronix-st7703.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
index 67e8e45498cb1e62c60cc94546cb329878cc4ef2..1a007a244d843a894c89bb3b2ee006daba2237cb 100644
--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
@@ -846,9 +846,11 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
 	struct st7703 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct st7703, panel,
+				   &st7703_drm_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
 	if (IS_ERR(ctx->reset_gpio))
@@ -876,9 +878,6 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
 	if (ret < 0)
 		return dev_err_probe(&dsi->dev, ret, "Failed to get orientation\n");
 
-	drm_panel_init(&ctx->panel, dev, &st7703_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v2 28/46] panel/sitronix-st7789v: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (26 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 27/46] panel/sitronix-st7703: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 29/46] panel/sony-acx565akm: " Anusha Srivatsa
                   ` (18 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
index 28bfc48a91272901862dcaa309f51da4697d0a4a..04d91929eedda092b966b8cffdef5b267748f190 100644
--- a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
@@ -612,9 +612,10 @@ static int st7789v_probe(struct spi_device *spi)
 	struct st7789v *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct st7789v, panel,
+				   &st7789v_drm_funcs, DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	spi_set_drvdata(spi, ctx);
 	ctx->spi = spi;
@@ -626,9 +627,6 @@ static int st7789v_probe(struct spi_device *spi)
 
 	ctx->info = device_get_match_data(&spi->dev);
 
-	drm_panel_init(&ctx->panel, dev, &st7789v_drm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	ctx->power = devm_regulator_get(dev, "power");
 	ret = PTR_ERR_OR_ZERO(ctx->power);
 	if (ret)

-- 
2.48.1


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

* [PATCH v2 29/46] panel/sony-acx565akm: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (27 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 28/46] panel/sitronix-st7789v: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-06-05 13:24   ` Linus Walleij
  2025-05-30  2:46 ` [PATCH v2 30/46] panel/sony-td4353-jdi: " Anusha Srivatsa
                   ` (17 subsequent siblings)
  46 siblings, 1 reply; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-sony-acx565akm.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sony-acx565akm.c b/drivers/gpu/drm/panel/panel-sony-acx565akm.c
index d437f5c84f5f0915ec9a3b3a899cb8bd41209c77..fe043de791b0f5ee725a14210436cc00ce7789e7 100644
--- a/drivers/gpu/drm/panel/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/panel/panel-sony-acx565akm.c
@@ -607,9 +607,10 @@ static int acx565akm_probe(struct spi_device *spi)
 	struct acx565akm_panel *lcd;
 	int ret;
 
-	lcd = devm_kzalloc(&spi->dev, sizeof(*lcd), GFP_KERNEL);
-	if (!lcd)
-		return -ENOMEM;
+	lcd = devm_drm_panel_alloc(&spi->dev, struct acx565akm_panel, panel,
+				   &acx565akm_funcs, DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(lcd))
+		return PTR_ERR(lcd);
 
 	spi_set_drvdata(spi, lcd);
 	spi->mode = SPI_MODE_3;
@@ -635,9 +636,6 @@ static int acx565akm_probe(struct spi_device *spi)
 			return ret;
 	}
 
-	drm_panel_init(&lcd->panel, &lcd->spi->dev, &acx565akm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	drm_panel_add(&lcd->panel);
 
 	return 0;

-- 
2.48.1


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

* [PATCH v2 30/46] panel/sony-td4353-jdi: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (28 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 29/46] panel/sony-acx565akm: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 31/46] panel/truly-nt35521: " Anusha Srivatsa
                   ` (16 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-sony-td4353-jdi.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c b/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c
index 97f4bb4e10297532b3e0762db3433187ca6240f3..7c989b70ab513084d28379f347c9851a350e433e 100644
--- a/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c
+++ b/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c
@@ -175,9 +175,11 @@ static int sony_td4353_jdi_probe(struct mipi_dsi_device *dsi)
 	struct sony_td4353_jdi *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct sony_td4353_jdi, panel,
+				   &sony_td4353_jdi_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->type = (uintptr_t)of_device_get_match_data(dev);
 
@@ -206,9 +208,6 @@ static int sony_td4353_jdi_probe(struct mipi_dsi_device *dsi)
 	dsi->format = MIPI_DSI_FMT_RGB888;
 	dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &sony_td4353_jdi_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return dev_err_probe(dev, ret, "Failed to get backlight\n");

-- 
2.48.1


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

* [PATCH v2 31/46] panel/truly-nt35521: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (29 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 30/46] panel/sony-td4353-jdi: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-06-05 13:24   ` Linus Walleij
  2025-05-30  2:46 ` [PATCH v2 32/46] panel/panel-summit: " Anusha Srivatsa
                   ` (15 subsequent siblings)
  46 siblings, 1 reply; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c b/drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c
index 104b2290560e366cd514617f04233e4940d7bb03..216a6ad8696e91c4ea717476d46105b7d636b765 100644
--- a/drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c
+++ b/drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c
@@ -433,9 +433,11 @@ static int truly_nt35521_probe(struct mipi_dsi_device *dsi)
 	struct truly_nt35521 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct truly_nt35521, panel,
+				   &truly_nt35521_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->supplies[0].supply = "positive5";
 	ctx->supplies[1].supply = "negative5";
@@ -465,9 +467,6 @@ static int truly_nt35521_probe(struct mipi_dsi_device *dsi)
 			  MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_NO_EOT_PACKET |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &truly_nt35521_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ctx->panel.backlight = truly_nt35521_create_backlight(dsi);
 	if (IS_ERR(ctx->panel.backlight))
 		return dev_err_probe(dev, PTR_ERR(ctx->panel.backlight),

-- 
2.48.1


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

* [PATCH v2 32/46] panel/panel-summit: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (30 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 31/46] panel/truly-nt35521: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 33/46] panel/synaptics-r63353: " Anusha Srivatsa
                   ` (14 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: refactor.Use already dereferenced dev instead of &dsi->dev.
---
 drivers/gpu/drm/panel/panel-summit.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-summit.c b/drivers/gpu/drm/panel/panel-summit.c
index e780faee18570c9970d381b3f7c65b95665469cd..4854437e2899126c74d8060433a9064cc3812de7 100644
--- a/drivers/gpu/drm/panel/panel-summit.c
+++ b/drivers/gpu/drm/panel/panel-summit.c
@@ -68,9 +68,11 @@ static int summit_probe(struct mipi_dsi_device *dsi)
 	struct summit_data *s_data;
 	int ret;
 
-	s_data = devm_kzalloc(dev, sizeof(*s_data), GFP_KERNEL);
-	if (!s_data)
-		return -ENOMEM;
+	s_data = devm_drm_panel_alloc(dev, struct summit_data, panel,
+				      &summit_panel_funcs,
+				      DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(s_data))
+		return PTR_ERR(s_data);
 
 	mipi_dsi_set_drvdata(dsi, s_data);
 	s_data->dsi = dsi;
@@ -85,8 +87,6 @@ static int summit_probe(struct mipi_dsi_device *dsi)
 	if (IS_ERR(s_data->bl))
 		return PTR_ERR(s_data->bl);
 
-	drm_panel_init(&s_data->panel, dev, &summit_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	drm_panel_add(&s_data->panel);
 
 	return mipi_dsi_attach(dsi);

-- 
2.48.1


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

* [PATCH v2 33/46] panel/synaptics-r63353: allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (31 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 32/46] panel/panel-summit: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 34/46] panel/tpo-td028ttec1: Use refcounted " Anusha Srivatsa
                   ` (13 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-synaptics-r63353.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-synaptics-r63353.c b/drivers/gpu/drm/panel/panel-synaptics-r63353.c
index b148e6cba9bd1184a8c3e9e264e31536ad78ce28..3a74d48753d9c55d4b5618fbc1167f28bc5f6c5e 100644
--- a/drivers/gpu/drm/panel/panel-synaptics-r63353.c
+++ b/drivers/gpu/drm/panel/panel-synaptics-r63353.c
@@ -229,9 +229,11 @@ static int r63353_panel_probe(struct mipi_dsi_device *dsi)
 	struct device *dev = &dsi->dev;
 	struct r63353_panel *panel;
 
-	panel = devm_kzalloc(&dsi->dev, sizeof(*panel), GFP_KERNEL);
-	if (!panel)
-		return -ENOMEM;
+	panel = devm_drm_panel_alloc(dev, struct r63353_panel, base,
+				     &r63353_panel_funcs,
+				     DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(panel))
+		return PTR_ERR(panel);
 
 	mipi_dsi_set_drvdata(dsi, panel);
 	panel->dsi = dsi;
@@ -258,9 +260,6 @@ static int r63353_panel_probe(struct mipi_dsi_device *dsi)
 		return PTR_ERR(panel->reset_gpio);
 	}
 
-	drm_panel_init(&panel->base, dev, &r63353_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	panel->base.prepare_prev_first = true;
 	ret = drm_panel_of_backlight(&panel->base);
 	if (ret)

-- 
2.48.1


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

* [PATCH v2 34/46] panel/tpo-td028ttec1: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (32 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 33/46] panel/synaptics-r63353: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 35/46] panel/tpo-td043mtea1: " Anusha Srivatsa
                   ` (12 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-tpo-td028ttec1.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c b/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c
index 4dbf8b88f264f7afcacf2ae8f67704f5a7505341..af7e2047fc1f16ef6aa7bf22800664137291c526 100644
--- a/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/panel/panel-tpo-td028ttec1.c
@@ -322,9 +322,11 @@ static int td028ttec1_probe(struct spi_device *spi)
 	struct td028ttec1_panel *lcd;
 	int ret;
 
-	lcd = devm_kzalloc(&spi->dev, sizeof(*lcd), GFP_KERNEL);
-	if (!lcd)
-		return -ENOMEM;
+	lcd = devm_drm_panel_alloc(&spi->dev, struct td028ttec1_panel, panel,
+				   &td028ttec1_funcs,
+				   DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(lcd))
+		return PTR_ERR(lcd);
 
 	spi_set_drvdata(spi, lcd);
 	lcd->spi = spi;
@@ -338,9 +340,6 @@ static int td028ttec1_probe(struct spi_device *spi)
 		return ret;
 	}
 
-	drm_panel_init(&lcd->panel, &lcd->spi->dev, &td028ttec1_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	ret = drm_panel_of_backlight(&lcd->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v2 35/46] panel/tpo-td043mtea1: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (33 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 34/46] panel/tpo-td028ttec1: Use refcounted " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 36/46] panel/tpo-tpg110: " Anusha Srivatsa
                   ` (11 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-tpo-td043mtea1.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c b/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
index cf4609bb9b1da969973ac0ecc67436185691941a..b18af526b54c5e1580be8eb20b9bacf218c825ee 100644
--- a/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c
@@ -421,9 +421,10 @@ static int td043mtea1_probe(struct spi_device *spi)
 	struct td043mtea1_panel *lcd;
 	int ret;
 
-	lcd = devm_kzalloc(&spi->dev, sizeof(*lcd), GFP_KERNEL);
-	if (lcd == NULL)
-		return -ENOMEM;
+	lcd = devm_drm_panel_alloc(&spi->dev, struct td043mtea1_panel, panel,
+				   &td043mtea1_funcs, DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(lcd))
+		return PTR_ERR(lcd);
 
 	spi_set_drvdata(spi, lcd);
 	lcd->spi = spi;
@@ -455,9 +456,6 @@ static int td043mtea1_probe(struct spi_device *spi)
 		return ret;
 	}
 
-	drm_panel_init(&lcd->panel, &lcd->spi->dev, &td043mtea1_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	drm_panel_add(&lcd->panel);
 
 	return 0;

-- 
2.48.1


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

* [PATCH v2 36/46] panel/tpo-tpg110: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (34 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 35/46] panel/tpo-td043mtea1: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-06-05 13:25   ` Linus Walleij
  2025-05-30  2:46 ` [PATCH v2 37/46] panel/visionox-r66451: " Anusha Srivatsa
                   ` (10 subsequent siblings)
  46 siblings, 1 reply; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-tpo-tpg110.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-tpo-tpg110.c b/drivers/gpu/drm/panel/panel-tpo-tpg110.c
index f6a212e542cb9301cab1ad19c43e00e4ea07b128..0beba5c08956571aee5c253e460a9d020b800009 100644
--- a/drivers/gpu/drm/panel/panel-tpo-tpg110.c
+++ b/drivers/gpu/drm/panel/panel-tpo-tpg110.c
@@ -405,9 +405,11 @@ static int tpg110_probe(struct spi_device *spi)
 	struct tpg110 *tpg;
 	int ret;
 
-	tpg = devm_kzalloc(dev, sizeof(*tpg), GFP_KERNEL);
-	if (!tpg)
-		return -ENOMEM;
+	tpg = devm_drm_panel_alloc(dev, struct tpg110, panel,
+				   &tpg110_drm_funcs, DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(tpg))
+		return PTR_ERR(tpg);
+
 	tpg->dev = dev;
 
 	/* We get the physical display dimensions from the DT */
@@ -438,9 +440,6 @@ static int tpg110_probe(struct spi_device *spi)
 	if (ret)
 		return ret;
 
-	drm_panel_init(&tpg->panel, dev, &tpg110_drm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	ret = drm_panel_of_backlight(&tpg->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v2 37/46] panel/visionox-r66451: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (35 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 36/46] panel/tpo-tpg110: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 38/46] panel/visionox-rm69299: " Anusha Srivatsa
                   ` (9 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-visionox-r66451.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-visionox-r66451.c b/drivers/gpu/drm/panel/panel-visionox-r66451.c
index 3ea0a86f6e69f3cf0c759d38a21582797bd379bd..690cccedd438fe000ab9b7b4e912988d64a9ad35 100644
--- a/drivers/gpu/drm/panel/panel-visionox-r66451.c
+++ b/drivers/gpu/drm/panel/panel-visionox-r66451.c
@@ -255,9 +255,11 @@ static int visionox_r66451_probe(struct mipi_dsi_device *dsi)
 	struct drm_dsc_config *dsc;
 	int ret = 0;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct visionox_r66451, panel,
+				   &visionox_r66451_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	dsc = devm_kzalloc(dev, sizeof(*dsc), GFP_KERNEL);
 	if (!dsc)
@@ -297,7 +299,6 @@ static int visionox_r66451_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS;
 	ctx->panel.prepare_prev_first = true;
 
-	drm_panel_init(&ctx->panel, dev, &visionox_r66451_funcs, DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.backlight = visionox_r66451_create_backlight(dsi);
 	if (IS_ERR(ctx->panel.backlight))
 		return dev_err_probe(dev, PTR_ERR(ctx->panel.backlight),

-- 
2.48.1


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

* [PATCH v2 38/46] panel/visionox-rm69299: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (36 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 37/46] panel/visionox-r66451: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 39/46] panel/visionox-rm692e5.c: " Anusha Srivatsa
                   ` (8 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-visionox-rm69299.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-visionox-rm69299.c b/drivers/gpu/drm/panel/panel-visionox-rm69299.c
index be3a9797fbced5222b313cf83f8078b919e2c219..2b091d88bf4a507e58f55a260e7ed1fea93a0439 100644
--- a/drivers/gpu/drm/panel/panel-visionox-rm69299.c
+++ b/drivers/gpu/drm/panel/panel-visionox-rm69299.c
@@ -187,9 +187,11 @@ static int visionox_rm69299_probe(struct mipi_dsi_device *dsi)
 	struct visionox_rm69299 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct visionox_rm69299, panel,
+				   &visionox_rm69299_drm_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 
@@ -210,8 +212,6 @@ static int visionox_rm69299_probe(struct mipi_dsi_device *dsi)
 		return PTR_ERR(ctx->reset_gpio);
 	}
 
-	drm_panel_init(&ctx->panel, dev, &visionox_rm69299_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	drm_panel_add(&ctx->panel);
 
 	dsi->lanes = 4;

-- 
2.48.1


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

* [PATCH v2 39/46] panel/visionox-rm692e5.c: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (37 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 38/46] panel/visionox-rm69299: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 40/46] panel/visionox-vtdr6130: " Anusha Srivatsa
                   ` (7 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none
---
 drivers/gpu/drm/panel/panel-visionox-rm692e5.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-visionox-rm692e5.c b/drivers/gpu/drm/panel/panel-visionox-rm692e5.c
index 4db7fa8d74c4bb6fe733169d264e91c85eeaa32b..e53645d5941376e5c251601cff5bf485b0c817a7 100644
--- a/drivers/gpu/drm/panel/panel-visionox-rm692e5.c
+++ b/drivers/gpu/drm/panel/panel-visionox-rm692e5.c
@@ -360,9 +360,11 @@ static int visionox_rm692e5_probe(struct mipi_dsi_device *dsi)
 	struct visionox_rm692e5 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct visionox_rm692e5, panel,
+				   &visionox_rm692e5_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ret = devm_regulator_bulk_get_const(&dsi->dev,
 					    ARRAY_SIZE(visionox_rm692e5_supplies),
@@ -383,8 +385,6 @@ static int visionox_rm692e5_probe(struct mipi_dsi_device *dsi)
 	dsi->format = MIPI_DSI_FMT_RGB888;
 	dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &visionox_rm692e5_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
 	ctx->panel.prepare_prev_first = true;
 
 	ctx->panel.backlight = visionox_rm692e5_create_backlight(dsi);

-- 
2.48.1


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

* [PATCH v2 40/46] panel/visionox-vtdr6130: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (38 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 39/46] panel/visionox-rm692e5.c: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 41/46] panel/widechips-ws2401: " Anusha Srivatsa
                   ` (6 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: fix alignment.
---
 drivers/gpu/drm/panel/panel-visionox-vtdr6130.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c b/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c
index 17b8defe79c10ffdbe643f1b3e07318c655eeb89..97a79411e1ecd4db0f33f892d7ff36778be51257 100644
--- a/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c
+++ b/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c
@@ -248,9 +248,11 @@ static int visionox_vtdr6130_probe(struct mipi_dsi_device *dsi)
 	struct visionox_vtdr6130 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct visionox_vtdr6130, panel,
+				   &visionox_vtdr6130_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ret = devm_regulator_bulk_get_const(&dsi->dev,
 					    ARRAY_SIZE(visionox_vtdr6130_supplies),
@@ -273,9 +275,6 @@ static int visionox_vtdr6130_probe(struct mipi_dsi_device *dsi)
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS;
 	ctx->panel.prepare_prev_first = true;
 
-	drm_panel_init(&ctx->panel, dev, &visionox_vtdr6130_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ctx->panel.backlight = visionox_vtdr6130_create_backlight(dsi);
 	if (IS_ERR(ctx->panel.backlight))
 		return dev_err_probe(dev, PTR_ERR(ctx->panel.backlight),

-- 
2.48.1


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

* [PATCH v2 41/46] panel/widechips-ws2401: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (39 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 40/46] panel/visionox-vtdr6130: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-06-05 13:25   ` Linus Walleij
  2025-05-30  2:46 ` [PATCH v2 42/46] panel/xinpeng-xpp055c272: " Anusha Srivatsa
                   ` (5 subsequent siblings)
  46 siblings, 1 reply; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: fix alignment.
---
 drivers/gpu/drm/panel/panel-widechips-ws2401.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-widechips-ws2401.c b/drivers/gpu/drm/panel/panel-widechips-ws2401.c
index 2591ff8f0d4e8b84b7283718bf05684e8d44d1f5..dd74610bd2eb870bbdb74bfce7a1b88ee5d1abc6 100644
--- a/drivers/gpu/drm/panel/panel-widechips-ws2401.c
+++ b/drivers/gpu/drm/panel/panel-widechips-ws2401.c
@@ -347,9 +347,11 @@ static int ws2401_probe(struct spi_device *spi)
 	struct ws2401 *ws;
 	int ret;
 
-	ws = devm_kzalloc(dev, sizeof(*ws), GFP_KERNEL);
-	if (!ws)
-		return -ENOMEM;
+	ws = devm_drm_panel_alloc(dev, struct ws2401, panel, &ws2401_drm_funcs,
+				  DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(ws))
+		return PTR_ERR(ws);
+
 	ws->dev = dev;
 
 	/*
@@ -379,9 +381,6 @@ static int ws2401_probe(struct spi_device *spi)
 	ws2401_read_mtp_id(ws);
 	ws2401_power_off(ws);
 
-	drm_panel_init(&ws->panel, dev, &ws2401_drm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	ret = drm_panel_of_backlight(&ws->panel);
 	if (ret)
 		return dev_err_probe(dev, ret,

-- 
2.48.1


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

* [PATCH v2 42/46] panel/xinpeng-xpp055c272: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (40 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 41/46] panel/widechips-ws2401: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 43/46] panel/s6e88a0-ams452ef01: " Anusha Srivatsa
                   ` (4 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c b/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c
index 2b91414c2829119f5317c5025b552e8bcfe39911..fc6516373b5d2e5d8858ef26f535ec1c87c5eef8 100644
--- a/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c
+++ b/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c
@@ -241,9 +241,10 @@ static int xpp055c272_probe(struct mipi_dsi_device *dsi)
 	struct xpp055c272 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct xpp055c272, panel,
+				   &xpp055c272_funcs, DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
 	if (IS_ERR(ctx->reset_gpio))
@@ -269,9 +270,6 @@ static int xpp055c272_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET;
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &xpp055c272_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v2 43/46] panel/s6e88a0-ams452ef01: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (41 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 42/46] panel/xinpeng-xpp055c272: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 44/46] panel/nec-nl8048hl11: " Anusha Srivatsa
                   ` (3 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c b/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c
index 57b1a899bbdc824b59f3a2d17b4203844e39a66c..ca5cad41ff1d95ba00759f38ad95750e0c307d34 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e88a0-ams452ef01.c
@@ -165,9 +165,11 @@ static int s6e88a0_ams452ef01_probe(struct mipi_dsi_device *dsi)
 	struct s6e88a0_ams452ef01 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct s6e88a0_ams452ef01, panel,
+				   &s6e88a0_ams452ef01_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->supplies[0].supply = "vdd3";
 	ctx->supplies[1].supply = "vci";
@@ -192,9 +194,6 @@ static int s6e88a0_ams452ef01_probe(struct mipi_dsi_device *dsi)
 	dsi->format = MIPI_DSI_FMT_RGB888;
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST;
 
-	drm_panel_init(&ctx->panel, dev, &s6e88a0_ams452ef01_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	drm_panel_add(&ctx->panel);
 
 	ret = mipi_dsi_attach(dsi);

-- 
2.48.1


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

* [PATCH v2 44/46] panel/nec-nl8048hl11: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (42 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 43/46] panel/s6e88a0-ams452ef01: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 45/46] panel/panel-lvds: " Anusha Srivatsa
                   ` (2 subsequent siblings)
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-nec-nl8048hl11.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-nec-nl8048hl11.c b/drivers/gpu/drm/panel/panel-nec-nl8048hl11.c
index 81c5c541a351cca1535e40ed722d5cb4c33d6708..d5c7210de4afe9101239173f506065f158cf673f 100644
--- a/drivers/gpu/drm/panel/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/panel/panel-nec-nl8048hl11.c
@@ -178,9 +178,10 @@ static int nl8048_probe(struct spi_device *spi)
 	struct nl8048_panel *lcd;
 	int ret;
 
-	lcd = devm_kzalloc(&spi->dev, sizeof(*lcd), GFP_KERNEL);
-	if (!lcd)
-		return -ENOMEM;
+	lcd = devm_drm_panel_alloc(&spi->dev, struct nl8048_panel, panel,
+				   &nl8048_funcs, DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(lcd))
+		return PTR_ERR(lcd);
 
 	spi_set_drvdata(spi, lcd);
 	lcd->spi = spi;
@@ -204,9 +205,6 @@ static int nl8048_probe(struct spi_device *spi)
 	if (ret < 0)
 		return ret;
 
-	drm_panel_init(&lcd->panel, &lcd->spi->dev, &nl8048_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	drm_panel_add(&lcd->panel);
 
 	return 0;

-- 
2.48.1


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

* [PATCH v2 45/46] panel/panel-lvds: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (43 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 44/46] panel/nec-nl8048hl11: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-05-30  2:46 ` [PATCH v2 46/46] panel/lg-lb035q02: " Anusha Srivatsa
  2025-06-02  7:56 ` [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Maxime Ripard
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-lvds.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c
index ba6c015aabba9e03a37058e0fcf7cb39d1595d70..23fd535d8f479045a87b0f51bec17cd7c66b0f75 100644
--- a/drivers/gpu/drm/panel/panel-lvds.c
+++ b/drivers/gpu/drm/panel/panel-lvds.c
@@ -164,9 +164,11 @@ static int panel_lvds_probe(struct platform_device *pdev)
 	struct panel_lvds *lvds;
 	int ret;
 
-	lvds = devm_kzalloc(&pdev->dev, sizeof(*lvds), GFP_KERNEL);
-	if (!lvds)
-		return -ENOMEM;
+	lvds = devm_drm_panel_alloc(&pdev->dev, struct panel_lvds, panel,
+				    &panel_lvds_funcs,
+				    DRM_MODE_CONNECTOR_LVDS);
+	if (IS_ERR(lvds))
+		return PTR_ERR(lvds);
 
 	lvds->dev = &pdev->dev;
 
@@ -214,10 +216,6 @@ static int panel_lvds_probe(struct platform_device *pdev)
 	 * driver.
 	 */
 
-	/* Register the panel. */
-	drm_panel_init(&lvds->panel, lvds->dev, &panel_lvds_funcs,
-		       DRM_MODE_CONNECTOR_LVDS);
-
 	ret = drm_panel_of_backlight(&lvds->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v2 46/46] panel/lg-lb035q02: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (44 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 45/46] panel/panel-lvds: " Anusha Srivatsa
@ 2025-05-30  2:46 ` Anusha Srivatsa
  2025-06-02  7:56 ` [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Maxime Ripard
  46 siblings, 0 replies; 53+ messages in thread
From: Anusha Srivatsa @ 2025-05-30  2:46 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart
  Cc: dri-devel, linux-kernel, asahi, Anusha Srivatsa

Move to using the new API devm_drm_panel_alloc() to allocate the
panel.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
v2: none.
---
 drivers/gpu/drm/panel/panel-lg-lb035q02.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-lg-lb035q02.c b/drivers/gpu/drm/panel/panel-lg-lb035q02.c
index 9d0d4faa3f58aa4950e48d082352e0013880ee30..b2be6727bf73d34c8a9fdc9ad2f52b11d22d3b28 100644
--- a/drivers/gpu/drm/panel/panel-lg-lb035q02.c
+++ b/drivers/gpu/drm/panel/panel-lg-lb035q02.c
@@ -178,9 +178,10 @@ static int lb035q02_probe(struct spi_device *spi)
 	struct lb035q02_device *lcd;
 	int ret;
 
-	lcd = devm_kzalloc(&spi->dev, sizeof(*lcd), GFP_KERNEL);
-	if (!lcd)
-		return -ENOMEM;
+	lcd = devm_drm_panel_alloc(&spi->dev, struct lb035q02_device, panel,
+				   &lb035q02_funcs, DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(lcd))
+		return PTR_ERR(lcd);
 
 	spi_set_drvdata(spi, lcd);
 	lcd->spi = spi;
@@ -195,9 +196,6 @@ static int lb035q02_probe(struct spi_device *spi)
 	if (ret < 0)
 		return ret;
 
-	drm_panel_init(&lcd->panel, &lcd->spi->dev, &lb035q02_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	drm_panel_add(&lcd->panel);
 
 	return 0;

-- 
2.48.1


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

* Re: [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3
  2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
                   ` (45 preceding siblings ...)
  2025-05-30  2:46 ` [PATCH v2 46/46] panel/lg-lb035q02: " Anusha Srivatsa
@ 2025-06-02  7:56 ` Maxime Ripard
  46 siblings, 0 replies; 53+ messages in thread
From: Maxime Ripard @ 2025-06-02  7:56 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart, Anusha Srivatsa
  Cc: Maxime Ripard, dri-devel, linux-kernel, asahi

On Thu, 29 May 2025 21:46:02 -0500, Anusha Srivatsa wrote:
> Final set of drivers to use the new API - devm_drm_panel_alloc().
> There are a lot of occurences of the panel allocation across the
> subsystem. Much thanks to Maxime for the semanic patch which actually
> gives a list of panels allocated unsafely.
> 
> virtual report
> 
> [...]

Applied to misc/kernel.git (drm-misc-next).

Thanks!
Maxime

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

* Re: [PATCH v2 01/46] panel/orisetech-otm8009a: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 ` [PATCH v2 01/46] panel/orisetech-otm8009a: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
@ 2025-06-03  7:10   ` Geert Uytterhoeven
  0 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2025-06-03  7:10 UTC (permalink / raw)
  To: Anusha Srivatsa
  Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Linus Walleij, Markuss Broks, Artur Weber, Dzmitry Sankouski,
	Jagan Teki, Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart, dri-devel, linux-kernel, asahi

Hi Anusha,

On Fri, 30 May 2025 at 20:28, Anusha Srivatsa <asrivats@redhat.com> wrote:
> Move to using the new API devm_drm_panel_alloc() to allocate the
> panel.
>
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
> Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>

Thanks for your patch!

I have a generic comment that applies to all patches in the series.

> --- a/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
> +++ b/drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
> @@ -424,9 +424,11 @@ static int otm8009a_probe(struct mipi_dsi_device *dsi)
>         struct otm8009a *ctx;
>         int ret;
>
> -       ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);

The old code used sizeof(*ctx) instead of an explicit type, for
increased type-safety.

> -       if (!ctx)
> -               return -ENOMEM;
> +       ctx = devm_drm_panel_alloc(dev, struct otm8009a, panel,

Can't you use __typeof(*ctx) instead of the explicit type here, too?

> +                                  &otm8009a_drm_funcs,
> +                                  DRM_MODE_CONNECTOR_DSI);
> +       if (IS_ERR(ctx))
> +               return PTR_ERR(ctx);
>
>         ctx->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
>         if (IS_ERR(ctx->reset_gpio)) {

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH v2 29/46] panel/sony-acx565akm: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 ` [PATCH v2 29/46] panel/sony-acx565akm: " Anusha Srivatsa
@ 2025-06-05 13:24   ` Linus Walleij
  0 siblings, 0 replies; 53+ messages in thread
From: Linus Walleij @ 2025-06-05 13:24 UTC (permalink / raw)
  To: Anusha Srivatsa
  Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Markuss Broks, Artur Weber, Dzmitry Sankouski, Jagan Teki,
	Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart, dri-devel, linux-kernel, asahi

On Fri, May 30, 2025 at 4:52 AM Anusha Srivatsa <asrivats@redhat.com> wrote:

> Move to using the new API devm_drm_panel_alloc() to allocate the
> panel.
>
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
> Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

* Re: [PATCH v2 31/46] panel/truly-nt35521: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 ` [PATCH v2 31/46] panel/truly-nt35521: " Anusha Srivatsa
@ 2025-06-05 13:24   ` Linus Walleij
  0 siblings, 0 replies; 53+ messages in thread
From: Linus Walleij @ 2025-06-05 13:24 UTC (permalink / raw)
  To: Anusha Srivatsa
  Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Markuss Broks, Artur Weber, Dzmitry Sankouski, Jagan Teki,
	Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart, dri-devel, linux-kernel, asahi

On Fri, May 30, 2025 at 4:52 AM Anusha Srivatsa <asrivats@redhat.com> wrote:

> Move to using the new API devm_drm_panel_alloc() to allocate the
> panel.
>
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
> Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

* Re: [PATCH v2 36/46] panel/tpo-tpg110: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 ` [PATCH v2 36/46] panel/tpo-tpg110: " Anusha Srivatsa
@ 2025-06-05 13:25   ` Linus Walleij
  0 siblings, 0 replies; 53+ messages in thread
From: Linus Walleij @ 2025-06-05 13:25 UTC (permalink / raw)
  To: Anusha Srivatsa
  Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Markuss Broks, Artur Weber, Dzmitry Sankouski, Jagan Teki,
	Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart, dri-devel, linux-kernel, asahi

On Fri, May 30, 2025 at 4:52 AM Anusha Srivatsa <asrivats@redhat.com> wrote:

> Move to using the new API devm_drm_panel_alloc() to allocate the
> panel.
>
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
> Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

* Re: [PATCH v2 41/46] panel/widechips-ws2401: Use refcounted allocation in place of devm_kzalloc()
  2025-05-30  2:46 ` [PATCH v2 41/46] panel/widechips-ws2401: " Anusha Srivatsa
@ 2025-06-05 13:25   ` Linus Walleij
  0 siblings, 0 replies; 53+ messages in thread
From: Linus Walleij @ 2025-06-05 13:25 UTC (permalink / raw)
  To: Anusha Srivatsa
  Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Robert Chiras,
	Markuss Broks, Artur Weber, Dzmitry Sankouski, Jagan Teki,
	Guido Günther, Purism Kernel Team, Ondrej Jirman,
	Sasha Finkelstein, Janne Grunau, Michael Trimarchi,
	Laurent Pinchart, dri-devel, linux-kernel, asahi

On Fri, May 30, 2025 at 4:53 AM Anusha Srivatsa <asrivats@redhat.com> wrote:

> Move to using the new API devm_drm_panel_alloc() to allocate the
> panel.
>
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
> Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

end of thread, other threads:[~2025-06-05 13:26 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-30  2:46 [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 01/46] panel/orisetech-otm8009a: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
2025-06-03  7:10   ` Geert Uytterhoeven
2025-05-30  2:46 ` [PATCH v2 02/46] panel/raydium-rm67191: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 03/46] panel/raydium-rm67200: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 04/46] panel/raydium-rm68200: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 05/46] panel/raydium-rm692e5: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 06/46] panel/raydium-rm69380: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 07/46] panel/ronbo-rb070d30: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 08/46] panel/samsung-ams581vf01: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 09/46] panel/samsung-ams639rq08: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 10/46] panel/samsung-atna33xc20: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 11/46] panel/samsung-db7430: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 12/46] panel/samsung-ld9040: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 13/46] panel/samsung-s6d16d0: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 14/46] panel/samsung-s6d27a1: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 15/46] panel/samsung-s6d7aa0: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 16/46] panel/samsung-s6e3fa7: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 17/46] panel/samsung-s6e3ha2: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 18/46] panel/samsung-s6e3ha8: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 19/46] panel/samsung-s6e63j0x03: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 20/46] panel/s6e88a0-ams427ap24: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 21/46] panel/samsung-s6e8aa0: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 22/46] panel/samsung-sofef00: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 23/46] panel/seiko-43wvf1g: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 24/46] panel/sharp-ls037v7dw01: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 25/46] panel/sharp-ls060t1sx01: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 26/46] panel/sitronix-st7701: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 27/46] panel/sitronix-st7703: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 28/46] panel/sitronix-st7789v: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 29/46] panel/sony-acx565akm: " Anusha Srivatsa
2025-06-05 13:24   ` Linus Walleij
2025-05-30  2:46 ` [PATCH v2 30/46] panel/sony-td4353-jdi: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 31/46] panel/truly-nt35521: " Anusha Srivatsa
2025-06-05 13:24   ` Linus Walleij
2025-05-30  2:46 ` [PATCH v2 32/46] panel/panel-summit: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 33/46] panel/synaptics-r63353: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 34/46] panel/tpo-td028ttec1: Use refcounted " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 35/46] panel/tpo-td043mtea1: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 36/46] panel/tpo-tpg110: " Anusha Srivatsa
2025-06-05 13:25   ` Linus Walleij
2025-05-30  2:46 ` [PATCH v2 37/46] panel/visionox-r66451: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 38/46] panel/visionox-rm69299: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 39/46] panel/visionox-rm692e5.c: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 40/46] panel/visionox-vtdr6130: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 41/46] panel/widechips-ws2401: " Anusha Srivatsa
2025-06-05 13:25   ` Linus Walleij
2025-05-30  2:46 ` [PATCH v2 42/46] panel/xinpeng-xpp055c272: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 43/46] panel/s6e88a0-ams452ef01: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 44/46] panel/nec-nl8048hl11: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 45/46] panel/panel-lvds: " Anusha Srivatsa
2025-05-30  2:46 ` [PATCH v2 46/46] panel/lg-lb035q02: " Anusha Srivatsa
2025-06-02  7:56 ` [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3 Maxime Ripard

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).