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: bridge: simple-bridge: use devm_drm_bridge_add in probe

simple_bridge_probe() calls drm_bridge_add()
Thus, drm_bridge_remove() must be called in the remove() callback.

If we call devm_drm_bridge_add() instead, then drm_bridge_remove()
will be called automatically at device release, and the remove()
callback is no longer required.

Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240618-devm-simple-bridge-v1-1-c7ed8a09fcc5@freebox.fr

authored by

Marc Gonzalez and committed by
Maxime Ripard
fbda4b25 1ac6ac9e

+1 -12
+1 -12
drivers/gpu/drm/bridge/simple-bridge.c
··· 170 170 sbridge = devm_kzalloc(&pdev->dev, sizeof(*sbridge), GFP_KERNEL); 171 171 if (!sbridge) 172 172 return -ENOMEM; 173 - platform_set_drvdata(pdev, sbridge); 174 173 175 174 sbridge->info = of_device_get_match_data(&pdev->dev); 176 175 ··· 207 208 sbridge->bridge.of_node = pdev->dev.of_node; 208 209 sbridge->bridge.timings = sbridge->info->timings; 209 210 210 - drm_bridge_add(&sbridge->bridge); 211 - 212 - return 0; 213 - } 214 - 215 - static void simple_bridge_remove(struct platform_device *pdev) 216 - { 217 - struct simple_bridge *sbridge = platform_get_drvdata(pdev); 218 - 219 - drm_bridge_remove(&sbridge->bridge); 211 + return devm_drm_bridge_add(&pdev->dev, &sbridge->bridge); 220 212 } 221 213 222 214 /* ··· 284 294 285 295 static struct platform_driver simple_bridge_driver = { 286 296 .probe = simple_bridge_probe, 287 - .remove_new = simple_bridge_remove, 288 297 .driver = { 289 298 .name = "simple-bridge", 290 299 .of_match_table = simple_bridge_match,