ソースを参照

[media] soc-camera: don't attach the client to the host during probing

During client probing we only have to turn on the host's clock, no need to
actually attach the client to the host.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Guennadi Liakhovetski 12 年 前
コミット
90438926e8
1 ファイル変更3 行追加3 行削除
  1. 3 3
      drivers/media/platform/soc_camera/soc_camera.c

+ 3 - 3
drivers/media/platform/soc_camera/soc_camera.c

@@ -1177,7 +1177,7 @@ static int soc_camera_probe(struct soc_camera_device *icd)
 		ssdd->reset(icd->pdev);
 		ssdd->reset(icd->pdev);
 
 
 	mutex_lock(&ici->host_lock);
 	mutex_lock(&ici->host_lock);
-	ret = soc_camera_add_device(icd);
+	ret = ici->ops->clock_start(ici);
 	mutex_unlock(&ici->host_lock);
 	mutex_unlock(&ici->host_lock);
 	if (ret < 0)
 	if (ret < 0)
 		goto eadd;
 		goto eadd;
@@ -1250,7 +1250,7 @@ static int soc_camera_probe(struct soc_camera_device *icd)
 		icd->field		= mf.field;
 		icd->field		= mf.field;
 	}
 	}
 
 
-	soc_camera_remove_device(icd);
+	ici->ops->clock_stop(ici);
 
 
 	mutex_unlock(&ici->host_lock);
 	mutex_unlock(&ici->host_lock);
 
 
@@ -1273,7 +1273,7 @@ static int soc_camera_probe(struct soc_camera_device *icd)
 	icd->vdev = NULL;
 	icd->vdev = NULL;
 evdc:
 evdc:
 	mutex_lock(&ici->host_lock);
 	mutex_lock(&ici->host_lock);
-	soc_camera_remove_device(icd);
+	ici->ops->clock_stop(ici);
 	mutex_unlock(&ici->host_lock);
 	mutex_unlock(&ici->host_lock);
 eadd:
 eadd:
 	v4l2_ctrl_handler_free(&icd->ctrl_handler);
 	v4l2_ctrl_handler_free(&icd->ctrl_handler);