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

Commit bb871652 authored by Pete Eberlein's avatar Pete Eberlein Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (13024): go7007: Implement vidioc_g_std and vidioc_querystd



Implemented the vidio_g_std and vidio_querystd ioctls.

Signed-off-by: default avatarPete Eberlein <pete@sensoray.com>
Signed-off-by: default avatarDouglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent f4135b69
Loading
Loading
Loading
Loading
+35 −17
Original line number Diff line number Diff line
@@ -1110,6 +1110,24 @@ static int vidioc_enum_frameintervals(struct file *filp, void *priv,
	return 0;
}

static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *std)
{
	struct go7007 *go = ((struct go7007_file *) priv)->go;

	switch (go->standard) {
	case GO7007_STD_NTSC:
		*std = V4L2_STD_NTSC;
		break;
	case GO7007_STD_PAL:
		*std = V4L2_STD_PAL;
		break;
	default:
		return -EINVAL;
	}

	return 0;
}

static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id *std)
{
	struct go7007 *go = ((struct go7007_file *) priv)->go;
@@ -1154,24 +1172,22 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id *std)
	return 0;
}

#if 0
	case VIDIOC_QUERYSTD:
static int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *std)
{
		v4l2_std_id *std = arg;
	struct go7007 *go = ((struct go7007_file *) priv)->go;

	if ((go->board_info->flags & GO7007_BOARD_HAS_TUNER) &&
			go->input == go->board_info->num_inputs - 1) {
		if (!go->i2c_adapter_online)
			return -EIO;
			i2c_clients_command(&go->i2c_adapter,
						VIDIOC_QUERYSTD, arg);
		i2c_clients_command(&go->i2c_adapter, VIDIOC_QUERYSTD, std);
	} else if (go->board_info->sensor_flags & GO7007_SENSOR_TV)
		*std = V4L2_STD_NTSC | V4L2_STD_PAL | V4L2_STD_SECAM;
	else
		*std = 0;

	return 0;
}
#endif

static int vidioc_enum_input(struct file *file, void *priv,
				struct v4l2_input *inp)
@@ -1768,7 +1784,9 @@ static const struct v4l2_ioctl_ops video_ioctl_ops = {
	.vidioc_querybuf          = vidioc_querybuf,
	.vidioc_qbuf              = vidioc_qbuf,
	.vidioc_dqbuf             = vidioc_dqbuf,
	.vidioc_g_std             = vidioc_g_std,
	.vidioc_s_std             = vidioc_s_std,
	.vidioc_querystd          = vidioc_querystd,
	.vidioc_enum_input        = vidioc_enum_input,
	.vidioc_g_input           = vidioc_g_input,
	.vidioc_s_input           = vidioc_s_input,