Switch to devm_drm_panel_add() and devm_mipi_dsi_attach() and drop the remove() callback.
Signed-off-by: Neil Armstrong <[email protected]> --- drivers/gpu/drm/panel/panel-visionox-vtdr6130.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c b/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c index 0cdcdbbc766d..6733e0e1d061 100644 --- a/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c +++ b/drivers/gpu/drm/panel/panel-visionox-vtdr6130.c @@ -298,28 +298,11 @@ static int visionox_vtdr6130_probe(struct mipi_dsi_device *dsi) return dev_err_probe(dev, PTR_ERR(ctx->panel.backlight), "Failed to create backlight\n"); - drm_panel_add(&ctx->panel); - - ret = mipi_dsi_attach(dsi); - if (ret < 0) { - dev_err(dev, "Failed to attach to DSI host: %d\n", ret); - drm_panel_remove(&ctx->panel); + ret = devm_drm_panel_add(dev, &ctx->panel); + if (ret) return ret; - } - - return 0; -} - -static void visionox_vtdr6130_remove(struct mipi_dsi_device *dsi) -{ - struct visionox_vtdr6130 *ctx = mipi_dsi_get_drvdata(dsi); - int ret; - - ret = mipi_dsi_detach(dsi); - if (ret < 0) - dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret); - drm_panel_remove(&ctx->panel); + return devm_mipi_dsi_attach(dev, dsi); } static const struct of_device_id visionox_vtdr6130_of_match[] = { @@ -330,7 +313,6 @@ MODULE_DEVICE_TABLE(of, visionox_vtdr6130_of_match); static struct mipi_dsi_driver visionox_vtdr6130_driver = { .probe = visionox_vtdr6130_probe, - .remove = visionox_vtdr6130_remove, .driver = { .name = "panel-visionox-vtdr6130", .of_match_table = visionox_vtdr6130_of_match, -- 2.34.1
