This series adds the infrastructure needed for the refcounting allocations for panels similar to Luca's efforts with bridges. Underlying intention and idea is the same - avoid use-after-free situations in panels. Get reference to panel when in use and put the reference back (down) when not in use. Once this gets approved, rest of the drivers will have to be mass converted to use this API. All the callers of of_drm_find_panel() will have to be converted too.
Tried to split the patches as suggested in the RFC series[1]. Also fixed the connector used during panel_init to be the one passed by driver. Patch 4 was not suggested or part of my initial work. Added it after looking at the comments Luca's v8 of the bridge series received.[2] [1] -> https://patchwork.freedesktop.org/series/146236/ [2] -> https://patchwork.freedesktop.org/series/146306/#rev2 Suggested-by: Maxime Ripard <mrip...@kernel.org> Signed-off-by: Anusha Srivatsa <asriv...@redhat.com> --- Changes in v2: - Change drm_panel_put() to return void. - Export drm_panel_get()/put() - Code cleanups: add missing return documentation, improve documentation in commit logs. - Link to v1: https://lore.kernel.org/r/20250325-b4-panel-refcounting-v1-0-4e2bf5d19...@redhat.com --- Anusha Srivatsa (4): drm/panel: Add new helpers for refcounted panel allocatons drm/panel: Add refcount support drm/panel: deprecate old-style panel allocation drm/panel/panel-simple: Use the new allocation in place of devm_kzalloc() drivers/gpu/drm/drm_panel.c | 92 +++++++++++++++++++++++++++++++++++- drivers/gpu/drm/panel/panel-simple.c | 9 ++-- include/drm/drm_panel.h | 37 +++++++++++++++ 3 files changed, 131 insertions(+), 7 deletions(-) --- base-commit: c8ba07caaecc622a9922cda49f24790821af8a71 change-id: 20250324-b4-panel-refcounting-40ab56aa34f7 Best regards, -- Anusha Srivatsa <asriv...@redhat.com>