Commit ac8aabee authored by Dmitry Baryshkov's avatar Dmitry Baryshkov

drm/msm/mdp5: use drmm-managed allocation for mdp5_plane

Change struct mdp5_plane allocation to use drmm_plane_alloc(). This
removes the need to perform any actions on plane destruction.
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarAbhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/546167/
Link: https://lore.kernel.org/r/20230708010407.3871346-11-dmitry.baryshkov@linaro.org
parent 530f2720
...@@ -35,15 +35,6 @@ static bool plane_enabled(struct drm_plane_state *state) ...@@ -35,15 +35,6 @@ static bool plane_enabled(struct drm_plane_state *state)
return state->visible; return state->visible;
} }
static void mdp5_plane_destroy(struct drm_plane *plane)
{
struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);
drm_plane_cleanup(plane);
kfree(mdp5_plane);
}
/* helper to install properties which are common to planes and crtcs */ /* helper to install properties which are common to planes and crtcs */
static void mdp5_plane_install_properties(struct drm_plane *plane, static void mdp5_plane_install_properties(struct drm_plane *plane,
struct drm_mode_object *obj) struct drm_mode_object *obj)
...@@ -135,7 +126,6 @@ static void mdp5_plane_destroy_state(struct drm_plane *plane, ...@@ -135,7 +126,6 @@ static void mdp5_plane_destroy_state(struct drm_plane *plane,
static const struct drm_plane_funcs mdp5_plane_funcs = { static const struct drm_plane_funcs mdp5_plane_funcs = {
.update_plane = drm_atomic_helper_update_plane, .update_plane = drm_atomic_helper_update_plane,
.disable_plane = drm_atomic_helper_disable_plane, .disable_plane = drm_atomic_helper_disable_plane,
.destroy = mdp5_plane_destroy,
.reset = mdp5_plane_reset, .reset = mdp5_plane_reset,
.atomic_duplicate_state = mdp5_plane_duplicate_state, .atomic_duplicate_state = mdp5_plane_duplicate_state,
.atomic_destroy_state = mdp5_plane_destroy_state, .atomic_destroy_state = mdp5_plane_destroy_state,
...@@ -1037,21 +1027,15 @@ struct drm_plane *mdp5_plane_init(struct drm_device *dev, ...@@ -1037,21 +1027,15 @@ struct drm_plane *mdp5_plane_init(struct drm_device *dev,
{ {
struct drm_plane *plane = NULL; struct drm_plane *plane = NULL;
struct mdp5_plane *mdp5_plane; struct mdp5_plane *mdp5_plane;
int ret;
mdp5_plane = kzalloc(sizeof(*mdp5_plane), GFP_KERNEL);
if (!mdp5_plane) {
ret = -ENOMEM;
goto fail;
}
plane = &mdp5_plane->base; mdp5_plane = drmm_universal_plane_alloc(dev, struct mdp5_plane, base,
0xff, &mdp5_plane_funcs,
ret = drm_universal_plane_init(dev, plane, 0xff, &mdp5_plane_funcs,
mdp5_plane_formats, ARRAY_SIZE(mdp5_plane_formats), mdp5_plane_formats, ARRAY_SIZE(mdp5_plane_formats),
NULL, type, NULL); NULL, type, NULL);
if (ret) if (IS_ERR(mdp5_plane))
goto fail; return ERR_CAST(mdp5_plane);
plane = &mdp5_plane->base;
drm_plane_helper_add(plane, &mdp5_plane_helper_funcs); drm_plane_helper_add(plane, &mdp5_plane_helper_funcs);
...@@ -1060,10 +1044,4 @@ struct drm_plane *mdp5_plane_init(struct drm_device *dev, ...@@ -1060,10 +1044,4 @@ struct drm_plane *mdp5_plane_init(struct drm_device *dev,
drm_plane_enable_fb_damage_clips(plane); drm_plane_enable_fb_damage_clips(plane);
return plane; return plane;
fail:
if (plane)
mdp5_plane_destroy(plane);
return ERR_PTR(ret);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment