]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/media/video/ivtv/ivtv-ioctl.c
V4L/DVB (8084): ivtv/cx18: remove unnecessary memsets & KERNEL_VERSION tests
[mv-sheeva.git] / drivers / media / video / ivtv / ivtv-ioctl.c
index 584ffc61c9827bdd9737026749f3f321572b41c6..eb4485991a58725d586fbb56b215b02d6e62c0ac 100644 (file)
@@ -128,37 +128,6 @@ u16 ivtv_get_service_set(struct v4l2_sliced_vbi_format *fmt)
        return set;
 }
 
-static const struct {
-       v4l2_std_id  std;
-       char        *name;
-} enum_stds[] = {
-       { V4L2_STD_PAL_BG | V4L2_STD_PAL_H, "PAL-BGH" },
-       { V4L2_STD_PAL_DK,    "PAL-DK"    },
-       { V4L2_STD_PAL_I,     "PAL-I"     },
-       { V4L2_STD_PAL_M,     "PAL-M"     },
-       { V4L2_STD_PAL_N,     "PAL-N"     },
-       { V4L2_STD_PAL_Nc,    "PAL-Nc"    },
-       { V4L2_STD_SECAM_B | V4L2_STD_SECAM_G | V4L2_STD_SECAM_H, "SECAM-BGH" },
-       { V4L2_STD_SECAM_DK,  "SECAM-DK"  },
-       { V4L2_STD_SECAM_L,   "SECAM-L"   },
-       { V4L2_STD_SECAM_LC,  "SECAM-L'"  },
-       { V4L2_STD_NTSC_M,    "NTSC-M"    },
-       { V4L2_STD_NTSC_M_JP, "NTSC-J"    },
-       { V4L2_STD_NTSC_M_KR, "NTSC-K"    },
-};
-
-static const struct v4l2_standard ivtv_std_60hz =
-{
-       .frameperiod = {.numerator = 1001, .denominator = 30000},
-       .framelines = 525,
-};
-
-static const struct v4l2_standard ivtv_std_50hz =
-{
-       .frameperiod = {.numerator = 1, .denominator = 25},
-       .framelines = 625,
-};
-
 void ivtv_set_osd_alpha(struct ivtv *itv)
 {
        ivtv_vapi(itv, CX2341X_OSD_SET_GLOBAL_ALPHA, 3,
@@ -539,6 +508,11 @@ static int ivtv_try_fmt_vid_cap(struct file *file, void *fh, struct v4l2_format
        ivtv_g_fmt_vid_cap(file, fh, fmt);
        fmt->fmt.pix.width = w;
        fmt->fmt.pix.height = h;
+       if (itv->params.width != 720 ||
+                       itv->params.height != (itv->is_50hz ? 576 : 480))
+               itv->params.video_temporal_filter = 0;
+       else
+               itv->params.video_temporal_filter = 8;
        return 0;
 }
 
@@ -793,15 +767,11 @@ static int ivtv_querycap(struct file *file, void *fh, struct v4l2_capability *vc
 {
        struct ivtv *itv = ((struct ivtv_open_id *)fh)->itv;
 
-       memset(vcap, 0, sizeof(*vcap));
        strlcpy(vcap->driver, IVTV_DRIVER_NAME, sizeof(vcap->driver));
        strlcpy(vcap->card, itv->card_name, sizeof(vcap->card));
        strlcpy(vcap->bus_info, pci_name(itv->dev), sizeof(vcap->bus_info));
        vcap->version = IVTV_DRIVER_VERSION;        /* version */
        vcap->capabilities = itv->v4l2_cap;         /* capabilities */
-       /* reserved.. must set to 0! */
-       vcap->reserved[0] = vcap->reserved[1] =
-               vcap->reserved[2] = vcap->reserved[3] = 0;
        return 0;
 }
 
@@ -1199,7 +1169,6 @@ static int ivtv_g_tuner(struct file *file, void *fh, struct v4l2_tuner *vt)
        if (vt->index != 0)
                return -EINVAL;
 
-       memset(vt, 0, sizeof(*vt));
        ivtv_call_i2c_clients(itv, VIDIOC_G_TUNER, vt);
 
        if (test_bit(IVTV_F_I_RADIO_USER, &itv->i_flags)) {
@@ -1218,11 +1187,8 @@ static int ivtv_g_sliced_vbi_cap(struct file *file, void *fh, struct v4l2_sliced
        struct ivtv *itv = ((struct ivtv_open_id *)fh)->itv;
        int set = itv->is_50hz ? V4L2_SLICED_VBI_625 : V4L2_SLICED_VBI_525;
        int f, l;
-       enum v4l2_buf_type type = cap->type;
 
-       memset(cap, 0, sizeof(*cap));
-       cap->type = type;
-       if (type == V4L2_BUF_TYPE_SLICED_VBI_CAPTURE) {
+       if (cap->type == V4L2_BUF_TYPE_SLICED_VBI_CAPTURE) {
                for (f = 0; f < 2; f++) {
                        for (l = 0; l < 24; l++) {
                                if (valid_service_line(f, l, itv->is_50hz))
@@ -1231,7 +1197,7 @@ static int ivtv_g_sliced_vbi_cap(struct file *file, void *fh, struct v4l2_sliced
                }
                return 0;
        }
-       if (type == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT) {
+       if (cap->type == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT) {
                if (!(itv->v4l2_cap & V4L2_CAP_SLICED_VBI_OUTPUT))
                        return -EINVAL;
                if (itv->is_60hz) {
@@ -1274,7 +1240,6 @@ static int ivtv_encoder_cmd(struct file *file, void *fh, struct v4l2_encoder_cmd
        struct ivtv_open_id *id = fh;
        struct ivtv *itv = id->itv;
 
-       memset(&enc->raw, 0, sizeof(enc->raw));
 
        switch (enc->cmd) {
        case V4L2_ENC_CMD_START:
@@ -1326,8 +1291,6 @@ static int ivtv_try_encoder_cmd(struct file *file, void *fh, struct v4l2_encoder
 {
        struct ivtv *itv = ((struct ivtv_open_id *)fh)->itv;
 
-       memset(&enc->raw, 0, sizeof(enc->raw));
-
        switch (enc->cmd) {
        case V4L2_ENC_CMD_START:
                IVTV_DEBUG_IOCTL("V4L2_ENC_CMD_START\n");
@@ -1380,8 +1343,6 @@ static int ivtv_g_fbuf(struct file *file, void *fh, struct v4l2_framebuffer *fb)
                0,
        };
 
-       memset(fb, 0, sizeof(*fb));
-
        if (!(itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT_OVERLAY))
                return -EINVAL;