[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250529-b4-drm_panel_mass_driver_convert_part3-v2-0-5d75a3711e40@redhat.com>
Date: Thu, 29 May 2025 21:46:02 -0500
From: Anusha Srivatsa <asrivats@...hat.com>
To: Neil Armstrong <neil.armstrong@...aro.org>,
Jessica Zhang <quic_jesszhan@...cinc.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Robert Chiras <robert.chiras@....com>,
Linus Walleij <linus.walleij@...aro.org>,
Markuss Broks <markuss.broks@...il.com>,
Artur Weber <aweber.kernel@...il.com>,
Dzmitry Sankouski <dsankouski@...il.com>,
Jagan Teki <jagan@...rulasolutions.com>,
Guido Günther <agx@...xcpu.org>,
Purism Kernel Team <kernel@...i.sm>, Ondrej Jirman <megi@....cz>,
Sasha Finkelstein <fnkl.kernel@...il.com>, Janne Grunau <j@...nau.net>,
Michael Trimarchi <michael@...rulasolutions.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc: dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
asahi@...ts.linux.dev, Anusha Srivatsa <asrivats@...hat.com>
Subject: [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of
devm_kzalloc() - Part3
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@...hat.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@...hat.com>
Powered by blists - more mailing lists