linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anusha Srivatsa <asrivats@redhat.com>
To: "Neil Armstrong" <neil.armstrong@linaro.org>,
	"Jessica Zhang" <quic_jesszhan@quicinc.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Robert Chiras" <robert.chiras@nxp.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Markuss Broks" <markuss.broks@gmail.com>,
	"Artur Weber" <aweber.kernel@gmail.com>,
	"Dzmitry Sankouski" <dsankouski@gmail.com>,
	"Jagan Teki" <jagan@amarulasolutions.com>,
	"Guido Günther" <agx@sigxcpu.org>,
	"Purism Kernel Team" <kernel@puri.sm>,
	"Ondrej Jirman" <megi@xff.cz>,
	"Sasha Finkelstein" <fnkl.kernel@gmail.com>,
	"Janne Grunau" <j@jannau.net>,
	"Michael Trimarchi" <michael@amarulasolutions.com>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	 asahi@lists.linux.dev, Anusha Srivatsa <asrivats@redhat.com>
Subject: [PATCH v2 00/46] drm/panel: Use refcounted allocation in place of devm_kzalloc() - Part3
Date: Thu, 29 May 2025 21:46:02 -0500	[thread overview]
Message-ID: <20250529-b4-drm_panel_mass_driver_convert_part3-v2-0-5d75a3711e40@redhat.com> (raw)

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>


             reply	other threads:[~2025-05-30  2:50 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-30  2:46 Anusha Srivatsa [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250529-b4-drm_panel_mass_driver_convert_part3-v2-0-5d75a3711e40@redhat.com \
    --to=asrivats@redhat.com \
    --cc=agx@sigxcpu.org \
    --cc=airlied@gmail.com \
    --cc=asahi@lists.linux.dev \
    --cc=aweber.kernel@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=dsankouski@gmail.com \
    --cc=fnkl.kernel@gmail.com \
    --cc=j@jannau.net \
    --cc=jagan@amarulasolutions.com \
    --cc=kernel@puri.sm \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=markuss.broks@gmail.com \
    --cc=megi@xff.cz \
    --cc=michael@amarulasolutions.com \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=quic_jesszhan@quicinc.com \
    --cc=robert.chiras@nxp.com \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).