Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb31701d authored by Hariram Purushothaman's avatar Hariram Purushothaman
Browse files

msm: camera: Get the buffer manger subdev using msm_sd_find



Instead of getting the buffer manger subdev by
directly calling buffer manger api use the
msm_sd_find to get it.

Change-Id: I8392f5eabcfc3900b124415411a8b035e410603a
Signed-off-by: default avatarHariram Purushothaman <hariramp@codeaurora.org>
parent c56fdfc3
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -352,6 +352,25 @@ int msm_sd_unregister(struct msm_sd_subdev *msm_subdev)
}
EXPORT_SYMBOL(msm_sd_unregister);

static struct v4l2_subdev *msm_sd_find(const char *name)
{
	unsigned long flags;
	struct v4l2_subdev *subdev = NULL;
	struct v4l2_subdev *subdev_out = NULL;

	spin_lock_irqsave(&msm_v4l2_dev->lock, flags);
	if (!list_empty(&msm_v4l2_dev->subdevs)) {
		list_for_each_entry(subdev, &msm_v4l2_dev->subdevs, list)
			if (!strcmp(name, subdev->name)) {
				subdev_out = subdev;
				break;
			}
	}
	spin_unlock_irqrestore(&msm_v4l2_dev->lock, flags);

	return subdev_out;
}

int msm_create_session(unsigned int session_id, struct video_device *vdev)
{
	struct msm_session *session = NULL;
@@ -551,7 +570,7 @@ int msm_destroy_session(unsigned int session_id)
	mutex_destroy(&session->lock_q);
	msm_delete_entry(msm_session_q, struct msm_session,
		list, session);
	buf_mgr_subdev = msm_buf_mngr_get_subdev();
	buf_mgr_subdev = msm_sd_find("msm_buf_mngr");
	if (buf_mgr_subdev) {
		session_info.session = session_id;
		session_info.stream = 0;
@@ -982,25 +1001,6 @@ struct msm_stream *msm_get_stream_from_vb2q(struct vb2_queue *q)
}
EXPORT_SYMBOL(msm_get_stream_from_vb2q);

static struct v4l2_subdev *msm_sd_find(const char *name)
{
	unsigned long flags;
	struct v4l2_subdev *subdev = NULL;
	struct v4l2_subdev *subdev_out = NULL;

	spin_lock_irqsave(&msm_v4l2_dev->lock, flags);
	if (!list_empty(&msm_v4l2_dev->subdevs)) {
		list_for_each_entry(subdev, &msm_v4l2_dev->subdevs, list)
			if (!strcmp(name, subdev->name)) {
				subdev_out = subdev;
				break;
			}
	}
	spin_unlock_irqrestore(&msm_v4l2_dev->lock, flags);

	return subdev_out;
}

static void msm_sd_notify(struct v4l2_subdev *sd,
	unsigned int notification, void *arg)
{