mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2
@ 2025-05-21  3:03 Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 01/30] panel/panel-elida-kd35t133: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
                   ` (31 more replies)
  0 siblings, 32 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, Anusha Srivatsa

Convert drivers to use the 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.

Part 1 of the series : https://patchwork.freedesktop.org/series/147082/
is already merged. Sending this next part that covers next 30 drivers.

Sending in batches for easier review.

Minor changes in this version: 2 alignment fixes and 2 refactor and
1 compilation fix.

This took a while to resend mainly due to being away (out of office),
workstation issues because of which lost the work directory that dim
had created and had to start afresh.

Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
---
Changes in v3:
- Alignment fixes - patch 13 and 22.
- Refactors: patch 15 and 18.
- Compilation fix: Patch 18.
- Link to v2: https://lore.kernel.org/all/20250403-b4-drm_panel_mass_convert_part2-v2-0-260c8a44c56b@redhat.com/

Changes in v2:
- Remove drm_panel_init() from probe function in ilitek-ili9341 driver. 
- Link to v1: https://lore.kernel.org/r/20250402-b4-drm_panel_mass_convert_part2-v1-0-903b70999ea6@redhat.com

Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>

---
Anusha Srivatsa (30):
      panel/panel-elida-kd35t133: Use refcounted allocation in place of devm_kzalloc()
      panel/feixin-k101-im2ba02: Use refcounted allocation in place of devm_kzalloc()
      panel/fy07024di26a30d: Use refcounted allocation in place of devm_kzalloc()
      panel/himax-hx83112a: Use refcounted allocation in place of devm_kzalloc()
      panel/himax-hx8394: Use refcounted allocation in place of devm_kzalloc()
      panel/ilitek-ili9322: Use refcounted allocation in place of devm_kzalloc()
      panel/ilitek-ili9341: Use refcounted allocation in place of devm_kzalloc()
      panel/panel-ili9805: Use refcounted allocation in place of devm_kzalloc()
      panel/ilitek-ili9806e: Use refcounted allocation in place of devm_kzalloc()
      panel/ilitek-ili9881c: Use refcounted allocation in place of devm_kzalloc()
      panel/innolux-ej030na: Use refcounted allocation in place of devm_kzalloc()
      panel/innolux-p079zca: Use refcounted allocation in place of devm_kzalloc()
      panel/jadard-jd9365da-h3: Use refcounted allocation in place of devm_kzalloc()
      panel/jdi-fhd-r63452: Use refcounted allocation in place of devm_kzalloc()
      panel/ltk050h3146w: Use refcounted allocation in place of devm_kzalloc()
      panel/ltk500hd1829: Use refcounted allocation in place of devm_kzalloc()
      panel/lg-lg4573: Use refcounted allocation in place of devm_kzalloc()
      panel/lincolntech-lcd197: Use refcounted allocation in place of devm_kzalloc()
      panel/magnachip-d53e6ea8966: Use refcounted allocation in place of devm_kzalloc()
      panel/mantix-mlaf057we51: Use refcounted allocation in place of devm_kzalloc()
      panel/newvision-nv3051d: Use refcounted allocation in place of devm_kzalloc()
      panel/newvision-nv3052c: Use refcounted allocation in place of devm_kzalloc()
      panel/novatek-nt35510: Use refcounted allocation in place of devm_kzalloc()
      panel/novatek-nt35560: Use refcounted allocation in place of devm_kzalloc()
      panel/novatek-nt35950: Use refcounted allocation in place of devm_kzalloc()
      panel/novatek-nt36523: Use refcounted allocation in place of devm_kzalloc()
      panel/novatek-nt36672e: Use refcounted allocation in place of devm_kzalloc()
      panel/novatek-nt39016: Use refcounted allocation in place of devm_kzalloc()
      panel/lcd-olinuxino: Use refcounted allocation in place of devm_kzalloc()
      panel/orisetech-ota5601a: Use refcounted allocation in place of devm_kzalloc()

 drivers/gpu/drm/panel/panel-elida-kd35t133.c          | 10 ++++------
 drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c     | 11 +++++------
 drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c | 10 ++++------
 drivers/gpu/drm/panel/panel-himax-hx83112a.c          | 10 +++++-----
 drivers/gpu/drm/panel/panel-himax-hx8394.c            | 11 +++++------
 drivers/gpu/drm/panel/panel-ilitek-ili9322.c          | 10 ++++------
 drivers/gpu/drm/panel/panel-ilitek-ili9341.c          | 10 +++++-----
 drivers/gpu/drm/panel/panel-ilitek-ili9805.c          | 12 ++++++------
 drivers/gpu/drm/panel/panel-ilitek-ili9806e.c         | 10 ++++------
 drivers/gpu/drm/panel/panel-ilitek-ili9881c.c         | 11 +++++------
 drivers/gpu/drm/panel/panel-innolux-ej030na.c         | 11 +++++------
 drivers/gpu/drm/panel/panel-innolux-p079zca.c         | 11 +++++------
 drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c      | 10 ++++------
 drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c          | 10 +++++-----
 drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c    | 11 +++++------
 drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c    | 11 +++++------
 drivers/gpu/drm/panel/panel-lg-lg4573.c               | 11 +++++------
 drivers/gpu/drm/panel/panel-lincolntech-lcd197.c      | 11 +++++------
 drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c   | 11 +++++------
 drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c      | 11 +++++------
 drivers/gpu/drm/panel/panel-newvision-nv3051d.c       | 11 +++++------
 drivers/gpu/drm/panel/panel-newvision-nv3052c.c       | 10 ++++------
 drivers/gpu/drm/panel/panel-novatek-nt35510.c         | 12 ++++++------
 drivers/gpu/drm/panel/panel-novatek-nt35560.c         | 12 ++++++------
 drivers/gpu/drm/panel/panel-novatek-nt35950.c         | 10 ++++------
 drivers/gpu/drm/panel/panel-novatek-nt36523.c         |  9 +++++----
 drivers/gpu/drm/panel/panel-novatek-nt36672e.c        | 10 +++++-----
 drivers/gpu/drm/panel/panel-novatek-nt39016.c         | 10 ++++------
 drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c    | 11 +++++------
 drivers/gpu/drm/panel/panel-orisetech-ota5601a.c      | 11 +++++------
 30 files changed, 145 insertions(+), 174 deletions(-)
---
base-commit: a4b4e3fd536763b3405c70ef97a6e7f9af8a00dc
change-id: 20250520-drivers-mass-convert-part2-1a76098178c3

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


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

* [PATCH v3 01/30] panel/panel-elida-kd35t133: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 02/30] panel/feixin-k101-im2ba02: " Anusha Srivatsa
                   ` (30 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: Update the patch commit to match with rest of series
v2: none.
---
 drivers/gpu/drm/panel/panel-elida-kd35t133.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-elida-kd35t133.c b/drivers/gpu/drm/panel/panel-elida-kd35t133.c
index b904d54374449055b16df0c9abf132d2c944a6ff..1f177834d62986679830b15b960fb7299ca65cfa 100644
--- a/drivers/gpu/drm/panel/panel-elida-kd35t133.c
+++ b/drivers/gpu/drm/panel/panel-elida-kd35t133.c
@@ -206,9 +206,10 @@ static int kd35t133_probe(struct mipi_dsi_device *dsi)
 	struct kd35t133 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct kd35t133, panel,
+				   &kd35t133_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)) {
@@ -248,9 +249,6 @@ static int kd35t133_probe(struct mipi_dsi_device *dsi)
 			  MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &kd35t133_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v3 02/30] panel/feixin-k101-im2ba02: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 01/30] panel/panel-elida-kd35t133: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 03/30] panel/fy07024di26a30d: " Anusha Srivatsa
                   ` (29 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: update commit prefix to match the driver
v2: none.
---
 drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c b/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
index 986e3e192881b50ad3cdbbbc41a2adbf77e8791a..6225501cb174960b38b7672c6ef53fbc98ab4acf 100644
--- a/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
+++ b/drivers/gpu/drm/panel/panel-feixin-k101-im2ba02.c
@@ -443,9 +443,11 @@ static int k101_im2ba02_dsi_probe(struct mipi_dsi_device *dsi)
 	unsigned int i;
 	int ret;
 
-	ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(&dsi->dev, struct k101_im2ba02, panel,
+				   &k101_im2ba02_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 	ctx->dsi = dsi;
@@ -463,9 +465,6 @@ static int k101_im2ba02_dsi_probe(struct mipi_dsi_device *dsi)
 		return dev_err_probe(&dsi->dev, PTR_ERR(ctx->reset),
 				     "Couldn't get our reset GPIO\n");
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &k101_im2ba02_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v3 03/30] panel/fy07024di26a30d: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 01/30] panel/panel-elida-kd35t133: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 02/30] panel/feixin-k101-im2ba02: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 04/30] panel/himax-hx83112a: " Anusha Srivatsa
                   ` (28 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c b/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
index 48e3acaecdf33de5b82c3eea1c44f0409ebf5f8f..4f8d6d8c07e4d7ac33c90403b92ea1286ebd1a77 100644
--- a/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
+++ b/drivers/gpu/drm/panel/panel-feiyang-fy07024di26a30d.c
@@ -189,16 +189,14 @@ static int feiyang_dsi_probe(struct mipi_dsi_device *dsi)
 	struct feiyang *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(&dsi->dev, struct feiyang, panel,
+				   &feiyang_funcs, DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	mipi_dsi_set_drvdata(dsi, ctx);
 	ctx->dsi = dsi;
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &feiyang_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ctx->dvdd = devm_regulator_get(&dsi->dev, "dvdd");
 	if (IS_ERR(ctx->dvdd))
 		return dev_err_probe(&dsi->dev, PTR_ERR(ctx->dvdd),

-- 
2.48.1


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

* [PATCH v3 04/30] panel/himax-hx83112a: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (2 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 03/30] panel/fy07024di26a30d: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 05/30] panel/himax-hx8394: " Anusha Srivatsa
                   ` (27 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-himax-hx83112a.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-himax-hx83112a.c b/drivers/gpu/drm/panel/panel-himax-hx83112a.c
index 47bce087e3393345fbde8d2fb4d26a955988c395..142cb1cc067addc5900fd5b25d32298b32d7bb05 100644
--- a/drivers/gpu/drm/panel/panel-himax-hx83112a.c
+++ b/drivers/gpu/drm/panel/panel-himax-hx83112a.c
@@ -269,9 +269,11 @@ static int hx83112a_probe(struct mipi_dsi_device *dsi)
 	struct hx83112a_panel *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct hx83112a_panel, panel,
+				   &hx83112a_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->supplies[0].supply = "vdd1";
 	ctx->supplies[1].supply = "vsn";
@@ -295,8 +297,6 @@ static int hx83112a_probe(struct mipi_dsi_device *dsi)
 			  MIPI_DSI_MODE_VIDEO_HSE |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &hx83112a_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	[flat|nested] 34+ messages in thread

* [PATCH v3 05/30] panel/himax-hx8394: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (3 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 04/30] panel/himax-hx83112a: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 06/30] panel/ilitek-ili9322: " Anusha Srivatsa
                   ` (26 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-himax-hx8394.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-himax-hx8394.c b/drivers/gpu/drm/panel/panel-himax-hx8394.c
index ff994bf0e3cc1af134f40ac3b1712633ae801caf..0e3bf4ba91890e5a859288cb6a9737ed77a343b3 100644
--- a/drivers/gpu/drm/panel/panel-himax-hx8394.c
+++ b/drivers/gpu/drm/panel/panel-himax-hx8394.c
@@ -611,9 +611,11 @@ static int hx8394_probe(struct mipi_dsi_device *dsi)
 	struct hx8394 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct hx8394, panel,
+				   &hx8394_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_HIGH);
 	if (IS_ERR(ctx->reset_gpio))
@@ -645,9 +647,6 @@ static int hx8394_probe(struct mipi_dsi_device *dsi)
 		return dev_err_probe(dev, PTR_ERR(ctx->iovcc),
 				     "Failed to request iovcc regulator\n");
 
-	drm_panel_init(&ctx->panel, dev, &hx8394_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v3 06/30] panel/ilitek-ili9322: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (4 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 05/30] panel/himax-hx8394: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 07/30] panel/ilitek-ili9341: " Anusha Srivatsa
                   ` (25 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-ilitek-ili9322.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9322.c b/drivers/gpu/drm/panel/panel-ilitek-ili9322.c
index 94b7dfef3b5e280f02f3127e965e418b6d497c7f..6ed544a83bdd5cf1547847eba39e88cdc5b1e914 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9322.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9322.c
@@ -722,9 +722,10 @@ static int ili9322_probe(struct spi_device *spi)
 	int ret;
 	int i;
 
-	ili = devm_kzalloc(dev, sizeof(struct ili9322), GFP_KERNEL);
-	if (!ili)
-		return -ENOMEM;
+	ili = devm_drm_panel_alloc(dev, struct ili9322, panel,
+				   &ili9322_drm_funcs, DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(ili))
+		return PTR_ERR(ili);
 
 	spi_set_drvdata(spi, ili);
 
@@ -883,9 +884,6 @@ static int ili9322_probe(struct spi_device *spi)
 		ili->input = ili->conf->input;
 	}
 
-	drm_panel_init(&ili->panel, dev, &ili9322_drm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	drm_panel_add(&ili->panel);
 
 	return 0;

-- 
2.48.1


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

* [PATCH v3 07/30] panel/ilitek-ili9341: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (5 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 06/30] panel/ilitek-ili9322: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 08/30] panel/panel-ili9805: " Anusha Srivatsa
                   ` (24 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9341.c b/drivers/gpu/drm/panel/panel-ilitek-ili9341.c
index ff39f5dd4097e8da0a0e16c50c5bfd45c078d91c..bcd561e06465444440e0a5d143219c06e2121218 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9341.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9341.c
@@ -490,9 +490,11 @@ static int ili9341_dpi_probe(struct spi_device *spi, struct gpio_desc *dc,
 	struct ili9341 *ili;
 	int ret;
 
-	ili = devm_kzalloc(dev, sizeof(struct ili9341), GFP_KERNEL);
-	if (!ili)
-		return -ENOMEM;
+	ili = devm_drm_panel_alloc(dev, struct ili9341, panel,
+				   &ili9341_dpi_funcs,
+				   DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(ili))
+		return PTR_ERR(ili);
 
 	ili->dbi = devm_kzalloc(dev, sizeof(struct mipi_dbi),
 				GFP_KERNEL);
@@ -526,8 +528,6 @@ static int ili9341_dpi_probe(struct spi_device *spi, struct gpio_desc *dc,
 	}
 
 	ili->max_spi_speed = ili->conf->max_spi_speed;
-	drm_panel_init(&ili->panel, dev, &ili9341_dpi_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
 	drm_panel_add(&ili->panel);
 
 	return 0;

-- 
2.48.1


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

* [PATCH v3 08/30] panel/panel-ili9805: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (6 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 07/30] panel/ilitek-ili9341: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 09/30] panel/ilitek-ili9806e: " Anusha Srivatsa
                   ` (23 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, Anusha Srivatsa

Start using the new helper that does the refcounted
allocations

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

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9805.c b/drivers/gpu/drm/panel/panel-ilitek-ili9805.c
index 1cbc25758bd2bc0ed1ea64eed61edc7cdda68f9e..e6c483851f1f322c7f7c65e7816d94ddec146e4f 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9805.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9805.c
@@ -307,9 +307,12 @@ static int ili9805_dsi_probe(struct mipi_dsi_device *dsi)
 	struct ili9805 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(&dsi->dev, struct ili9805, panel,
+				   &ili9805_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
+
 	mipi_dsi_set_drvdata(dsi, ctx);
 	ctx->dsi = dsi;
 	ctx->desc = of_device_get_match_data(&dsi->dev);
@@ -320,9 +323,6 @@ static int ili9805_dsi_probe(struct mipi_dsi_device *dsi)
 		MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_NO_EOT_PACKET;
 	dsi->lanes = 2;
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &ili9805_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ctx->dvdd = devm_regulator_get(&dsi->dev, "dvdd");
 	if (IS_ERR(ctx->dvdd))
 		return PTR_ERR(ctx->dvdd);

-- 
2.48.1


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

* [PATCH v3 09/30] panel/ilitek-ili9806e: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (7 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 08/30] panel/panel-ili9805: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 10/30] panel/ilitek-ili9881c: " Anusha Srivatsa
                   ` (22 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, Anusha Srivatsa

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

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

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c b/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c
index a3c79ad99d0bd03f37442c53d4d9dd0e32012ac7..18aa6222b0c557f4ca703922a9728f74ad2848dc 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c
@@ -166,9 +166,10 @@ static int ili9806e_dsi_probe(struct mipi_dsi_device *dsi)
 	struct ili9806e_panel *ctx;
 	int i, ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct ili9806e_panel, panel, &ili9806e_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->desc = device_get_match_data(dev);
 
@@ -192,9 +193,6 @@ static int ili9806e_dsi_probe(struct mipi_dsi_device *dsi)
 	dsi->format = ctx->desc->format;
 	dsi->lanes = ctx->desc->lanes;
 
-	drm_panel_init(&ctx->panel, dev, &ili9806e_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = of_drm_get_panel_orientation(dev->of_node, &ctx->orientation);
 	if (ret)
 		return dev_err_probe(dev, ret, "Failed to get orientation\n");

-- 
2.48.1


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

* [PATCH v3 10/30] panel/ilitek-ili9881c: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (8 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 09/30] panel/ilitek-ili9806e: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 11/30] panel/innolux-ej030na: " Anusha Srivatsa
                   ` (21 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
index 28cd7560e5db1d5734b10babdb4e4e553c6e07d0..aa4192def09353afa40c1981d0b105064fe95b02 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
@@ -1506,16 +1506,15 @@ static int ili9881c_dsi_probe(struct mipi_dsi_device *dsi)
 	struct ili9881c *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(&dsi->dev, struct ili9881c, panel, &ili9881c_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
+
 	mipi_dsi_set_drvdata(dsi, ctx);
 	ctx->dsi = dsi;
 	ctx->desc = of_device_get_match_data(&dsi->dev);
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &ili9881c_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ctx->power = devm_regulator_get(&dsi->dev, "power");
 	if (IS_ERR(ctx->power))
 		return dev_err_probe(&dsi->dev, PTR_ERR(ctx->power),

-- 
2.48.1


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

* [PATCH v3 11/30] panel/innolux-ej030na: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (9 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 10/30] panel/ilitek-ili9881c: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 12/30] panel/innolux-p079zca: " Anusha Srivatsa
                   ` (20 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-innolux-ej030na.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-innolux-ej030na.c b/drivers/gpu/drm/panel/panel-innolux-ej030na.c
index f85b7a4cbb4206bea7b5a019ba1de1dd05b13fe2..b2309900873b28f98707f79f4332763369a27d72 100644
--- a/drivers/gpu/drm/panel/panel-innolux-ej030na.c
+++ b/drivers/gpu/drm/panel/panel-innolux-ej030na.c
@@ -204,9 +204,11 @@ static int ej030na_probe(struct spi_device *spi)
 	struct ej030na *priv;
 	int err;
 
-	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
-	if (!priv)
-		return -ENOMEM;
+	priv = devm_drm_panel_alloc(dev, struct ej030na, panel,
+				    &ej030na_funcs,
+				    DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(priv))
+		return PTR_ERR(priv);
 
 	priv->spi = spi;
 	spi_set_drvdata(spi, priv);
@@ -231,9 +233,6 @@ static int ej030na_probe(struct spi_device *spi)
 		return dev_err_probe(dev, PTR_ERR(priv->reset_gpio),
 				     "Failed to get reset GPIO\n");
 
-	drm_panel_init(&priv->panel, dev, &ej030na_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	err = drm_panel_of_backlight(&priv->panel);
 	if (err)
 		return err;

-- 
2.48.1


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

* [PATCH v3 12/30] panel/innolux-p079zca: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (10 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 11/30] panel/innolux-ej030na: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 13/30] panel/jadard-jd9365da-h3: " Anusha Srivatsa
                   ` (19 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-innolux-p079zca.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-innolux-p079zca.c b/drivers/gpu/drm/panel/panel-innolux-p079zca.c
index d95c0d4f3e3534d70901864fa9ed0fff8f37d236..80afeeab9475fa13ddadb44cd03a1519d448e24e 100644
--- a/drivers/gpu/drm/panel/panel-innolux-p079zca.c
+++ b/drivers/gpu/drm/panel/panel-innolux-p079zca.c
@@ -382,9 +382,11 @@ static int innolux_panel_add(struct mipi_dsi_device *dsi,
 	struct device *dev = &dsi->dev;
 	int err, i;
 
-	innolux = devm_kzalloc(dev, sizeof(*innolux), GFP_KERNEL);
-	if (!innolux)
-		return -ENOMEM;
+	innolux = devm_drm_panel_alloc(dev, struct innolux_panel, base,
+				       &innolux_panel_funcs,
+				       DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(innolux))
+		return PTR_ERR(innolux);
 
 	innolux->desc = desc;
 
@@ -410,9 +412,6 @@ static int innolux_panel_add(struct mipi_dsi_device *dsi,
 		innolux->enable_gpio = NULL;
 	}
 
-	drm_panel_init(&innolux->base, dev, &innolux_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	err = drm_panel_of_backlight(&innolux->base);
 	if (err)
 		return err;

-- 
2.48.1


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

* [PATCH v3 13/30] panel/jadard-jd9365da-h3: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (11 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 12/30] panel/innolux-p079zca: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 14/30] panel/jdi-fhd-r63452: " Anusha Srivatsa
                   ` (18 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: fix alignment (Neil)
v2: none.
---
 drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c
index eb0f8373258c346ccdffd5f8052a5923cd21e203..5c2530598ddb99a0ebdfc7e304b92d11ebf9a50a 100644
--- a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c
+++ b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c
@@ -1120,9 +1120,10 @@ static int jadard_dsi_probe(struct mipi_dsi_device *dsi)
 	struct jadard *jadard;
 	int ret;
 
-	jadard = devm_kzalloc(&dsi->dev, sizeof(*jadard), GFP_KERNEL);
-	if (!jadard)
-		return -ENOMEM;
+	jadard = devm_drm_panel_alloc(dev, struct jadard, panel, &jadard_funcs,
+				      DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(jadard))
+		return PTR_ERR(jadard);
 
 	desc = of_device_get_match_data(dev);
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
@@ -1148,9 +1149,6 @@ static int jadard_dsi_probe(struct mipi_dsi_device *dsi)
 		return PTR_ERR(jadard->vccio);
 	}
 
-	drm_panel_init(&jadard->panel, dev, &jadard_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = of_drm_get_panel_orientation(dev->of_node, &jadard->orientation);
 	if (ret < 0)
 		return dev_err_probe(dev, ret, "failed to get orientation\n");

-- 
2.48.1


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

* [PATCH v3 14/30] panel/jdi-fhd-r63452: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (12 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 13/30] panel/jadard-jd9365da-h3: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 15/30] panel/ltk050h3146w: " Anusha Srivatsa
                   ` (17 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c b/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
index 4eb71e85e9e9f2acaa2bdc23dae563f04da64f8c..cbe354b51bce35ec07b6f0758973fd5dffd92c42 100644
--- a/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
+++ b/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
@@ -175,9 +175,11 @@ static int jdi_fhd_r63452_probe(struct mipi_dsi_device *dsi)
 	struct jdi_fhd_r63452 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct jdi_fhd_r63452, panel,
+				   &jdi_fhd_r63452_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))
@@ -192,8 +194,6 @@ static int jdi_fhd_r63452_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_CLOCK_NON_CONTINUOUS;
 
-	drm_panel_init(&ctx->panel, dev, &jdi_fhd_r63452_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	[flat|nested] 34+ messages in thread

* [PATCH v3 15/30] panel/ltk050h3146w: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (13 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 14/30] panel/jdi-fhd-r63452: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 16/30] panel/ltk500hd1829: " Anusha Srivatsa
                   ` (16 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: Use dev instead of &dsi->dev.
v2: none.
---
 drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c b/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
index 77f74e6c467e566ca2fd7b6a5cc29b2fe09b9ef5..0856df5a6ee226d17238d4d854bd841a122d7c65 100644
--- a/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
+++ b/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
@@ -548,9 +548,11 @@ static int ltk050h3146w_probe(struct mipi_dsi_device *dsi)
 	struct ltk050h3146w *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct ltk050h3146w, panel,
+				   &ltk050h3146w_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->panel_desc = of_device_get_match_data(dev);
 	if (!ctx->panel_desc)
@@ -577,9 +579,6 @@ static int ltk050h3146w_probe(struct mipi_dsi_device *dsi)
 	dsi->format = MIPI_DSI_FMT_RGB888;
 	dsi->mode_flags = ctx->panel_desc->mode_flags;
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &ltk050h3146w_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v3 16/30] panel/ltk500hd1829: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (14 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 15/30] panel/ltk050h3146w: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 17/30] panel/lg-lg4573: " Anusha Srivatsa
                   ` (15 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
index 6b18cf00fd4a7a1d12a3577eced49ad6f9c3e955..7f19fd5b80600c2db3236f2d0e3ee44fd91fe4f9 100644
--- a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
+++ b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
@@ -604,9 +604,11 @@ static int ltk500hd1829_probe(struct mipi_dsi_device *dsi)
 	struct device *dev = &dsi->dev;
 	int ret;
 
-	ctx = devm_kzalloc(&dsi->dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct ltk500hd1829, panel,
+				   &ltk500hd1829_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->panel_desc = of_device_get_match_data(dev);
 	if (!ctx->panel_desc)
@@ -643,9 +645,6 @@ static int ltk500hd1829_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, &ltk500hd1829_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v3 17/30] panel/lg-lg4573: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (15 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 16/30] panel/ltk500hd1829: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 18/30] panel/lincolntech-lcd197: " Anusha Srivatsa
                   ` (14 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-lg-lg4573.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-lg-lg4573.c b/drivers/gpu/drm/panel/panel-lg-lg4573.c
index cf246d15b7b628a0b3821bfb2697842b6e484319..dec619902c15f8fbfdd138ef3bd2aa7cae921375 100644
--- a/drivers/gpu/drm/panel/panel-lg-lg4573.c
+++ b/drivers/gpu/drm/panel/panel-lg-lg4573.c
@@ -243,9 +243,11 @@ static int lg4573_probe(struct spi_device *spi)
 	struct lg4573 *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(&spi->dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(&spi->dev, struct lg4573, panel,
+				   &lg4573_drm_funcs,
+				   DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->spi = spi;
 
@@ -258,9 +260,6 @@ static int lg4573_probe(struct spi_device *spi)
 		return ret;
 	}
 
-	drm_panel_init(&ctx->panel, &spi->dev, &lg4573_drm_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	drm_panel_add(&ctx->panel);
 
 	return 0;

-- 
2.48.1


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

* [PATCH v3 18/30] panel/lincolntech-lcd197: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (16 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 17/30] panel/lg-lg4573: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 19/30] panel/magnachip-d53e6ea8966: " Anusha Srivatsa
                   ` (13 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: s/ctx/lcd. fix compilation
v2: none.
---
 drivers/gpu/drm/panel/panel-lincolntech-lcd197.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-lincolntech-lcd197.c b/drivers/gpu/drm/panel/panel-lincolntech-lcd197.c
index 032c542aab0f788e8a244721c838d9d740af98fb..24b34443ace02bc179da5068d52b1115805deea9 100644
--- a/drivers/gpu/drm/panel/panel-lincolntech-lcd197.c
+++ b/drivers/gpu/drm/panel/panel-lincolntech-lcd197.c
@@ -190,9 +190,11 @@ static int lincoln_lcd197_panel_probe(struct mipi_dsi_device *dsi)
 	dsi->mode_flags = (MIPI_DSI_MODE_VIDEO |
 			   MIPI_DSI_MODE_VIDEO_BURST);
 
-	lcd = devm_kzalloc(&dsi->dev, sizeof(*lcd), GFP_KERNEL);
-	if (!lcd)
-		return -ENOMEM;
+	lcd = devm_drm_panel_alloc(dev, struct lincoln_lcd197_panel, panel,
+				   &lincoln_lcd197_panel_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(lcd))
+		return PTR_ERR(lcd);
 
 	mipi_dsi_set_drvdata(dsi, lcd);
 	lcd->dsi = dsi;
@@ -214,9 +216,6 @@ static int lincoln_lcd197_panel_probe(struct mipi_dsi_device *dsi)
 		return dev_err_probe(dev, PTR_ERR(lcd->reset_gpio),
 				     "failed to get reset gpio");
 
-	drm_panel_init(&lcd->panel, dev,
-		       &lincoln_lcd197_panel_funcs, DRM_MODE_CONNECTOR_DSI);
-
 	err = drm_panel_of_backlight(&lcd->panel);
 	if (err)
 		return err;

-- 
2.48.1


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

* [PATCH v3 19/30] panel/magnachip-d53e6ea8966: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (17 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 18/30] panel/lincolntech-lcd197: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 20/30] panel/mantix-mlaf057we51: " Anusha Srivatsa
                   ` (12 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: fix compilation.
v2: none.
---
 drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c b/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c
index 799c2161fc85b24e1fb236fd63b397bf66fc15c8..cde168ec631c43cef2a8180bff55d00331426d86 100644
--- a/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c
+++ b/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c
@@ -370,9 +370,11 @@ static int d53e6ea8966_probe(struct spi_device *spi)
 		.node = NULL,
 	};
 
-	db = devm_kzalloc(dev, sizeof(*db), GFP_KERNEL);
-	if (!db)
-		return -ENOMEM;
+	db = devm_drm_panel_alloc(dev, struct d53e6ea8966, panel,
+				  &d53e6ea8966_panel_funcs,
+				  DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(db))
+		return PTR_ERR(db);
 
 	spi_set_drvdata(spi, db);
 
@@ -425,9 +427,6 @@ static int d53e6ea8966_probe(struct spi_device *spi)
 	db->dsi_dev->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
 			  MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET;
 
-	drm_panel_init(&db->panel, dev, &d53e6ea8966_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	if (db->panel_info->backlight_register) {
 		ret = db->panel_info->backlight_register(db);
 		if (ret < 0)

-- 
2.48.1


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

* [PATCH v3 20/30] panel/mantix-mlaf057we51: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (18 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 19/30] panel/magnachip-d53e6ea8966: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 21/30] panel/newvision-nv3051d: " Anusha Srivatsa
                   ` (11 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
index 4db852ffb0f619a398c04ba2358e503733db108f..55664f5d5aa5d4c45ad3974119a3da492db4bdad 100644
--- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
+++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
@@ -234,9 +234,11 @@ static int mantix_probe(struct mipi_dsi_device *dsi)
 	struct mantix *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct mantix, panel, &mantix_drm_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
+
 	ctx->default_mode = of_device_get_match_data(dev);
 
 	ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
@@ -271,9 +273,6 @@ static int mantix_probe(struct mipi_dsi_device *dsi)
 	if (IS_ERR(ctx->vddi))
 		return dev_err_probe(dev, PTR_ERR(ctx->vddi), "Failed to request vddi regulator\n");
 
-	drm_panel_init(&ctx->panel, dev, &mantix_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v3 21/30] panel/newvision-nv3051d: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (19 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 20/30] panel/mantix-mlaf057we51: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 22/30] panel/newvision-nv3052c: " Anusha Srivatsa
                   ` (10 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-newvision-nv3051d.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
index b6429795e8f518646443dd8179f3ec28cef4dc0f..22560384e48e31c06f5f8dbe55602fec3f08dec2 100644
--- a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
+++ b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
@@ -361,9 +361,11 @@ static int panel_nv3051d_probe(struct mipi_dsi_device *dsi)
 	struct panel_nv3051d *ctx;
 	int ret;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct panel_nv3051d, panel,
+				   &panel_nv3051d_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->dev = dev;
 
@@ -391,9 +393,6 @@ static int panel_nv3051d_probe(struct mipi_dsi_device *dsi)
 	dsi->format = MIPI_DSI_FMT_RGB888;
 	dsi->mode_flags = ctx->panel_info->mode_flags;
 
-	drm_panel_init(&ctx->panel, &dsi->dev, &panel_nv3051d_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&ctx->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v3 22/30] panel/newvision-nv3052c: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (20 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 21/30] panel/newvision-nv3051d: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 23/30] panel/novatek-nt35510: " Anusha Srivatsa
                   ` (9 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: fix alignment (Neil)
v2: none.
---
 drivers/gpu/drm/panel/panel-newvision-nv3052c.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3052c.c b/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
index 06e16a7c14a756b9a399347b29b410fd5f4ae273..0db9cadd868e56fba80eb234d0b2572e51ae4171 100644
--- a/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
+++ b/drivers/gpu/drm/panel/panel-newvision-nv3052c.c
@@ -777,9 +777,10 @@ static int nv3052c_probe(struct spi_device *spi)
 	struct nv3052c *priv;
 	int err;
 
-	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
-	if (!priv)
-		return -ENOMEM;
+	priv = devm_drm_panel_alloc(dev, struct nv3052c, panel, &nv3052c_funcs,
+				    DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(priv))
+		return PTR_ERR(priv);
 
 	priv->dev = dev;
 
@@ -803,9 +804,6 @@ static int nv3052c_probe(struct spi_device *spi)
 
 	spi_set_drvdata(spi, priv);
 
-	drm_panel_init(&priv->panel, dev, &nv3052c_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	err = drm_panel_of_backlight(&priv->panel);
 	if (err)
 		return dev_err_probe(dev, err, "Failed to attach backlight\n");

-- 
2.48.1


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

* [PATCH v3 23/30] panel/novatek-nt35510: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (21 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 22/30] panel/newvision-nv3052c: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  8:14   ` Linus Walleij
  2025-05-21  3:03 ` [PATCH v3 24/30] panel/novatek-nt35560: " Anusha Srivatsa
                   ` (8 subsequent siblings)
  31 siblings, 1 reply; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-novatek-nt35510.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35510.c b/drivers/gpu/drm/panel/panel-novatek-nt35510.c
index 549b86f2cc288741897992ce5cad6325f4289dba..3189d89c7ca00074314a6f4fec330a3e625c24f4 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35510.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35510.c
@@ -1087,9 +1087,12 @@ static int nt35510_probe(struct mipi_dsi_device *dsi)
 	struct nt35510 *nt;
 	int ret;
 
-	nt = devm_kzalloc(dev, sizeof(struct nt35510), GFP_KERNEL);
-	if (!nt)
-		return -ENOMEM;
+	nt = devm_drm_panel_alloc(dev, struct nt35510, panel,
+				  &nt35510_drm_funcs,
+				  DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(nt))
+		return PTR_ERR(nt);
+
 	mipi_dsi_set_drvdata(dsi, nt);
 	nt->dev = dev;
 
@@ -1142,9 +1145,6 @@ static int nt35510_probe(struct mipi_dsi_device *dsi)
 		return PTR_ERR(nt->reset_gpio);
 	}
 
-	drm_panel_init(&nt->panel, dev, &nt35510_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	/*
 	 * First, try to locate an external backlight (such as on GPIO)
 	 * if this fails, assume we will want to use the internal backlight

-- 
2.48.1


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

* [PATCH v3 24/30] panel/novatek-nt35560: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (22 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 23/30] panel/novatek-nt35510: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 25/30] panel/novatek-nt35950: " Anusha Srivatsa
                   ` (7 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-novatek-nt35560.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35560.c b/drivers/gpu/drm/panel/panel-novatek-nt35560.c
index 5bbea734123bc003e3d691040496b1fc679ac94b..98f0782c841114439317e16ac6bb4a5175374ac3 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35560.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35560.c
@@ -456,9 +456,12 @@ static int nt35560_probe(struct mipi_dsi_device *dsi)
 	struct nt35560 *nt;
 	int ret;
 
-	nt = devm_kzalloc(dev, sizeof(struct nt35560), GFP_KERNEL);
-	if (!nt)
-		return -ENOMEM;
+	nt = devm_drm_panel_alloc(dev, struct nt35560, panel,
+				  &nt35560_drm_funcs,
+				  DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(nt))
+		return PTR_ERR(nt);
+
 	nt->video_mode = of_property_read_bool(dev->of_node,
 						"enforce-video-mode");
 
@@ -502,9 +505,6 @@ static int nt35560_probe(struct mipi_dsi_device *dsi)
 		return dev_err_probe(dev, PTR_ERR(nt->reset_gpio),
 				     "failed to request GPIO\n");
 
-	drm_panel_init(&nt->panel, dev, &nt35560_drm_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	nt->panel.backlight = devm_backlight_device_register(dev, "nt35560", dev, nt,
 					&nt35560_bl_ops, &nt35560_bl_props);
 	if (IS_ERR(nt->panel.backlight))

-- 
2.48.1


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

* [PATCH v3 25/30] panel/novatek-nt35950: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (23 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 24/30] panel/novatek-nt35560: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 26/30] panel/novatek-nt36523: " Anusha Srivatsa
                   ` (6 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-novatek-nt35950.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35950.c b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
index 08b22b592ab0452973aa7373dd0692a9bf98e5f2..94aa6489d99fc88f1602c4dbbf4f7f78c04799a9 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35950.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35950.c
@@ -449,9 +449,10 @@ static int nt35950_probe(struct mipi_dsi_device *dsi)
 	const struct mipi_dsi_device_info *info;
 	int i, num_dsis = 1, ret;
 
-	nt = devm_kzalloc(dev, sizeof(*nt), GFP_KERNEL);
-	if (!nt)
-		return -ENOMEM;
+	nt = devm_drm_panel_alloc(dev, struct nt35950, panel, &nt35950_panel_funcs,
+				  DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(nt))
+		return PTR_ERR(nt);
 
 	ret = nt35950_sharp_init_vregs(nt, dev);
 	if (ret)
@@ -491,9 +492,6 @@ static int nt35950_probe(struct mipi_dsi_device *dsi)
 	nt->dsi[0] = dsi;
 	mipi_dsi_set_drvdata(dsi, nt);
 
-	drm_panel_init(&nt->panel, dev, &nt35950_panel_funcs,
-		       DRM_MODE_CONNECTOR_DSI);
-
 	ret = drm_panel_of_backlight(&nt->panel);
 	if (ret) {
 		if (num_dsis == 2)

-- 
2.48.1


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

* [PATCH v3 26/30] panel/novatek-nt36523: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (24 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 25/30] panel/novatek-nt35950: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 27/30] panel/novatek-nt36672e: " Anusha Srivatsa
                   ` (5 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-novatek-nt36523.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36523.c b/drivers/gpu/drm/panel/panel-novatek-nt36523.c
index 116d67bfa1140073cc537ec967b77195beeec051..32cf64c7c18be061fc3d38689529f039bf7cea55 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt36523.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt36523.c
@@ -1171,9 +1171,11 @@ static int nt36523_probe(struct mipi_dsi_device *dsi)
 	const struct mipi_dsi_device_info *info;
 	int i, ret;
 
-	pinfo = devm_kzalloc(dev, sizeof(*pinfo), GFP_KERNEL);
-	if (!pinfo)
-		return -ENOMEM;
+	pinfo = devm_drm_panel_alloc(dev, struct panel_info, panel,
+				     &nt36523_panel_funcs,
+				     DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(pinfo))
+		return PTR_ERR(pinfo);
 
 	pinfo->vddio = devm_regulator_get(dev, "vddio");
 	if (IS_ERR(pinfo->vddio))
@@ -1211,7 +1213,6 @@ static int nt36523_probe(struct mipi_dsi_device *dsi)
 
 	pinfo->dsi[0] = dsi;
 	mipi_dsi_set_drvdata(dsi, pinfo);
-	drm_panel_init(&pinfo->panel, dev, &nt36523_panel_funcs, DRM_MODE_CONNECTOR_DSI);
 
 	ret = of_drm_get_panel_orientation(dev->of_node, &pinfo->orientation);
 	if (ret < 0) {

-- 
2.48.1


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

* [PATCH v3 27/30] panel/novatek-nt36672e: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (25 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 26/30] panel/novatek-nt36523: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:03 ` [PATCH v3 28/30] panel/novatek-nt39016: " Anusha Srivatsa
                   ` (4 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-novatek-nt36672e.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36672e.c b/drivers/gpu/drm/panel/panel-novatek-nt36672e.c
index 8c9e04207ba96db93d18a845a9240d2a22ec6b8f..c5e00eb55722e483a97e8af3a3594cdb9030dae8 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt36672e.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt36672e.c
@@ -522,9 +522,11 @@ static int nt36672e_panel_probe(struct mipi_dsi_device *dsi)
 	struct nt36672e_panel *ctx;
 	int i, ret = 0;
 
-	ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-	if (!ctx)
-		return -ENOMEM;
+	ctx = devm_drm_panel_alloc(dev, struct nt36672e_panel, panel,
+				   &nt36672e_drm_funcs,
+				   DRM_MODE_CONNECTOR_DSI);
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
 
 	ctx->desc = of_device_get_match_data(dev);
 	if (!ctx->desc) {
@@ -553,8 +555,6 @@ static int nt36672e_panel_probe(struct mipi_dsi_device *dsi)
 	dsi->format = ctx->desc->format;
 	dsi->mode_flags = ctx->desc->mode_flags;
 
-	drm_panel_init(&ctx->panel, dev, &nt36672e_drm_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	[flat|nested] 34+ messages in thread

* [PATCH v3 28/30] panel/novatek-nt39016: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (26 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 27/30] panel/novatek-nt36672e: " Anusha Srivatsa
@ 2025-05-21  3:03 ` Anusha Srivatsa
  2025-05-21  3:04 ` [PATCH v3 29/30] panel/lcd-olinuxino: " Anusha Srivatsa
                   ` (3 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:03 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: fix alignment
v2: none.
---
 drivers/gpu/drm/panel/panel-novatek-nt39016.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt39016.c b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
index 9fa7654e2b6755fbc641b6bef3cc450e0e16ba32..a629976bae540182504ff810604c0f18f31ac3dd 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt39016.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt39016.c
@@ -246,9 +246,10 @@ static int nt39016_probe(struct spi_device *spi)
 	struct nt39016 *panel;
 	int err;
 
-	panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL);
-	if (!panel)
-		return -ENOMEM;
+	panel = devm_drm_panel_alloc(dev, struct nt39016, drm_panel, &nt39016_funcs,
+				     DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(panel))
+		return PTR_ERR(panel);
 
 	spi_set_drvdata(spi, panel);
 
@@ -279,9 +280,6 @@ static int nt39016_probe(struct spi_device *spi)
 		return PTR_ERR(panel->map);
 	}
 
-	drm_panel_init(&panel->drm_panel, dev, &nt39016_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	err = drm_panel_of_backlight(&panel->drm_panel);
 	if (err)
 		return dev_err_probe(dev, err, "Failed to get backlight handle\n");

-- 
2.48.1


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

* [PATCH v3 29/30] panel/lcd-olinuxino: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (27 preceding siblings ...)
  2025-05-21  3:03 ` [PATCH v3 28/30] panel/novatek-nt39016: " Anusha Srivatsa
@ 2025-05-21  3:04 ` Anusha Srivatsa
  2025-05-21  3:04 ` [PATCH v3 30/30] panel/orisetech-ota5601a: " Anusha Srivatsa
                   ` (2 subsequent siblings)
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:04 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c b/drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
index 94ae8c8270b8fbdf47009dac6232ddf6885c2369..66f99982f360fe4445b0c0cbc1e57c4db4be5eda 100644
--- a/drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
+++ b/drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c
@@ -175,9 +175,11 @@ static int lcd_olinuxino_probe(struct i2c_client *client)
 				     I2C_FUNC_SMBUS_READ_I2C_BLOCK))
 		return -ENODEV;
 
-	lcd = devm_kzalloc(dev, sizeof(*lcd), GFP_KERNEL);
-	if (!lcd)
-		return -ENOMEM;
+	lcd = devm_drm_panel_alloc(dev, struct lcd_olinuxino, panel,
+				   &lcd_olinuxino_funcs,
+				   DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(lcd))
+		return PTR_ERR(lcd);
 
 	i2c_set_clientdata(client, lcd);
 	lcd->dev = dev;
@@ -234,9 +236,6 @@ static int lcd_olinuxino_probe(struct i2c_client *client)
 	if (IS_ERR(lcd->enable_gpio))
 		return PTR_ERR(lcd->enable_gpio);
 
-	drm_panel_init(&lcd->panel, dev, &lcd_olinuxino_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	ret = drm_panel_of_backlight(&lcd->panel);
 	if (ret)
 		return ret;

-- 
2.48.1


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

* [PATCH v3 30/30] panel/orisetech-ota5601a: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (28 preceding siblings ...)
  2025-05-21  3:04 ` [PATCH v3 29/30] panel/lcd-olinuxino: " Anusha Srivatsa
@ 2025-05-21  3:04 ` Anusha Srivatsa
  2025-05-21  7:30 ` [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Maxime Ripard
  2025-05-21 15:13 ` Markus Elfring
  31 siblings, 0 replies; 34+ messages in thread
From: Anusha Srivatsa @ 2025-05-21  3:04 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev
  Cc: dri-devel, linux-kernel, 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>
---
v3: none.
v2: none.
---
 drivers/gpu/drm/panel/panel-orisetech-ota5601a.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c b/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
index fc87f61d4400d49814953d7f453a7c6e84004f29..3231e84dc66c2bf319f5287fd53bc437e24e0d5b 100644
--- a/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
+++ b/drivers/gpu/drm/panel/panel-orisetech-ota5601a.c
@@ -237,9 +237,11 @@ static int ota5601a_probe(struct spi_device *spi)
 	struct ota5601a *panel;
 	int err;
 
-	panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL);
-	if (!panel)
-		return -ENOMEM;
+	panel = devm_drm_panel_alloc(dev, struct ota5601a, drm_panel,
+				     &ota5601a_funcs,
+				     DRM_MODE_CONNECTOR_DPI);
+	if (IS_ERR(panel))
+		return PTR_ERR(panel);
 
 	spi_set_drvdata(spi, panel);
 
@@ -273,9 +275,6 @@ static int ota5601a_probe(struct spi_device *spi)
 		return PTR_ERR(panel->map);
 	}
 
-	drm_panel_init(&panel->drm_panel, dev, &ota5601a_funcs,
-		       DRM_MODE_CONNECTOR_DPI);
-
 	err = drm_panel_of_backlight(&panel->drm_panel);
 	if (err) {
 		if (err != -EPROBE_DEFER)

-- 
2.48.1


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

* Re: [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (29 preceding siblings ...)
  2025-05-21  3:04 ` [PATCH v3 30/30] panel/orisetech-ota5601a: " Anusha Srivatsa
@ 2025-05-21  7:30 ` Maxime Ripard
  2025-05-21 15:13 ` Markus Elfring
  31 siblings, 0 replies; 34+ messages in thread
From: Maxime Ripard @ 2025-05-21  7:30 UTC (permalink / raw)
  To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Linus Walleij, Jianhua Lu, Stefan Mavrodiev,
	Anusha Srivatsa
  Cc: Maxime Ripard, dri-devel, linux-kernel

On Tue, 20 May 2025 22:03:31 -0500, Anusha Srivatsa wrote:
> Convert drivers to use the 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] 34+ messages in thread

* Re: [PATCH v3 23/30] panel/novatek-nt35510: Use refcounted allocation in place of devm_kzalloc()
  2025-05-21  3:03 ` [PATCH v3 23/30] panel/novatek-nt35510: " Anusha Srivatsa
@ 2025-05-21  8:14   ` Linus Walleij
  0 siblings, 0 replies; 34+ messages in thread
From: Linus Walleij @ 2025-05-21  8:14 UTC (permalink / raw)
  To: Anusha Srivatsa
  Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Icenowy Zheng,
	Jagan Teki, Ondrej Jirman, Javier Martinez Canillas,
	Michael Trimarchi, Michael Walle, Jagan Teki, Guido Günther,
	Purism Kernel Team, Jianhua Lu, Stefan Mavrodiev, dri-devel,
	linux-kernel

On Wed, May 21, 2025 at 6:11 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] 34+ messages in thread

* Re: [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2
  2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
                   ` (30 preceding siblings ...)
  2025-05-21  7:30 ` [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Maxime Ripard
@ 2025-05-21 15:13 ` Markus Elfring
  31 siblings, 0 replies; 34+ messages in thread
From: Markus Elfring @ 2025-05-21 15:13 UTC (permalink / raw)
  To: Anusha Srivatsa, dri-devel, David Airlie, Guido Günther,
	Icenowy Zheng, Jagan Teki, Jagan Teki, Javier Martinez Canillas,
	Jessica Zhang, Jianhua Lu, Linus Walleij, Maarten Lankhorst,
	Maxime Ripard, Michael Trimarchi, Michael Walle, Neil Armstrong,
	Ondřej Jirman, Simona Vetter, Stefan Mavrodiev,
	Thomas Zimmermann
  Cc: LKML, kernel

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

I imagine that the shown SmPL code can be improved another bit
(like the following).


@find_add@
identifier add_f, b, c;
type T;
@@
 add_f(...)
 {
 ... when any
 T *c;
 ... when any
 drm_panel_add(&c->b);
 ... when any
 }

@find_allocation@
identifier alloc_f, cal;
position p;
type find_add.T;
@@
 alloc_f(...)
 {
 ... when any
 T *cal;
 ... when any
 cal =
(      kzalloc
|      devm_kzalloc
)(...)@p;
 ... when any
 }

@script:python@
add_f << find_add.add_f;
alloc_f << find_allocation.alloc_f;
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))


Regards,
Markus

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

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

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-21  3:03 [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 01/30] panel/panel-elida-kd35t133: Use refcounted allocation in place of devm_kzalloc() Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 02/30] panel/feixin-k101-im2ba02: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 03/30] panel/fy07024di26a30d: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 04/30] panel/himax-hx83112a: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 05/30] panel/himax-hx8394: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 06/30] panel/ilitek-ili9322: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 07/30] panel/ilitek-ili9341: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 08/30] panel/panel-ili9805: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 09/30] panel/ilitek-ili9806e: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 10/30] panel/ilitek-ili9881c: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 11/30] panel/innolux-ej030na: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 12/30] panel/innolux-p079zca: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 13/30] panel/jadard-jd9365da-h3: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 14/30] panel/jdi-fhd-r63452: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 15/30] panel/ltk050h3146w: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 16/30] panel/ltk500hd1829: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 17/30] panel/lg-lg4573: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 18/30] panel/lincolntech-lcd197: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 19/30] panel/magnachip-d53e6ea8966: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 20/30] panel/mantix-mlaf057we51: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 21/30] panel/newvision-nv3051d: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 22/30] panel/newvision-nv3052c: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 23/30] panel/novatek-nt35510: " Anusha Srivatsa
2025-05-21  8:14   ` Linus Walleij
2025-05-21  3:03 ` [PATCH v3 24/30] panel/novatek-nt35560: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 25/30] panel/novatek-nt35950: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 26/30] panel/novatek-nt36523: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 27/30] panel/novatek-nt36672e: " Anusha Srivatsa
2025-05-21  3:03 ` [PATCH v3 28/30] panel/novatek-nt39016: " Anusha Srivatsa
2025-05-21  3:04 ` [PATCH v3 29/30] panel/lcd-olinuxino: " Anusha Srivatsa
2025-05-21  3:04 ` [PATCH v3 30/30] panel/orisetech-ota5601a: " Anusha Srivatsa
2025-05-21  7:30 ` [PATCH v3 00/30] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part2 Maxime Ripard
2025-05-21 15:13 ` Markus Elfring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®