csi: instruct the camera to start or stop
This updates the driver to start the camera when the device
is opened and to stop it when the device is closed.
Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
diff --git a/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c b/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c
index eb895406..4c0bec6 100644
--- a/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c
+++ b/drivers/media/platform/mtk-mipicsi/mtk_mipicsi.c
@@ -571,9 +571,11 @@
static int mtk_mipicsi_pm_suspend(struct device *dev)
{
struct mtk_mipicsi_dev *mipicsi = dev_get_drvdata(dev);
+ struct v4l2_subdev *sd = mipicsi->mipicsi_sd.subdev;
int ret = 0;
mipicsi_clk_enable(mipicsi, false);
+ v4l2_subdev_call(sd, video, s_stream, 0);
if (mipicsi->larb_pdev != NULL)
mtk_smi_larb_put(mipicsi->larb_pdev);
@@ -592,6 +594,7 @@
static int mtk_mipicsi_pm_resume(struct device *dev)
{
struct mtk_mipicsi_dev *mipicsi = dev_get_drvdata(dev);
+ struct v4l2_subdev *sd = mipicsi->mipicsi_sd.subdev;
int ret = 0;
if (mipicsi->larb_pdev != NULL) {
@@ -604,8 +607,8 @@
}
mipicsi_clk_enable(mipicsi, true);
-
mtk_mipicsi_reg_init(mipicsi);
+ v4l2_subdev_call(sd, video, s_stream, 1);
return ret;
}