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

Commit 544b745e authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: Do not use struct v4l2_event for private ioctl"

parents 0150ff4b 2b092da5
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -548,15 +548,13 @@ static long msm_private_ioctl(struct file *file, void *fh,
	bool valid_prio, unsigned int cmd, void *arg)
{
	int rc = 0;
	struct msm_v4l2_event_data *event_data;
	struct msm_v4l2_event_data *event_data = arg;
	struct v4l2_event event;
	struct msm_session *session;
	unsigned int session_id;
	unsigned int stream_id;
	unsigned long spin_flags = 0;

	event_data = (struct msm_v4l2_event_data *)
		((struct v4l2_event *)arg)->u.data;

	session_id = event_data->session_id;
	stream_id = event_data->stream_id;

@@ -572,9 +570,12 @@ static long msm_private_ioctl(struct file *file, void *fh,
			rc = -EFAULT;
			break;
		}

		event.type = event_data->v4l2_event_type;
		event.id = event_data->v4l2_event_id;
		memcpy(&event.u.data, event_data,
			sizeof(struct msm_v4l2_event_data));
		v4l2_event_queue(session->event_q.vdev,
			(struct v4l2_event *)arg);
			&event);
	}
		break;

@@ -600,7 +601,11 @@ static long msm_private_ioctl(struct file *file, void *fh,

		spin_lock_irqsave(&(session->command_ack_q.lock),
		   spin_flags);
		ret_cmd->event = *(struct v4l2_event *)arg;
		event.type = event_data->v4l2_event_type;
		event.id = event_data->v4l2_event_id;
		memcpy(&event.u.data, event_data,
			sizeof(struct msm_v4l2_event_data));
		memcpy(&ret_cmd->event, &event, sizeof(struct v4l2_event));
		msm_enqueue(&cmd_ack->command_q, &ret_cmd->list);
		complete(&cmd_ack->wait_complete);
		spin_unlock_irqrestore(&(session->command_ack_q.lock),
+6 −6
Original line number Diff line number Diff line
@@ -6,16 +6,16 @@
#include <linux/ioctl.h>

#define MSM_CAM_V4L2_IOCTL_NOTIFY \
	_IOW('V', BASE_VIDIOC_PRIVATE + 30, struct v4l2_event)
	_IOW('V', BASE_VIDIOC_PRIVATE + 30, struct msm_v4l2_event_data)

#define MSM_CAM_V4L2_IOCTL_NOTIFY_META \
	_IOW('V', BASE_VIDIOC_PRIVATE + 31, struct v4l2_event)
	_IOW('V', BASE_VIDIOC_PRIVATE + 31, struct msm_v4l2_event_data)

#define MSM_CAM_V4L2_IOCTL_CMD_ACK \
	_IOW('V', BASE_VIDIOC_PRIVATE + 32, struct v4l2_event)
	_IOW('V', BASE_VIDIOC_PRIVATE + 32, struct msm_v4l2_event_data)

#define MSM_CAM_V4L2_IOCTL_NOTIFY_ERROR \
	_IOW('V', BASE_VIDIOC_PRIVATE + 33, struct v4l2_event)
	_IOW('V', BASE_VIDIOC_PRIVATE + 33, struct msm_v4l2_event_data)


#ifdef CONFIG_COMPAT
@@ -133,9 +133,9 @@ struct msm_v4l2_event_data {
	/*word 8*/
	unsigned int ret_value;
	/*word 9*/
	unsigned int nop3;
	unsigned int v4l2_event_type;
	/*word 10*/
	unsigned int nop4;
	unsigned int v4l2_event_id;
	/*word 11*/
	unsigned int nop5;
	/*word 12*/