|
@@ -1095,12 +1095,15 @@ static int gsc_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
struct gsc_dev *gsc = platform_get_drvdata(pdev);
|
|
|
|
|
|
+ pm_runtime_get_sync(&pdev->dev);
|
|
|
+
|
|
|
gsc_unregister_m2m_device(gsc);
|
|
|
v4l2_device_unregister(&gsc->v4l2_dev);
|
|
|
|
|
|
vb2_dma_contig_clear_max_seg_size(&pdev->dev);
|
|
|
- pm_runtime_disable(&pdev->dev);
|
|
|
- clk_unprepare(gsc->clock);
|
|
|
+ clk_disable_unprepare(gsc->clock);
|
|
|
+
|
|
|
+ pm_runtime_put_noidle(&pdev->dev);
|
|
|
|
|
|
dev_dbg(&pdev->dev, "%s driver unloaded\n", pdev->name);
|
|
|
return 0;
|