mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 19:01:37 +00:00
[media] vpif_capture: move input_idx to channel_obj
input_idx does not belong to video_obj. Move it where it belongs. Also remove the bogus code in the open() function that suddenly changes the input to 0 for no reason. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Lad, Prabhakar <prabhakar.lad@ti.com> Tested-by: Lad, Prabhakar <prabhakar.lad@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
3cfee2daf9
commit
6f47c6c69c
@ -888,8 +888,6 @@ static int vpif_open(struct file *filep)
|
|||||||
if (vpif_obj.sd[i]) {
|
if (vpif_obj.sd[i]) {
|
||||||
/* the sub device is registered */
|
/* the sub device is registered */
|
||||||
ch->curr_subdev_info = &config->subdev_info[i];
|
ch->curr_subdev_info = &config->subdev_info[i];
|
||||||
/* make first input as the current input */
|
|
||||||
vid_ch->input_idx = 0;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1442,10 +1440,8 @@ static int vpif_g_input(struct file *file, void *priv, unsigned int *index)
|
|||||||
{
|
{
|
||||||
struct vpif_fh *fh = priv;
|
struct vpif_fh *fh = priv;
|
||||||
struct channel_obj *ch = fh->channel;
|
struct channel_obj *ch = fh->channel;
|
||||||
struct video_obj *vid_ch = &ch->video;
|
|
||||||
|
|
||||||
*index = vid_ch->input_idx;
|
|
||||||
|
|
||||||
|
*index = ch->input_idx;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1462,7 +1458,6 @@ static int vpif_s_input(struct file *file, void *priv, unsigned int index)
|
|||||||
struct vpif_fh *fh = priv;
|
struct vpif_fh *fh = priv;
|
||||||
struct channel_obj *ch = fh->channel;
|
struct channel_obj *ch = fh->channel;
|
||||||
struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
|
struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
|
||||||
struct video_obj *vid_ch = &ch->video;
|
|
||||||
struct vpif_subdev_info *subdev_info;
|
struct vpif_subdev_info *subdev_info;
|
||||||
int ret = 0, sd_index = 0;
|
int ret = 0, sd_index = 0;
|
||||||
u32 input = 0, output = 0;
|
u32 input = 0, output = 0;
|
||||||
@ -1517,7 +1512,7 @@ static int vpif_s_input(struct file *file, void *priv, unsigned int index)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
vid_ch->input_idx = index;
|
ch->input_idx = index;
|
||||||
ch->curr_subdev_info = subdev_info;
|
ch->curr_subdev_info = subdev_info;
|
||||||
ch->curr_sd_index = sd_index;
|
ch->curr_sd_index = sd_index;
|
||||||
/* copy interface parameters to vpif */
|
/* copy interface parameters to vpif */
|
||||||
|
@ -54,8 +54,6 @@ struct video_obj {
|
|||||||
/* Currently selected or default standard */
|
/* Currently selected or default standard */
|
||||||
v4l2_std_id stdid;
|
v4l2_std_id stdid;
|
||||||
struct v4l2_dv_timings dv_timings;
|
struct v4l2_dv_timings dv_timings;
|
||||||
/* This is to track the last input that is passed to application */
|
|
||||||
u32 input_idx;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct vpif_cap_buffer {
|
struct vpif_cap_buffer {
|
||||||
@ -121,6 +119,8 @@ struct channel_obj {
|
|||||||
enum vpif_channel_id channel_id;
|
enum vpif_channel_id channel_id;
|
||||||
/* index into sd table */
|
/* index into sd table */
|
||||||
int curr_sd_index;
|
int curr_sd_index;
|
||||||
|
/* Current input */
|
||||||
|
u32 input_idx;
|
||||||
/* ptr to current sub device information */
|
/* ptr to current sub device information */
|
||||||
struct vpif_subdev_info *curr_subdev_info;
|
struct vpif_subdev_info *curr_subdev_info;
|
||||||
/* vpif configuration params */
|
/* vpif configuration params */
|
||||||
|
Loading…
Reference in New Issue
Block a user