]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 19 Jun 2019 18:26:09 +0000 (11:26 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 19 Jun 2019 18:26:09 +0000 (11:26 -0700)
Pull input updates from Dmitry Torokhov:
 "Just a few small fixups and switching a couple of Thinkpads to SMBus
  for touchpads as PS/2 emulation is not working well"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: synaptics - enable SMBus on ThinkPad E480 and E580
  Input: imx_keypad - make sure keyboard can always wake up system
  Input: iqs5xx - get axis info before calling input_mt_init_slots()
  Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
  Input: silead - add MSSL0017 to acpi_device_id
  Input: elantech - enable middle button support on 2 ThinkPads
  Input: elan_i2c - increment wakeup count if wake source

1  2 
drivers/input/misc/uinput.c
drivers/input/touchscreen/silead.c

index 2ed559dd5e2522155b036fff8d4659ec67151bd7,83d1499fe02152cfa75e8d097f6432d50632a6cc..84051f20b18a7790fea756c76f00d6b522010f71
@@@ -1,9 -1,22 +1,9 @@@
 +// SPDX-License-Identifier: GPL-2.0-or-later
  /*
   *  User level driver support for input subsystem
   *
   * Heavily based on evdev.c by Vojtech Pavlik
   *
 - * This program is free software; you can redistribute it and/or modify
 - * it under the terms of the GNU General Public License as published by
 - * the Free Software Foundation; either version 2 of the License, or
 - * (at your option) any later version.
 - *
 - * This program is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - * GNU General Public License for more details.
 - *
 - * You should have received a copy of the GNU General Public License
 - * along with this program; if not, write to the Free Software
 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 - *
   * Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
   *
   * Changes/Revisions:
@@@ -385,7 -398,7 +385,7 @@@ static int uinput_open(struct inode *in
        newdev->state = UIST_NEW_DEVICE;
  
        file->private_data = newdev;
 -      nonseekable_open(inode, file);
 +      stream_open(inode, file);
  
        return 0;
  }
@@@ -1038,13 -1051,31 +1038,31 @@@ static long uinput_ioctl(struct file *f
  
  #ifdef CONFIG_COMPAT
  
- #define UI_SET_PHYS_COMPAT    _IOW(UINPUT_IOCTL_BASE, 108, compat_uptr_t)
+ /*
+  * These IOCTLs change their size and thus their numbers between
+  * 32 and 64 bits.
+  */
+ #define UI_SET_PHYS_COMPAT            \
+       _IOW(UINPUT_IOCTL_BASE, 108, compat_uptr_t)
+ #define UI_BEGIN_FF_UPLOAD_COMPAT     \
+       _IOWR(UINPUT_IOCTL_BASE, 200, struct uinput_ff_upload_compat)
+ #define UI_END_FF_UPLOAD_COMPAT               \
+       _IOW(UINPUT_IOCTL_BASE, 201, struct uinput_ff_upload_compat)
  
  static long uinput_compat_ioctl(struct file *file,
                                unsigned int cmd, unsigned long arg)
  {
-       if (cmd == UI_SET_PHYS_COMPAT)
+       switch (cmd) {
+       case UI_SET_PHYS_COMPAT:
                cmd = UI_SET_PHYS;
+               break;
+       case UI_BEGIN_FF_UPLOAD_COMPAT:
+               cmd = UI_BEGIN_FF_UPLOAD;
+               break;
+       case UI_END_FF_UPLOAD_COMPAT:
+               cmd = UI_END_FF_UPLOAD;
+               break;
+       }
  
        return uinput_ioctl_handler(file, cmd, arg, compat_ptr(arg));
  }
index a67d5e93fb773b31db0d667cfe0733a65efb2adb,06f0eb04a8fd4b2d331d084b885516de9e3bc30d..ad8b6a2bfd3640bcc55f07fdfbdb25649a9f0dbd
@@@ -1,4 -1,3 +1,4 @@@
 +// SPDX-License-Identifier: GPL-2.0-or-later
  /* -------------------------------------------------------------------------
   * Copyright (C) 2014-2015, Intel Corporation
   *
@@@ -6,6 -5,15 +6,6 @@@
   *  gslX68X.c
   *  Copyright (C) 2010-2015, Shanghai Sileadinc Co.Ltd
   *
 - *  This program is free software; you can redistribute it and/or modify
 - *  it under the terms of the GNU General Public License as published by
 - *  the Free Software Foundation; either version 2 of the License, or
 - *  (at your option) any later version.
 - *
 - *  This program is distributed in the hope that it will be useful,
 - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 - *  GNU General Public License for more details.
   * -------------------------------------------------------------------------
   */
  
@@@ -609,6 -617,7 +609,7 @@@ static const struct acpi_device_id sile
        { "MSSL1680", 0 },
        { "MSSL0001", 0 },
        { "MSSL0002", 0 },
+       { "MSSL0017", 0 },
        { }
  };
  MODULE_DEVICE_TABLE(acpi, silead_ts_acpi_match);