Exemplo n.º 1
0
int msm_vpe_subdev_init(struct v4l2_subdev *sd)
{
	int rc = 0;
	struct msm_cam_media_controller *mctl;
	mctl = v4l2_get_subdev_hostdata(sd);
	D("%s:begin", __func__);
	if (atomic_read(&vpe_init_done)) {
		pr_err("%s: VPE has been initialized", __func__);
		return -EBUSY;
	}
	atomic_set(&vpe_init_done, 1);

	rc = msm_vpe_resource_init();
	if (rc < 0) {
		atomic_set(&vpe_init_done, 0);
		return rc;
	}
	spin_lock_init(&vpe_ctrl->lock);
	D("%s:end", __func__);
	return rc;
}
Exemplo n.º 2
0
int msm_vpe_subdev_init(struct v4l2_subdev *sd, void *data,
	struct platform_device *pdev)
{
	int rc = 0;
	CDBG("%s:begin", __func__);
	if (atomic_read(&vpe_init_done)) {
		pr_err("%s: VPE has been initialized", __func__);
		return -EBUSY;
	}
	atomic_set(&vpe_init_done, 1);

	rc = msm_vpe_resource_init(pdev);
	if (rc < 0) {
		atomic_set(&vpe_init_done, 0);
		return rc;
	}
	v4l2_set_subdev_hostdata(sd, data);
	spin_lock_init(&vpe_ctrl->lock);
	CDBG("%s:end", __func__);
	return rc;
}