lkml.org 
[lkml]   [2007]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] hiddev: simplify 32bit ioctl compatibilty
    Date
    hiddev has both entries in fs/compat_ioctl.c and its own
    compat_ioctl() handler. Remove both and use the new generic_compat_ioctl
    helper instead.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Index: linux-2.6/drivers/hid/hidraw.c
    ===================================================================
    --- linux-2.6.orig/drivers/hid/hidraw.c
    +++ linux-2.6/drivers/hid/hidraw.c
    @@ -268,6 +268,7 @@ static const struct file_operations hidr
    .open = hidraw_open,
    .release = hidraw_release,
    .ioctl = hidraw_ioctl,
    + .compat_ioctl = generic_compat_ioctl,
    };

    void hidraw_report_event(struct hid_device *hid, u8 *data, int len)
    Index: linux-2.6/drivers/hid/usbhid/hiddev.c
    ===================================================================
    --- linux-2.6.orig/drivers/hid/usbhid/hiddev.c
    +++ linux-2.6/drivers/hid/usbhid/hiddev.c
    @@ -739,14 +739,6 @@ inval:
    return -EINVAL;
    }

    -#ifdef CONFIG_COMPAT
    -static long hiddev_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
    -{
    - struct inode *inode = file->f_path.dentry->d_inode;
    - return hiddev_ioctl(inode, file, cmd, compat_ptr(arg));
    -}
    -#endif
    -
    static const struct file_operations hiddev_fops = {
    .owner = THIS_MODULE,
    .read = hiddev_read,
    @@ -756,9 +748,7 @@ static const struct file_operations hidd
    .release = hiddev_release,
    .ioctl = hiddev_ioctl,
    .fasync = hiddev_fasync,
    -#ifdef CONFIG_COMPAT
    - .compat_ioctl = hiddev_compat_ioctl,
    -#endif
    + .compat_ioctl = generic_compat_ioctl,
    };

    static struct usb_class_driver hiddev_class = {
    Index: linux-2.6/fs/compat_ioctl.c
    ===================================================================
    --- linux-2.6.orig/fs/compat_ioctl.c
    +++ linux-2.6/fs/compat_ioctl.c
    @@ -102,8 +102,6 @@
    #include <linux/filter.h>
    #include <linux/pktcdvd.h>

    -#include <linux/hiddev.h>
    -
    #include <linux/dvb/audio.h>
    #include <linux/dvb/dmx.h>
    #include <linux/dvb/frontend.h>
    @@ -2575,23 +2573,6 @@ COMPATIBLE_IOCTL(SIOCSIWPOWER)
    COMPATIBLE_IOCTL(SIOCGIWPOWER)
    COMPATIBLE_IOCTL(SIOCSIWAUTH)
    COMPATIBLE_IOCTL(SIOCGIWAUTH)
    -/* hiddev */
    -COMPATIBLE_IOCTL(HIDIOCGVERSION)
    -COMPATIBLE_IOCTL(HIDIOCAPPLICATION)
    -COMPATIBLE_IOCTL(HIDIOCGDEVINFO)
    -COMPATIBLE_IOCTL(HIDIOCGSTRING)
    -COMPATIBLE_IOCTL(HIDIOCINITREPORT)
    -COMPATIBLE_IOCTL(HIDIOCGREPORT)
    -COMPATIBLE_IOCTL(HIDIOCSREPORT)
    -COMPATIBLE_IOCTL(HIDIOCGREPORTINFO)
    -COMPATIBLE_IOCTL(HIDIOCGFIELDINFO)
    -COMPATIBLE_IOCTL(HIDIOCGUSAGE)
    -COMPATIBLE_IOCTL(HIDIOCSUSAGE)
    -COMPATIBLE_IOCTL(HIDIOCGUCODE)
    -COMPATIBLE_IOCTL(HIDIOCGFLAG)
    -COMPATIBLE_IOCTL(HIDIOCSFLAG)
    -COMPATIBLE_IOCTL(HIDIOCGCOLLECTIONINDEX)
    -COMPATIBLE_IOCTL(HIDIOCGCOLLECTIONINFO)
    /* dvb */
    COMPATIBLE_IOCTL(AUDIO_STOP)
    COMPATIBLE_IOCTL(AUDIO_PLAY)
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-10-20 18:07    [W:0.026 / U:116.704 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site