]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/media/radio/radio-cadet.c
V4L/DVB (12217): radio-cadet: conform to the RDS spec.
[linux-beck.git] / drivers / media / radio / radio-cadet.c
index d30fc0ce82c08f093dc48d13052994eaedafbc87..8b1440136c45b10710079bdbf2e80fba7f166978 100644 (file)
@@ -359,7 +359,8 @@ static int vidioc_querycap(struct file *file, void *priv,
        strlcpy(v->card, "ADS Cadet", sizeof(v->card));
        strlcpy(v->bus_info, "ISA", sizeof(v->bus_info));
        v->version = CADET_VERSION;
-       v->capabilities = V4L2_CAP_TUNER | V4L2_CAP_RADIO | V4L2_CAP_READWRITE;
+       v->capabilities = V4L2_CAP_TUNER | V4L2_CAP_RADIO |
+                         V4L2_CAP_READWRITE | V4L2_CAP_RDS_CAPTURE;
        return 0;
 }
 
@@ -372,7 +373,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
        switch (v->index) {
        case 0:
                strlcpy(v->name, "FM", sizeof(v->name));
-               v->capability = V4L2_TUNER_CAP_STEREO;
+               v->capability = V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_RDS;
                v->rangelow = 1400;     /* 87.5 MHz */
                v->rangehigh = 1728;    /* 108.0 MHz */
                v->rxsubchans = cadet_getstereo(dev);
@@ -386,6 +387,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
                default:
                        break;
                }
+               v->rxsubchans |= V4L2_TUNER_SUB_RDS;
                break;
        case 1:
                strlcpy(v->name, "AM", sizeof(v->name));