Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/msm/mdp5: use devres-managed allocation for mixer data

Use devm_kzalloc to create mixer data structure. This allows us
to remove corresponding kfree and drop mdp5_mixer_destroy() function.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/546166/
Link: https://lore.kernel.org/r/20230708010407.3871346-5-dmitry.baryshkov@linaro.org

+6 -13
+1 -4
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
··· 211 211 struct msm_gem_address_space *aspace = kms->aspace; 212 212 int i; 213 213 214 - for (i = 0; i < mdp5_kms->num_hwmixers; i++) 215 - mdp5_mixer_destroy(mdp5_kms->hwmixers[i]); 216 - 217 214 for (i = 0; i < mdp5_kms->num_hwpipes; i++) 218 215 mdp5_pipe_destroy(mdp5_kms->hwpipes[i]); 219 216 ··· 717 720 for (i = 0; i < hw_cfg->lm.count; i++) { 718 721 struct mdp5_hw_mixer *mixer; 719 722 720 - mixer = mdp5_mixer_init(&hw_cfg->lm.instances[i]); 723 + mixer = mdp5_mixer_init(dev, &hw_cfg->lm.instances[i]); 721 724 if (IS_ERR(mixer)) { 722 725 ret = PTR_ERR(mixer); 723 726 DRM_DEV_ERROR(dev->dev, "failed to construct LM%d (%d)\n",
+3 -7
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c
··· 140 140 return 0; 141 141 } 142 142 143 - void mdp5_mixer_destroy(struct mdp5_hw_mixer *mixer) 144 - { 145 - kfree(mixer); 146 - } 147 - 148 143 static const char * const mixer_names[] = { 149 144 "LM0", "LM1", "LM2", "LM3", "LM4", "LM5", 150 145 }; 151 146 152 - struct mdp5_hw_mixer *mdp5_mixer_init(const struct mdp5_lm_instance *lm) 147 + struct mdp5_hw_mixer *mdp5_mixer_init(struct drm_device *dev, 148 + const struct mdp5_lm_instance *lm) 153 149 { 154 150 struct mdp5_hw_mixer *mixer; 155 151 156 - mixer = kzalloc(sizeof(*mixer), GFP_KERNEL); 152 + mixer = devm_kzalloc(dev->dev, sizeof(*mixer), GFP_KERNEL); 157 153 if (!mixer) 158 154 return ERR_PTR(-ENOMEM); 159 155
+2 -2
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.h
··· 25 25 struct drm_crtc *hwmixer_to_crtc[8]; 26 26 }; 27 27 28 - struct mdp5_hw_mixer *mdp5_mixer_init(const struct mdp5_lm_instance *lm); 29 - void mdp5_mixer_destroy(struct mdp5_hw_mixer *lm); 28 + struct mdp5_hw_mixer *mdp5_mixer_init(struct drm_device *dev, 29 + const struct mdp5_lm_instance *lm); 30 30 int mdp5_mixer_assign(struct drm_atomic_state *s, struct drm_crtc *crtc, 31 31 uint32_t caps, struct mdp5_hw_mixer **mixer, 32 32 struct mdp5_hw_mixer **r_mixer);