V4L/DVB (4348): Fix: compile for radio aimslab and aztech with V4L2 only
Mauro Carvalho Chehab [Tue, 8 Aug 2006 12:10:01 +0000 (09:10 -0300)]
All radio devices use an obsolete mode of opening/release driver.
Since this is not V4L1 core, better to keep the method available for more
time than to rewrite open/release without a radio device to test, since the
newer method is much more complex than the previous one (although providing
support for multiple opens and multiple devices).

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>

drivers/media/radio/radio-aimslab.c
drivers/media/radio/radio-aztech.c
include/media/v4l2-dev.h

index 7b9043f..3368a89 100644 (file)
@@ -372,7 +372,7 @@ static struct video_device rtrack_radio=
        .owner          = THIS_MODULE,
        .name           = "RadioTrack radio",
        .type           = VID_TYPE_TUNER,
-       .hardware       = VID_HARDWARE_RTRACK,
+       .hardware       = 0,
        .fops           = &rtrack_fops,
 };
 
index f21d918..3ba5fa8 100644 (file)
@@ -328,7 +328,7 @@ static struct video_device aztech_radio=
        .owner          = THIS_MODULE,
        .name           = "Aztech radio",
        .type           = VID_TYPE_TUNER,
-       .hardware       = VID_HARDWARE_AZTECH,
+       .hardware       = 0,
        .fops           = &aztech_fops,
 };
 
index 810462f..c12d72d 100644 (file)
@@ -9,7 +9,8 @@
 #ifndef _V4L2_DEV_H
 #define _V4L2_DEV_H
 
-#define OBSOLETE_OWNER 1 /* to be removed soon */
+#define OBSOLETE_OWNER   1 /* to be removed soon */
+#define OBSOLETE_DEVDATA 1 /* to be removed soon */
 
 #include <linux/poll.h>
 #include <linux/fs.h>
@@ -338,8 +339,6 @@ extern int video_usercopy(struct inode *inode, struct file *file,
 #ifdef CONFIG_VIDEO_V4L1_COMPAT
 #include <linux/mm.h>
 
-extern struct video_device* video_devdata(struct file*);
-
 #define to_video_device(cd) container_of(cd, struct video_device, class_dev)
 static inline int
 video_device_create_file(struct video_device *vfd,
@@ -370,9 +369,14 @@ static inline void video_set_drvdata(struct video_device *dev, void *data)
 {
        dev->priv = data;
 }
+
 #endif
 
+#ifdef OBSOLETE_DEVDATA /* to be removed soon */
+/* Obsolete stuff - Still needed for radio devices and obsolete drivers */
+extern struct video_device* video_devdata(struct file*);
 extern int video_exclusive_open(struct inode *inode, struct file *file);
 extern int video_exclusive_release(struct inode *inode, struct file *file);
+#endif
 
 #endif /* _V4L2_DEV_H */