rk: revert to v3.10
[firefly-linux-kernel-4.4.55.git] / drivers / input / serio / serport.c
index e4ecf3b647943f6894d8a47fe28da0b5205a6661..8755f5f3ad37c2218de60b96782c0863615a705e 100644 (file)
@@ -21,7 +21,6 @@
 #include <linux/init.h>
 #include <linux/serio.h>
 #include <linux/tty.h>
-#include <linux/compat.h>
 
 MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
 MODULE_DESCRIPTION("Input device TTY line discipline");
@@ -197,55 +196,28 @@ static ssize_t serport_ldisc_read(struct tty_struct * tty, struct file * file, u
        return 0;
 }
 
-static void serport_set_type(struct tty_struct *tty, unsigned long type)
-{
-       struct serport *serport = tty->disc_data;
-
-       serport->id.proto = type & 0x000000ff;
-       serport->id.id    = (type & 0x0000ff00) >> 8;
-       serport->id.extra = (type & 0x00ff0000) >> 16;
-}
-
 /*
  * serport_ldisc_ioctl() allows to set the port protocol, and device ID
  */
 
-static int serport_ldisc_ioctl(struct tty_struct *tty, struct file *file,
-                              unsigned int cmd, unsigned long arg)
+static int serport_ldisc_ioctl(struct tty_struct * tty, struct file * file, unsigned int cmd, unsigned long arg)
 {
-       if (cmd == SPIOCSTYPE) {
-               unsigned long type;
+       struct serport *serport = (struct serport*) tty->disc_data;
+       unsigned long type;
 
+       if (cmd == SPIOCSTYPE) {
                if (get_user(type, (unsigned long __user *) arg))
                        return -EFAULT;
 
-               serport_set_type(tty, type);
-               return 0;
-       }
-
-       return -EINVAL;
-}
-
-#ifdef CONFIG_COMPAT
-#define COMPAT_SPIOCSTYPE      _IOW('q', 0x01, compat_ulong_t)
-static long serport_ldisc_compat_ioctl(struct tty_struct *tty,
-                                      struct file *file,
-                                      unsigned int cmd, unsigned long arg)
-{
-       if (cmd == COMPAT_SPIOCSTYPE) {
-               void __user *uarg = compat_ptr(arg);
-               compat_ulong_t compat_type;
-
-               if (get_user(compat_type, (compat_ulong_t __user *)uarg))
-                       return -EFAULT;
+               serport->id.proto = type & 0x000000ff;
+               serport->id.id    = (type & 0x0000ff00) >> 8;
+               serport->id.extra = (type & 0x00ff0000) >> 16;
 
-               serport_set_type(tty, compat_type);
                return 0;
        }
 
        return -EINVAL;
 }
-#endif
 
 static void serport_ldisc_write_wakeup(struct tty_struct * tty)
 {
@@ -269,9 +241,6 @@ static struct tty_ldisc_ops serport_ldisc = {
        .close =        serport_ldisc_close,
        .read =         serport_ldisc_read,
        .ioctl =        serport_ldisc_ioctl,
-#ifdef CONFIG_COMPAT
-       .compat_ioctl = serport_ldisc_compat_ioctl,
-#endif
        .receive_buf =  serport_ldisc_receive,
        .write_wakeup = serport_ldisc_write_wakeup
 };