[patch 09/67] Video: pvrusb2: Suppress compiler warning

Greg KH
2006-10-11T21:05:46Z

[-- Attachment #1: video-pvrusb2-suppress-compiler-warning.patch --]
[-- Type: text/plain, Size: 1763 bytes --]

-stable review patch. If anyone has any objections, please let us know.

------------------
From: Mike Isely <isely@pobox.com>

The pvrusb2 driver needs to call video_devdata() in order to correctly
transform a file pointer into a video_device pointer. Unfortunately
the prototype for this function has been marked V4L1-only and there's
no official substitute that I can find for V4L2. Adding to the
mystery is that the implementation for this function exists whether or
not V4L1 compatibility has been selected. The upshot of all this is
that we get a compilation warning here about a missing prototype but
the code links OK. This fix solves the warning by copying the
prototype into the source file that is using it. Yes this is a hack,
but it's a safe one for 2.6.18 (any alternative would be much more
intrusive). A better solution should be forthcoming for the next
kernel.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 6 ++++++
1 file changed, 6 insertions(+)

--- linux-2.6.18.orig/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
+++ linux-2.6.18/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
@@ -32,6 +32,12 @@
#include <linux/videodev2.h>
#include <media/v4l2-common.h>

+/* Mike Isely <isely@pobox.com> 23-Sep-2006 - This function is prototyped
+ * only for V4L1 but is implemented regardless of the V4L1 compatibility
+ * option state. V4L2 has no replacement for this and we need it. For now
+ * copy the prototype here so we can avoid the compiler warning. */
+extern struct video_device* video_devdata(struct file*);
+
struct pvr2_v4l2_dev;
struct pvr2_v4l2_fh;
struct pvr2_v4l2;

--