[media] wl128x: fix compiler warning + wrong write() return
[pandora-kernel.git] / drivers / media / radio / wl128x / fmdrv_v4l2.c
index 8701072..478d1e9 100644 (file)
@@ -84,12 +84,14 @@ static ssize_t fm_v4l2_fops_write(struct file *file, const char __user * buf,
        ret = copy_from_user(&rds, buf, sizeof(rds));
        fmdbg("(%d)type: %d, text %s, af %d\n",
                   ret, rds.text_type, rds.text, rds.af_freq);
+       if (ret)
+               return -EFAULT;
 
        fmdev = video_drvdata(file);
        fm_tx_set_radio_text(fmdev, rds.text, rds.text_type);
        fm_tx_set_af(fmdev, rds.af_freq);
 
-       return 0;
+       return sizeof(rds);
 }
 
 static u32 fm_v4l2_fops_poll(struct file *file, struct poll_table_struct *pts)
@@ -175,7 +177,6 @@ static int fm_v4l2_vidioc_querycap(struct file *file, void *priv,
        strlcpy(capability->card, FM_DRV_CARD_SHORT_NAME,
                        sizeof(capability->card));
        sprintf(capability->bus_info, "UART");
-       capability->version = FM_DRV_RADIO_VERSION;
        capability->capabilities = V4L2_CAP_HW_FREQ_SEEK | V4L2_CAP_TUNER |
                V4L2_CAP_RADIO | V4L2_CAP_MODULATOR |
                V4L2_CAP_AUDIO | V4L2_CAP_READWRITE |
@@ -191,7 +192,7 @@ static int fm_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
 
        switch (ctrl->id) {
        case  V4L2_CID_TUNE_ANTENNA_CAPACITOR:
-               ctrl->cur.val = fm_tx_get_tune_cap_val(fmdev);
+               ctrl->val = fm_tx_get_tune_cap_val(fmdev);
                break;
        default:
                fmwarn("%s: Unknown IOCTL: %d\n", __func__, ctrl->id);