Messages in this thread Patch in this message | | | Subject | Re: [PATCH] media: exynos4-is: add missed clk_disable_unprepare in remove | From | Hans Verkuil <> | Date | Thu, 12 Dec 2019 11:39:38 +0100 |
| |
On 11/4/19 4:49 PM, Chuhong Yuan wrote: > This driver forgets to disable and unprepare clock when remove. > Add a call to clk_disable_unprepare to fix it.
I'd like an Ack from Samsung before I apply this. I see this in the probe() in fimc-lite.c:
if (!pm_runtime_enabled(dev)) { ret = clk_prepare_enable(fimc->clock); if (ret < 0) goto err_sd; }
So is it right to always call clk_disable_unprepare in the remove()?
I suspect it is correct, but I would like someone else to take a look as well.
Regards,
Hans
> > Signed-off-by: Chuhong Yuan <hslester96@gmail.com> > --- > drivers/media/platform/exynos4-is/fimc-lite.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/media/platform/exynos4-is/fimc-lite.c b/drivers/media/platform/exynos4-is/fimc-lite.c > index e87c6a09205b..6748bd96aada 100644 > --- a/drivers/media/platform/exynos4-is/fimc-lite.c > +++ b/drivers/media/platform/exynos4-is/fimc-lite.c > @@ -1614,6 +1614,7 @@ static int fimc_lite_remove(struct platform_device *pdev) > struct fimc_lite *fimc = platform_get_drvdata(pdev); > struct device *dev = &pdev->dev; > > + clk_disable_unprepare(fimc->clock); > pm_runtime_disable(dev); > pm_runtime_set_suspended(dev); > fimc_lite_unregister_capture_subdev(fimc); >
| |