aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/pvrusb2/pvrusb2-hdw.c
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2009-03-06 22:17:11 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:34 -0400
commit00e5f73607d1dea12bf0ccbba9832c26a611213f (patch)
treea6334d0bba8b1fc49a42fd8933a71bd5f37f2195 /drivers/media/video/pvrusb2/pvrusb2-hdw.c
parente3e76cbb4d42b2e429401b17c95969c47e2db464 (diff)
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>
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-hdw.c')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-hdw.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index 8aeccb27019b..02db5d6ebb46 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -2041,6 +2041,34 @@ static void pvr2_hdw_load_subdev(struct pvr2_hdw *hdw,
2041 pvr2_trace(PVR2_TRACE_INIT, "Attached sub-driver %s", fname); 2041 pvr2_trace(PVR2_TRACE_INIT, "Attached sub-driver %s", fname);
2042 2042
2043 2043
2044 /* client-specific setup... */
2045 switch (mid) {
2046 case PVR2_CLIENT_ID_CX25840:
2047 hdw->decoder_client_id = mid;
2048 {
2049 /*
2050 Mike Isely <isely@pobox.com> 19-Nov-2006 - This
2051 bit of nuttiness for cx25840 causes that module
2052 to correctly set up its video scaling. This is
2053 really a problem in the cx25840 module itself,
2054 but we work around it here. The problem has not
2055 been seen in ivtv because there VBI is supported
2056 and set up. We don't do VBI here (at least not
2057 yet) and thus we never attempted to even set it
2058 up.
2059 */
2060 struct v4l2_format fmt;
2061 memset(&fmt, 0, sizeof(fmt));
2062 fmt.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
2063 v4l2_device_call_all(&hdw->v4l2_dev, mid,
2064 video, s_fmt, &fmt);
2065 }
2066 break;
2067 case PVR2_CLIENT_ID_SAA7115:
2068 hdw->decoder_client_id = mid;
2069 break;
2070 default: break;
2071 }
2044} 2072}
2045 2073
2046 2074