drm/panel/lxd-m9189a: Use refcounted allocation in place of devm_kzalloc()

Move to using the new API devm_drm_panel_alloc() to allocate the
panel. In the call to the new API, avoid using explicit type and use
__typeof() for more type safety.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Albert Esteve <aesteve@redhat.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patch.msgid.link/20260508-drm_panel_init_rm-v2-4-0bd4ac429971@redhat.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
This commit is contained in:
Albert Esteve 2026-05-08 09:04:44 +02:00 committed by Maxime Ripard
parent e4fa6c4672
commit c8c80bde16
No known key found for this signature in database
GPG Key ID: 275FCE19A23DBE76

View File

@ -165,9 +165,12 @@ static int lxd_m9189_probe(struct mipi_dsi_device *dsi)
struct m9189_panel *m9189;
int ret;
m9189 = devm_kzalloc(dev, sizeof(*m9189), GFP_KERNEL);
if (!m9189)
return -ENOMEM;
m9189 = devm_drm_panel_alloc(dev, __typeof(*m9189), panel,
&m9189_panel_funcs,
DRM_MODE_CONNECTOR_DSI);
if (IS_ERR(m9189))
return PTR_ERR(m9189);
m9189->supply = devm_regulator_get(dev, "power");
if (IS_ERR(m9189->supply))
@ -191,8 +194,6 @@ static int lxd_m9189_probe(struct mipi_dsi_device *dsi)
dsi->format = MIPI_DSI_FMT_RGB888;
dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST;
drm_panel_init(&m9189->panel, dev, &m9189_panel_funcs,
DRM_MODE_CONNECTOR_DSI);
m9189->panel.prepare_prev_first = true;
ret = drm_panel_of_backlight(&m9189->panel);