aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c b/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
index 675348a06a39..8bbc905b26c8 100644
--- a/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
+++ b/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
@@ -482,10 +482,12 @@ static int rockchip_vpu_probe(struct platform_device *pdev)
482 return 0; 482 return 0;
483err_video_dev_unreg: 483err_video_dev_unreg:
484 if (vpu->vfd_enc) { 484 if (vpu->vfd_enc) {
485 v4l2_m2m_unregister_media_controller(vpu->m2m_dev);
485 video_unregister_device(vpu->vfd_enc); 486 video_unregister_device(vpu->vfd_enc);
486 video_device_release(vpu->vfd_enc); 487 video_device_release(vpu->vfd_enc);
487 } 488 }
488err_m2m_rel: 489err_m2m_rel:
490 media_device_cleanup(&vpu->mdev);
489 v4l2_m2m_release(vpu->m2m_dev); 491 v4l2_m2m_release(vpu->m2m_dev);
490err_v4l2_unreg: 492err_v4l2_unreg:
491 v4l2_device_unregister(&vpu->v4l2_dev); 493 v4l2_device_unregister(&vpu->v4l2_dev);
@@ -503,13 +505,13 @@ static int rockchip_vpu_remove(struct platform_device *pdev)
503 v4l2_info(&vpu->v4l2_dev, "Removing %s\n", pdev->name); 505 v4l2_info(&vpu->v4l2_dev, "Removing %s\n", pdev->name);
504 506
505 media_device_unregister(&vpu->mdev); 507 media_device_unregister(&vpu->mdev);
506 v4l2_m2m_unregister_media_controller(vpu->m2m_dev);
507 v4l2_m2m_release(vpu->m2m_dev);
508 media_device_cleanup(&vpu->mdev);
509 if (vpu->vfd_enc) { 508 if (vpu->vfd_enc) {
509 v4l2_m2m_unregister_media_controller(vpu->m2m_dev);
510 video_unregister_device(vpu->vfd_enc); 510 video_unregister_device(vpu->vfd_enc);
511 video_device_release(vpu->vfd_enc); 511 video_device_release(vpu->vfd_enc);
512 } 512 }
513 media_device_cleanup(&vpu->mdev);
514 v4l2_m2m_release(vpu->m2m_dev);
513 v4l2_device_unregister(&vpu->v4l2_dev); 515 v4l2_device_unregister(&vpu->v4l2_dev);
514 clk_bulk_unprepare(vpu->variant->num_clocks, vpu->clocks); 516 clk_bulk_unprepare(vpu->variant->num_clocks, vpu->clocks);
515 pm_runtime_dont_use_autosuspend(vpu->dev); 517 pm_runtime_dont_use_autosuspend(vpu->dev);