Commit 5705b0e0 authored by Tomi Valkeinen's avatar Tomi Valkeinen Committed by Mauro Carvalho Chehab
Browse files

media: imx-mipi-csis: Fix clock handling in remove()

The driver always calls mipi_csis_runtime_suspend() and
mipi_csis_clk_disable() in remove(). This causes multiple WARNs from the
kernel, as the clocks get disabled too many times.

Fix the remove() to call mipi_csis_runtime_suspend() and
mipi_csis_clk_disable() in a way that reverses what is done in probe().

Link: https://lore.kernel.org/r/20231122-imx-csis-v2-1-e44b8dc4cb66@ideasonboard.com



Fixes: 7807063b ("media: staging/imx7: add MIPI CSI-2 receiver subdev for i.MX7")
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 2a0ed5a3
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1506,8 +1506,10 @@ static void mipi_csis_remove(struct platform_device *pdev)
	v4l2_async_nf_cleanup(&csis->notifier);
	v4l2_async_unregister_subdev(&csis->sd);

	pm_runtime_disable(&pdev->dev);
	if (!pm_runtime_enabled(&pdev->dev))
		mipi_csis_runtime_suspend(&pdev->dev);

	pm_runtime_disable(&pdev->dev);
	mipi_csis_clk_disable(csis);
	v4l2_subdev_cleanup(&csis->sd);
	media_entity_cleanup(&csis->sd.entity);