sizeof(decoder_ops[0]))) - 1;
        hdw->decoder_ctrl = &ctxt->ctrl;
        cp->handler = &ctxt->handler;
+       {
+               /*
+                 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;
+               pvr2_i2c_client_cmd(ctxt->client,VIDIOC_S_FMT,&fmt);
+       }
        pvr2_trace(PVR2_TRACE_CHIPS,"i2c 0x%x cx2584x V4L2 handler set up",
                   cp->client->addr);
        return !0;
 
        return 0;
 }
 
-static int ctrl_hres_max_get(struct pvr2_ctrl *cptr,int *vp)
-{
-       /* If we're dealing with a 24xxx device, force the horizontal
-          maximum to be 720 no matter what, since we can't get the device
-          to work properly with any other value.  Otherwise just return
-          the normal value. */
-       *vp = cptr->info->def.type_int.max_value;
-       if (cptr->hdw->hdw_type == PVR2_HDW_TYPE_24XXX) *vp = 720;
-       return 0;
-}
-
-static int ctrl_hres_min_get(struct pvr2_ctrl *cptr,int *vp)
-{
-       /* If we're dealing with a 24xxx device, force the horizontal
-          minimum to be 720 no matter what, since we can't get the device
-          to work properly with any other value.  Otherwise just return
-          the normal value. */
-       *vp = cptr->info->def.type_int.min_value;
-       if (cptr->hdw->hdw_type == PVR2_HDW_TYPE_24XXX) *vp = 720;
-       return 0;
-}
-
 static int ctrl_vres_max_get(struct pvr2_ctrl *cptr,int *vp)
 {
        /* Actual maximum depends on the video standard in effect. */
                .default_value = 720,
                DEFREF(res_hor),
                DEFINT(19,720),
-               /* Hook in check for clamp on horizontal resolution in
-                  order to avoid unsolved problem involving cx25840. */
-               .get_max_value = ctrl_hres_max_get,
-               .get_min_value = ctrl_hres_min_get,
        },{
                .desc = "Vertical capture resolution",
                .name = "resolution_ver",