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

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