Browse Source

V4L/DVB (12216): saa7134: set RDS capability if applicable.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil 16 years ago
parent
commit
f101a2a787

+ 3 - 1
drivers/media/video/saa7134/saa7134-core.c

@@ -1012,8 +1012,10 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,
 		sd = v4l2_i2c_new_probed_subdev_addr(&dev->v4l2_dev,
 				&dev->i2c_adap,	"saa6588", "saa6588",
 				saa7134_boards[dev->board].rds_addr);
-		if (sd)
+		if (sd) {
 			printk(KERN_INFO "%s: found RDS decoder\n", dev->name);
+			dev->has_rds = 1;
+		}
 	}
 
 	request_submodules(dev);

+ 2 - 0
drivers/media/video/saa7134/saa7134-video.c

@@ -1819,6 +1819,8 @@ static int saa7134_querycap(struct file *file, void  *priv,
 		V4L2_CAP_READWRITE |
 		V4L2_CAP_STREAMING |
 		V4L2_CAP_TUNER;
+	if (dev->has_rds)
+		cap->capabilities |= V4L2_CAP_RDS_CAPTURE;
 	if (saa7134_no_overlay <= 0)
 		cap->capabilities |= V4L2_CAP_VIDEO_OVERLAY;
 

+ 1 - 0
drivers/media/video/saa7134/saa7134.h

@@ -539,6 +539,7 @@ struct saa7134_dev {
 	struct i2c_adapter         i2c_adap;
 	struct i2c_client          i2c_client;
 	unsigned char              eedata[256];
+	int 			   has_rds;
 
 	/* video overlay */
 	struct v4l2_framebuffer    ovbuf;