class_device_remove_file(&vfd->class_dev, attr);
 }
 
+#if OBSOLETE_OWNER /* to be removed in 2.6.15 */
+/* helper functions to access driver private data. */
+static inline void *video_get_drvdata(struct video_device *dev)
+{
+       return dev->priv;
+}
+
+static inline void video_set_drvdata(struct video_device *dev, void *data)
+{
+       dev->priv = data;
+}
+#endif
 
 extern int video_exclusive_open(struct inode *inode, struct file *file);
 extern int video_exclusive_release(struct inode *inode, struct file *file);
 
  */
 #ifdef __KERNEL__
 #include <linux/time.h> /* need struct timeval */
+#include <linux/poll.h>
+#include <linux/device.h>
 #endif
 #include <linux/compiler.h> /* need __user */
 
-#include <linux/poll.h>
-#include <linux/device.h>
 
+#define OBSOLETE_OWNER 1 /* It will be removed for 2.6.15 */
 #define HAVE_V4L2 1
 
 /*
 
 #define VIDEO_MAX_FRAME               32
 
+#ifdef __KERNEL__
+
 #define VFL_TYPE_GRABBER       0
 #define VFL_TYPE_VBI           1
 #define VFL_TYPE_RADIO         2
        void (*release)(struct video_device *vfd);
 
 
+#if OBSOLETE_OWNER /* to be removed in 2.6.15 */
+       /* obsolete -- fops->owner is used instead */
+       struct module *owner;
+       /* dev->driver_data will be used instead some day.
+        * Use the video_{get|set}_drvdata() helper functions,
+        * so the switch over will be transparent for you.
+        * Or use {pci|usb}_{get|set}_drvdata() directly. */
+       void *priv;
+#endif
 
        /* for videodev.c intenal usage -- please don't touch */
        int users;                     /* video_exclusive_{open|close} ... */
 struct video_device *video_device_alloc(void);
 void video_device_release(struct video_device *vfd);
 
+#endif
+
 /*
  *     M I S C E L L A N E O U S
  */