]> Git Repo - linux.git/commitdiff
Merge branch 'for-4.12/asus' into for-linus
authorJiri Kosina <[email protected]>
Tue, 2 May 2017 09:02:41 +0000 (11:02 +0200)
committerJiri Kosina <[email protected]>
Tue, 2 May 2017 09:02:41 +0000 (11:02 +0200)
1  2 
Documentation/admin-guide/kernel-parameters.txt
drivers/hid/Kconfig
drivers/hid/hid-core.c
drivers/hid/hid-debug.c
drivers/hid/hid-ids.h
drivers/hid/usbhid/hiddev.c

index 14ffef04113c096f9ce2840bf8c0485c81e3e86a,2ba45caabada3e88339e88ebdfaaedbb322085c8..0464a41cbf3bd37a37695db8526834ab8df6ef9a
        cpuidle.off=1   [CPU_IDLE]
                        disable the cpuidle sub-system
  
+       cpufreq.off=1   [CPU_FREQ]
+                       disable the cpufreq sub-system
        cpu_init_udelay=N
                        [X86] Delay for N microsec between assert and de-assert
                        of APIC INIT to start processors.  This delay occurs
                        serial port must already be setup and configured.
                        Options are not yet supported.
  
+               lantiq,<addr>
+                       Start an early, polled-mode console on a lantiq serial
+                       (lqasc) port at the specified address. The serial port
+                       must already be setup and configured. Options are not
+                       yet supported.
                lpuart,<addr>
                lpuart32,<addr>
                        Use early console provided by Freescale LP UART driver
                        address. The serial port must already be setup
                        and configured. Options are not yet supported.
  
-       earlyprintk=    [X86,SH,BLACKFIN,ARM,M68k]
+       earlyprintk=    [X86,SH,BLACKFIN,ARM,M68k,S390]
                        earlyprintk=vga
                        earlyprintk=efi
+                       earlyprintk=sclp
                        earlyprintk=xen
                        earlyprintk=serial[,ttySn[,baudrate]]
                        earlyprintk=serial[,0x...[,baudrate]]
  
                        The xen output can only be used by Xen PV guests.
  
+                       The sclp output can only be used on s390.
        edac_report=    [HW,EDAC] Control how to report EDAC event
                        Format: {"on" | "off" | "force"}
                        on: enable EDAC to report H/W event. May be overridden
                        functions that can be changed at run time by the
                        set_graph_notrace file in the debugfs tracing directory.
  
+       ftrace_graph_max_depth=<uint>
+                       [FTRACE] Used with the function graph tracer. This is
+                       the max depth it will trace into a function. This value
+                       can be changed at run time by the max_graph_depth file
+                       in the tracefs tracing directory. default: 0 (no limit)
        gamecon.map[2|3]=
                        [HW,JOY] Multisystem joystick and NES/SNES/PSX pad
                        support via parallel port (up to 5 devices per port)
                        When zero, profiling data is discarded and associated
                        debugfs files are removed at module unload time.
  
+       goldfish        [X86] Enable the goldfish android emulator platform.
+                       Don't use this when you are not running on the
+                       android emulator
        gpt             [EFI] Forces disk with valid GPT signature but
                        invalid Protective MBR to be treated as GPT. If the
                        primary GPT is corrupted, it enables the backup/alternate
                        last alloc / free. For more information see
                        Documentation/vm/slub.txt.
  
+       slub_memcg_sysfs=       [MM, SLUB]
+                       Determines whether to enable sysfs directories for
+                       memory cgroup sub-caches. 1 to enable, 0 to disable.
+                       The default is determined by CONFIG_SLUB_MEMCG_SYSFS_ON.
+                       Enabling this can lead to a very high number of debug
+                       directories and files being created under
+                       /sys/kernel/slub.
        slub_max_order= [MM, SLUB]
                        Determines the maximum allowed order for slabs.
                        A high setting may cause OOMs due to memory
        usbhid.mousepoll=
                        [USBHID] The interval which mice are to be polled at.
  
 +      usbhid.jspoll=
 +                      [USBHID] The interval which joysticks are to be polled at.
 +
        usb-storage.delay_use=
                        [UMS] The delay in seconds before a new device is
                        scanned for Logical Units (default 1).
