Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63116febb9233743279a05be510ab8524f5f6242
Commit:     63116febb9233743279a05be510ab8524f5f6242
Parent:     baa05e4b454fa7d87f9a41a4bbc1f749c113ff3a
Author:     Sakari Ailus <[EMAIL PROTECTED]>
AuthorDate: Fri Jul 20 13:12:51 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Tue Oct 9 22:02:57 2007 -0300

    V4L/DVB (5883): V4L: Fix a compile warning on non-32-bit machines.
    
    Fix a compile warning on non-32-bit machines in v4l2-int-device.h.
    Add internal ioctl interface fallback function for ioctls with one
    argument.
    
    Signed-off-by: Sakari Ailus <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/v4l2-int-device.c |   28 +++++++++++++++++++---------
 include/media/v4l2-int-device.h       |    2 +-
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/drivers/media/video/v4l2-int-device.c 
b/drivers/media/video/v4l2-int-device.c
index 7885d9b..aa2a815 100644
--- a/drivers/media/video/v4l2-int-device.c
+++ b/drivers/media/video/v4l2-int-device.c
@@ -115,13 +115,9 @@ void v4l2_int_device_unregister(struct v4l2_int_device *d)
        mutex_unlock(&mutex);
 }
 
-static int no_such_ioctl(struct v4l2_int_device *d)
-{
-       return -EINVAL;
-}
-
 /* Adapted from search_extable in extable.c. */
-static v4l2_int_ioctl_func *find_ioctl(struct v4l2_int_slave *slave, int cmd)
+static v4l2_int_ioctl_func *find_ioctl(struct v4l2_int_slave *slave, int cmd,
+                                      v4l2_int_ioctl_func *no_such_ioctl)
 {
        const struct v4l2_int_ioctl_desc *first = slave->ioctls;
        const struct v4l2_int_ioctl_desc *last =
@@ -140,15 +136,29 @@ static v4l2_int_ioctl_func *find_ioctl(struct 
v4l2_int_slave *slave, int cmd)
                        return mid->func;
        }
 
-       return &no_such_ioctl;
+       return no_such_ioctl;
+}
+
+static int no_such_ioctl_0(struct v4l2_int_device *d)
+{
+       return -EINVAL;
 }
 
 int v4l2_int_ioctl_0(struct v4l2_int_device *d, int cmd)
 {
-       return ((v4l2_int_ioctl_func_0 *)find_ioctl(d->u.slave, cmd))(d);
+       return ((v4l2_int_ioctl_func_0 *)
+               find_ioctl(d->u.slave, cmd,
+                          (v4l2_int_ioctl_func *)&no_such_ioctl_0))(d);
+}
+
+static int no_such_ioctl_1(struct v4l2_int_device *d, void *arg)
+{
+       return -EINVAL;
 }
 
 int v4l2_int_ioctl_1(struct v4l2_int_device *d, int cmd, void *arg)
 {
-       return ((v4l2_int_ioctl_func_1 *)find_ioctl(d->u.slave, cmd))(d, arg);
+       return ((v4l2_int_ioctl_func_1 *)
+               find_ioctl(d->u.slave, cmd,
+                          (v4l2_int_ioctl_func *)&no_such_ioctl_1))(d, arg);
 }
diff --git a/include/media/v4l2-int-device.h b/include/media/v4l2-int-device.h
index 2b6fc11..deb28ce 100644
--- a/include/media/v4l2-int-device.h
+++ b/include/media/v4l2-int-device.h
@@ -170,7 +170,7 @@ int v4l2_int_ioctl_1(struct v4l2_int_device *d, int cmd, 
void *arg);
                                            arg_type asterisk arg)      \
        {                                                               \
                return v4l2_int_ioctl_1(d, vidioc_int_##name##_num,     \
-                                       (void *)arg);                   \
+                                       (void *)(unsigned long)arg);    \
        }                                                               \
                                                                        \
        static inline struct v4l2_int_ioctl_desc                        \
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to