diff options
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c | 16 | ||||
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-hdw.c | 26 |
2 files changed, 16 insertions, 26 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c b/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c index c80c26be6e4d..848fb233d808 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c +++ b/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c | |||
@@ -260,6 +260,22 @@ int pvr2_i2c_cx2584x_v4l_setup(struct pvr2_hdw *hdw, | |||
260 | sizeof(decoder_ops[0]))) - 1; | 260 | sizeof(decoder_ops[0]))) - 1; |
261 | hdw->decoder_ctrl = &ctxt->ctrl; | 261 | hdw->decoder_ctrl = &ctxt->ctrl; |
262 | cp->handler = &ctxt->handler; | 262 | cp->handler = &ctxt->handler; |
263 | { | ||
264 | /* | ||
265 | Mike Isely <isely@pobox.com> 19-Nov-2006 - This bit | ||
266 | of nuttiness for cx25840 causes that module to | ||
267 | correctly set up its video scaling. This is really | ||
268 | a problem in the cx25840 module itself, but we work | ||
269 | around it here. The problem has not been seen in | ||
270 | ivtv because there VBI is supported and set up. We | ||
271 | don't do VBI here (at least not yet) and thus we | ||
272 | never attempted to even set it up. | ||
273 | */ | ||
274 | struct v4l2_format fmt; | ||
275 | memset(&fmt,0,sizeof(fmt)); | ||
276 | fmt.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE; | ||
277 | pvr2_i2c_client_cmd(ctxt->client,VIDIOC_S_FMT,&fmt); | ||
278 | } | ||
263 | pvr2_trace(PVR2_TRACE_CHIPS,"i2c 0x%x cx2584x V4L2 handler set up", | 279 | pvr2_trace(PVR2_TRACE_CHIPS,"i2c 0x%x cx2584x V4L2 handler set up", |
264 | cp->client->addr); | 280 | cp->client->addr); |
265 | return !0; | 281 | return !0; |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c index 1f787333d18c..d2004965187b 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c | |||
@@ -356,28 +356,6 @@ static int ctrl_freq_set(struct pvr2_ctrl *cptr,int m,int v) | |||
356 | return 0; | 356 | return 0; |
357 | } | 357 | } |
358 | 358 | ||
359 | static int ctrl_hres_max_get(struct pvr2_ctrl *cptr,int *vp) | ||
360 | { | ||
361 | /* If we're dealing with a 24xxx device, force the horizontal | ||
362 | maximum to be 720 no matter what, since we can't get the device | ||
363 | to work properly with any other value. Otherwise just return | ||
364 | the normal value. */ | ||
365 | *vp = cptr->info->def.type_int.max_value; | ||
366 | if (cptr->hdw->hdw_type == PVR2_HDW_TYPE_24XXX) *vp = 720; | ||
367 | return 0; | ||
368 | } | ||
369 | |||
370 | static int ctrl_hres_min_get(struct pvr2_ctrl *cptr,int *vp) | ||
371 | { | ||
372 | /* If we're dealing with a 24xxx device, force the horizontal | ||
373 | minimum to be 720 no matter what, since we can't get the device | ||
374 | to work properly with any other value. Otherwise just return | ||
375 | the normal value. */ | ||
376 | *vp = cptr->info->def.type_int.min_value; | ||
377 | if (cptr->hdw->hdw_type == PVR2_HDW_TYPE_24XXX) *vp = 720; | ||
378 | return 0; | ||
379 | } | ||
380 | |||
381 | static int ctrl_vres_max_get(struct pvr2_ctrl *cptr,int *vp) | 359 | static int ctrl_vres_max_get(struct pvr2_ctrl *cptr,int *vp) |
382 | { | 360 | { |
383 | /* Actual maximum depends on the video standard in effect. */ | 361 | /* Actual maximum depends on the video standard in effect. */ |
@@ -758,10 +736,6 @@ static const struct pvr2_ctl_info control_defs[] = { | |||
758 | .default_value = 720, | 736 | .default_value = 720, |
759 | DEFREF(res_hor), | 737 | DEFREF(res_hor), |
760 | DEFINT(19,720), | 738 | DEFINT(19,720), |
761 | /* Hook in check for clamp on horizontal resolution in | ||
762 | order to avoid unsolved problem involving cx25840. */ | ||
763 | .get_max_value = ctrl_hres_max_get, | ||
764 | .get_min_value = ctrl_hres_min_get, | ||
765 | },{ | 739 | },{ |
766 | .desc = "Vertical capture resolution", | 740 | .desc = "Vertical capture resolution", |
767 | .name = "resolution_ver", | 741 | .name = "resolution_ver", |