diff --combined drivers/hid/Kconfig
index 816679150b3510bf928683750d09ec97dc6c3194,502444fff86903d110d49dc9f95aa1be422f2a42..fe40e5e499dd4122ce0f623d9df776c0a0cf2bdf
@@@ -98,18 -98,6 +98,18 @@@ config HID_A4TEC
        ---help---
        Support for A4 tech X5 and WOP-35 / Trust 450L mice.
  
 +config HID_ACCUTOUCH
 +      tristate "Accutouch touch device"
 +      depends on USB_HID
 +      ---help---
 +        This selects a driver for the Accutouch 2216 touch controller.
 +
 +        The driver works around a problem in the reported device capabilities
 +        which causes userspace to detect the device as a mouse rather than
 +          a touchscreen.
 +
 +        Say Y here if you have a Accutouch 2216 touch controller.
 +
  config HID_ACRUX
        tristate "ACRUX game controller support"
        depends on HID
@@@ -148,13 -136,16 +148,16 @@@ config HID_APPLEI
  
  config HID_ASUS
        tristate "Asus"
-       depends on I2C_HID
+       depends on LEDS_CLASS
        ---help---
-       Support for Asus notebook built-in keyboard and touchpad via i2c.
+       Support for Asus notebook built-in keyboard and touchpad via i2c, and
+       the Asus Republic of Gamers laptop keyboard special keys.
  
        Supported devices:
        - EeeBook X205TA
        - VivoBook E200HA
+       - GL553V series
+       - GL753V series
  
  config HID_AUREAL
        tristate "Aureal"
@@@ -227,8 -218,7 +230,8 @@@ config HID_CMEDI
  
  config HID_CP2112
        tristate "Silicon Labs CP2112 HID USB-to-SMBus Bridge support"
 -      depends on USB_HID && I2C && GPIOLIB && GPIOLIB_IRQCHIP
 +      depends on USB_HID && I2C && GPIOLIB
 +      select GPIOLIB_IRQCHIP
        ---help---
        Support for Silicon Labs CP2112 HID USB to SMBus Master Bridge.
        This is a HID device driver which registers as an i2c adapter
@@@ -454,7 -444,6 +457,7 @@@ config HID_LOGITECH_D
  config HID_LOGITECH_HIDPP
        tristate "Logitech HID++ devices support"
        depends on HID_LOGITECH
 +      select POWER_SUPPLY
        ---help---
        Support for Logitech devices relyingon the HID++ Logitech specification
  
@@@ -595,12 -584,6 +598,12 @@@ config HID_MULTITOUC
          To compile this driver as a module, choose M here: the
          module will be called hid-multitouch.
  
 +config HID_NTI
 +      tristate "NTI keyboard adapters"
 +      ---help---
 +      Support for the "extra" Sun keyboard keys on keyboards attached
 +      through Network Technologies USB-SUN keyboard adapters.
 +
  config HID_NTRIG
        tristate "N-Trig touch screen"
        depends on USB_HID
