V4L/DVB (11169): pvrusb2: Note who our video decoder sub-device is, and set it up
Other code may need to treat the video decoder sub-device in a special manner, so this change implements code to recognize when such a sub-device is connected to the driver, does any special processing for it, and notes who the device is for future reference. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
e3e76cbb4d
commit
00e5f73607
2 changed files with 29 additions and 0 deletions
|
@ -299,6 +299,7 @@ struct pvr2_hdw {
|
|||
int flag_tripped; /* Indicates overall failure to start */
|
||||
|
||||
struct pvr2_decoder_ctrl *decoder_ctrl;
|
||||
unsigned int decoder_client_id;
|
||||
|
||||
// CPU firmware info (used to help find / save firmware data)
|
||||
char *fw_buffer;
|
||||
|
|
|
@ -2041,6 +2041,34 @@ static void pvr2_hdw_load_subdev(struct pvr2_hdw *hdw,
|
|||
pvr2_trace(PVR2_TRACE_INIT, "Attached sub-driver %s", fname);
|
||||
|
||||
|
||||
/* client-specific setup... */
|
||||
switch (mid) {
|
||||
case PVR2_CLIENT_ID_CX25840:
|
||||
hdw->decoder_client_id = mid;
|
||||
{
|
||||
/*
|
||||
Mike Isely <isely@pobox.com> 19-Nov-2006 - This
|
||||
bit of nuttiness for cx25840 causes that module
|
||||
to correctly set up its video scaling. This is
|
||||
really a problem in the cx25840 module itself,
|
||||
but we work around it here. The problem has not
|
||||
been seen in ivtv because there VBI is supported
|
||||
and set up. We don't do VBI here (at least not
|
||||
yet) and thus we never attempted to even set it
|
||||
up.
|
||||
*/
|
||||
struct v4l2_format fmt;
|
||||
memset(&fmt, 0, sizeof(fmt));
|
||||
fmt.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
|
||||
v4l2_device_call_all(&hdw->v4l2_dev, mid,
|
||||
video, s_fmt, &fmt);
|
||||
}
|
||||
break;
|
||||
case PVR2_CLIENT_ID_SAA7115:
|
||||
hdw->decoder_client_id = mid;
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue