mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
vdin: perfecting vdin_shutdown() interface
PD#173740: vdin: perfecting vdin_shutdown() interface Free vdin resource when the system shutdown but the application program was not close vdin at some fortuitous event. Change-Id: I343e1b93c6e2166a247592d8faa39b3f737f91d0 Signed-off-by: xuhua zhang <xuhua.zhang@amlogic.com>
This commit is contained in:
@@ -2691,6 +2691,20 @@ static void vdin_drv_shutdown(struct platform_device *pdev)
|
||||
struct vdin_dev_s *vdevp;
|
||||
|
||||
vdevp = platform_get_drvdata(pdev);
|
||||
|
||||
mutex_lock(&vdevp->fe_lock);
|
||||
if (vdevp->flags & VDIN_FLAG_DEC_STARTED) {
|
||||
vdevp->flags |= VDIN_FLAG_DEC_STOP_ISR;
|
||||
vdin_stop_dec(vdevp);
|
||||
vdevp->flags &= (~VDIN_FLAG_DEC_STARTED);
|
||||
pr_info("VDIN(%d) decode stop ok at vdin_drv_shutdown.\n",
|
||||
vdevp->index);
|
||||
} else {
|
||||
pr_info("VDIN(%d) decode has stopped.\n",
|
||||
vdevp->index);
|
||||
}
|
||||
mutex_unlock(&vdevp->fe_lock);
|
||||
|
||||
vdevp->flags |= VDIN_FLAG_SM_DISABLE;
|
||||
vdin_enable_module(vdevp->addr_offset, false);
|
||||
pr_info("%s ok.\n", __func__);
|
||||
|
||||
Reference in New Issue
Block a user