diff --combined drivers/hid/hid-core.c
index cd6eba051b97e2de8b8489545a60935f9237d304,d4910ef4191e81970d591c36d7bcf8215a0f0a46..37084b6457851ebe0d52361e327db9df07b86b2c
@@@ -819,7 -819,8 +819,7 @@@ static int hid_scan_report(struct hid_d
                hid->group = HID_GROUP_WACOM;
                break;
        case USB_VENDOR_ID_SYNAPTICS:
 -              if (hid->group == HID_GROUP_GENERIC ||
 -                  hid->group == HID_GROUP_MULTITOUCH_WIN_8)
 +              if (hid->group == HID_GROUP_GENERIC)
                        if ((parser->scan_flags & HID_SCAN_FLAG_VENDOR_SPECIFIC)
                            && (parser->scan_flags & HID_SCAN_FLAG_GD_POINTER))
                                /*
@@@ -1694,7 -1695,7 +1694,7 @@@ int hid_connect(struct hid_device *hdev
                len += sprintf(buf + len, "input");
        if (hdev->claimed & HID_CLAIMED_HIDDEV)
                len += sprintf(buf + len, "%shiddev%d", len ? "," : "",
 -                              hdev->minor);
 +                              ((struct hiddev *)hdev->hiddev)->minor);
        if (hdev->claimed & HID_CLAIMED_HIDRAW)
                len += sprintf(buf + len, "%shidraw%d", len ? "," : "",
                                ((struct hidraw *)hdev->hidraw)->minor);
@@@ -1851,8 -1852,10 +1851,10 @@@ static const struct hid_device_id hid_h
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
        { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
-       { HID_I2C_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_NOTEBOOK_KEYBOARD) },
-       { HID_I2C_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_TOUCHPAD) },
+       { HID_I2C_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_I2C_KEYBOARD) },
+       { HID_I2C_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_I2C_TOUCHPAD) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD1) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD2) },
        { HID_USB_DEVICE(USB_VENDOR_ID_AUREAL, USB_DEVICE_ID_AUREAL_W01RN) },
        { HID_USB_DEVICE(USB_VENDOR_ID_BELKIN, USB_DEVICE_ID_FLIP_KVM) },
        { HID_USB_DEVICE(USB_VENDOR_ID_BETOP_2185BFM, 0x2208) },
        { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0009) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0030) },
 +      { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_ACCUTOUCH_2216) },
        { HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) },
        { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) },
        { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) },
        { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER) },
        { HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) },
        { HID_USB_DEVICE(USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL) },
 +      { HID_USB_DEVICE(USB_VENDOR_ID_NTI, USB_DEVICE_ID_USB_SUN) },
        { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) },
        { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1) },
        { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_2) },
        { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_45) },
        { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_DRAWIMAGE_G3) },
        { HID_USB_DEVICE(USB_VENDOR_ID_UGTIZER, USB_DEVICE_ID_UGTIZER_TABLET_GP0610) },
 +      { HID_USB_DEVICE(USB_VENDOR_ID_UGEE, USB_DEVICE_ID_UGEE_TABLET_EX07S) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SMARTJOY_PLUS) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SUPER_JOY_BOX_3) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SIRIUS_BATTERY_FREE_TABLET) },
        { HID_USB_DEVICE(USB_VENDOR_ID_X_TENSIONS, USB_DEVICE_ID_SPEEDLINK_VAD_CEZANNE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE) },
 +      { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_THT_2P_ARCADE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0005) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0030) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ZYDACRON, USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL) },
diff --combined drivers/hid/hid-debug.c
index 5a0061c0ee87a7f3c242345bec24b9f5fb829bf4,c6c9c51c806f0d480c0eab374203b0a9de79d88d..5271db5934783aad57402503e74bcd1a504da187
@@@ -30,7 -30,7 +30,7 @@@
  
  #include <linux/debugfs.h>
  #include <linux/seq_file.h>
- #include <linux/sched.h>
+ #include <linux/sched/signal.h>
  #include <linux/export.h>
  #include <linux/slab.h>
  #include <linux/uaccess.h>
@@@ -140,11 -140,9 +140,11 @@@ static const struct hid_usage_entry hid
      {0, 0x03, "LightPen"},
      {0, 0x04, "TouchScreen"},
      {0, 0x05, "TouchPad"},
 +    {0, 0x0e, "DeviceConfiguration"},
      {0, 0x20, "Stylus"},
      {0, 0x21, "Puck"},
      {0, 0x22, "Finger"},
 +    {0, 0x23, "DeviceSettings"},
      {0, 0x30, "TipPressure"},
      {0, 0x31, "BarrelPressure"},
      {0, 0x32, "InRange"},
diff --combined drivers/hid/hid-ids.h
index 4b07a467d7a3574c5f4c84ee58e699ae43135ec3,d106213f69a4c9e8b75b16642c3de665036a3019..643390ba749d96c5ddb5fbde68fda45c38569c3d
  #define USB_VENDOR_ID_ASUSTEK         0x0b05
  #define USB_DEVICE_ID_ASUSTEK_LCM     0x1726
  #define USB_DEVICE_ID_ASUSTEK_LCM2    0x175b
- #define USB_DEVICE_ID_ASUSTEK_NOTEBOOK_KEYBOARD       0x8585
- #define USB_DEVICE_ID_ASUSTEK_TOUCHPAD        0x0101
+ #define USB_DEVICE_ID_ASUSTEK_I2C_KEYBOARD    0x8585
+ #define USB_DEVICE_ID_ASUSTEK_I2C_TOUCHPAD    0x0101
+ #define USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD1 0x1854
+ #define USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD2 0x1837
  
  #define USB_VENDOR_ID_ATEN            0x0557
  #define USB_DEVICE_ID_ATEN_UC100KM    0x2004
  #define USB_DEVICE_ID_ATEN_4PORTKVMC  0x2208
  #define USB_DEVICE_ID_ATEN_CS682      0x2213
  #define USB_DEVICE_ID_ATEN_CS692      0x8021
 +#define USB_DEVICE_ID_ATEN_CS1758     0x2220
  
  #define USB_VENDOR_ID_ATMEL           0x03eb
  #define USB_DEVICE_ID_ATMEL_MULTITOUCH        0x211c
  #define USB_VENDOR_ID_ELO             0x04E7
  #define USB_DEVICE_ID_ELO_TS2515      0x0022
  #define USB_DEVICE_ID_ELO_TS2700      0x0020
 +#define USB_DEVICE_ID_ELO_ACCUTOUCH_2216      0x0050
  
  #define USB_VENDOR_ID_EMS             0x2006
  #define USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II 0x0118
  #define USB_VENDOR_ID_IRTOUCHSYSTEMS  0x6615
  #define USB_DEVICE_ID_IRTOUCH_INFRARED_USB    0x0070
  
 +#define USB_VENDOR_ID_INNOMEDIA                       0x1292
 +#define USB_DEVICE_ID_INNEX_GENESIS_ATARI     0x4745
 +
  #define USB_VENDOR_ID_ITE               0x048d
  #define USB_DEVICE_ID_ITE_LENOVO_YOGA   0x8386
  #define USB_DEVICE_ID_ITE_LENOVO_YOGA2  0x8350
  #define USB_DEVICE_ID_NOVATEK_PCT     0x0600
  #define USB_DEVICE_ID_NOVATEK_MOUSE   0x1602
  
 +#define USB_VENDOR_ID_NTI               0x0757
 +#define USB_DEVICE_ID_USB_SUN           0x0a00
 +
  #define USB_VENDOR_ID_NTRIG           0x1b96
  #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN   0x0001
  #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1   0x0003
  #define USB_DEVICE_ID_UGEE_TABLET_45          0x0045
  #define USB_DEVICE_ID_YIYNOVA_TABLET          0x004d
  
 +#define USB_VENDOR_ID_UGEE            0x28bd
 +#define USB_DEVICE_ID_UGEE_TABLET_EX07S               0x0071
 +
  #define USB_VENDOR_ID_UNITEC  0x227d
  #define USB_DEVICE_ID_UNITEC_USB_TOUCH_0709   0x0709
  #define USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19   0x0a19
  
  #define USB_VENDOR_ID_XIN_MO                  0x16c0
  #define USB_DEVICE_ID_XIN_MO_DUAL_ARCADE      0x05e1
 +#define USB_DEVICE_ID_THT_2P_ARCADE           0x75e1
  
  #define USB_VENDOR_ID_XIROKU          0x1477
  #define USB_DEVICE_ID_XIROKU_SPX      0x1006
index a8baaf60e28a44934380757e24cae5c178d060bd,774bd701dae0b82f4eecd662250cd4155c82dd4f..0e06368d1fbb6408c829019c474cac39f9d55a9a
@@@ -27,6 -27,7 +27,7 @@@
  
  #include <linux/poll.h>
  #include <linux/slab.h>
+ #include <linux/sched/signal.h>
  #include <linux/module.h>
  #include <linux/init.h>
  #include <linux/input.h>
  #endif
  #define HIDDEV_BUFFER_SIZE    2048
  
 -struct hiddev {
 -      int exist;
 -      int open;
 -      struct mutex existancelock;
 -      wait_queue_head_t wait;
 -      struct hid_device *hid;
 -      struct list_head list;
 -      spinlock_t list_lock;
 -};
 -
  struct hiddev_list {
        struct hiddev_usage_ref buffer[HIDDEV_BUFFER_SIZE];
        int head;
@@@ -679,7 -690,6 +680,7 @@@ static long hiddev_ioctl(struct file *f
  
        case HIDIOCINITREPORT:
                usbhid_init_reports(hid);
 +              hiddev->initialized = true;
                r = 0;
                break;
  
        case HIDIOCGUSAGES:
        case HIDIOCSUSAGES:
        case HIDIOCGCOLLECTIONINDEX:
 +              if (!hiddev->initialized) {
 +                      usbhid_init_reports(hid);
 +                      hiddev->initialized = true;
 +              }
                r = hiddev_ioctl_usage(hiddev, cmd, user_arg);
                break;
  
@@@ -905,15 -911,6 +906,15 @@@ int hiddev_connect(struct hid_device *h
                kfree(hiddev);
                return -1;
        }
 +
 +      /*
 +       * If HID_QUIRK_NO_INIT_REPORTS is set, make sure we don't initialize
 +       * the reports.
 +       */
 +      hiddev->initialized = hid->quirks & HID_QUIRK_NO_INIT_REPORTS;
 +
 +      hiddev->minor = usbhid->intf->minor;
 +
        return 0;
  }
  
This page took 0.112177 seconds and 4 git commands to generate.