Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 27 Jul 2016 21:30:41 +0000 (14:30 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 27 Jul 2016 21:30:41 +0000 (14:30 -0700)
Pull input updates from Dmitry Torokhov:
 "Updates for the input subsystem.  This contains the following new
  drivers promised in the last merge window:

   - driver for touchscreen controller found in Surface 3
   - driver for Pegasus Notetaker tablet
   - driver for Atmel Captouch Buttons
   - driver for Raydium I2C touchscreen controllers
   - powerkey driver for HISI 65xx SoC

  plus a few fixes"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits)
  Input: tty/vt/keyboard - use memdup_user()
  Input: pegasus_notetaker - set device mode in reset_resume() if in use
  Input: pegasus_notetaker - cancel workqueue's work in suspend()
  Input: pegasus_notetaker - fix usb_autopm calls to be balanced
  Input: pegasus_notetaker - handle usb control msg errors
  Input: wacom_w8001 - handle errors from input_mt_init_slots()
  Input: wacom_w8001 - resolution wasn't set for ABS_MT_POSITION_X/Y
  Input: pixcir_ts - add support for axis inversion / swapping
  Input: icn8318 - use of_touchscreen helpers for inverting / swapping axes
  Input: edt-ft5x06 - add support for inverting / swapping axes
  Input: of_touchscreen - add support for inverted / swapped axes
  Input: synaptics-rmi4 - use the RMI_F11_REL_BYTES define in rmi_f11_rel_pos_report
  Input: synaptics-rmi4 - remove unneeded variable
  Input: synaptics-rmi4 - remove pointer to rmi_function in f12_data
  Input: synaptics-rmi4 - support regulator supplies
  Input: raydium_i2c_ts - check CRC of incoming packets
  Input: xen-kbdfront - prefer xenbus_write() over xenbus_printf() where possible
  Input: fix a double word "is is" in include/linux/input.h
  Input: add powerkey driver for HISI 65xx SoC
  Input: apanel - spelling mistake - "skiping" -> "skipping"
  ...

1  2 
Documentation/devicetree/bindings/vendor-prefixes.txt
drivers/input/touchscreen/ad7879.c

@@@ -16,23 -16,19 +16,23 @@@ al Annapurna Lab
  allwinner     Allwinner Technology Co., Ltd.
  alphascale    AlphaScale Integrated Circuits Systems, Inc.
  altr  Altera Corp.
 +amazon        Amazon.com, Inc.
  amcc  Applied Micro Circuits Corporation (APM, formally AMCC)
  amd   Advanced Micro Devices (AMD), Inc.
  amlogic       Amlogic, Inc.
  ampire        Ampire Co., Ltd.
  ams   AMS AG
  amstaos       AMS-Taos Inc.
 +analogix      Analogix Semiconductor, Inc.
  apm   Applied Micro Circuits Corporation (APM)
  aptina        Aptina Imaging
  arasan        Arasan Chip Systems
  arm   ARM Ltd.
  armadeus      ARMadeus Systems SARL
 +arrow Arrow Electronics
  artesyn       Artesyn Embedded Technologies Inc.
  asahi-kasei   Asahi Kasei Corp.
 +aspeed        ASPEED Technology Inc.
  atlas Atlas Scientific LLC
  atmel Atmel Corporation
  auo   AU Optronics Corporation
@@@ -62,7 -58,6 +62,7 @@@ cnxt  Conexant Systems, Inc
  compulab      CompuLab Ltd.
  cortina       Cortina Systems, Inc.
  cosmic        Cosmic Circuits
 +creative      Creative Technology Ltd
  crystalfontz  Crystalfontz America, Inc.
  cubietech     Cubietech, Ltd.
  cypress       Cypress Semiconductor Corporation
@@@ -75,14 -70,11 +75,14 @@@ digilent   Diglent, Inc
  dlg   Dialog Semiconductor
  dlink D-Link Corporation
  dmo   Data Modul AG
 +dptechnics    DPTechnics
 +dragino       Dragino Technology Co., Limited
  ea    Embedded Artists AB
  ebv   EBV Elektronik
  edt   Emerging Display Technologies
  eeti  eGalax_eMPIA Technology Inc
  elan  Elan Microelectronic Corp.
 +embest        Shenzhen Embest Technology Co., Ltd.
  emmicro       EM Microelectronic
  energymicro   Silicon Laboratories (formerly Energy Micro AS)
  epcos EPCOS AG
@@@ -94,13 -86,11 +94,13 @@@ eukrea  EukrĂ©a Electromatiqu
  everest       Everest Semiconductor Co. Ltd.
  everspin      Everspin Technologies, Inc.
  excito        Excito
 +ezchip        EZchip Semiconductor
  fcs   Fairchild Semiconductor
  firefly       Firefly
  focaltech     FocalTech Systems Co.,Ltd
  fsl   Freescale Semiconductor
  ge    General Electric Company
 +geekbuying    GeekBuying
  GEFanuc       GE Fanuc Intelligent Platforms Embedded Systems, Inc.
  gef   GE Fanuc Intelligent Platforms Embedded Systems, Inc.
  geniatech     Geniatech, Inc.
@@@ -128,7 -118,6 +128,7 @@@ idt        Integrated Device Technologies, Inc
  ifi   Ingenieurburo Fur Ic-Technologie (I/F/I)
  iom   Iomega Corporation
  img   Imagination Technologies Ltd.
 +inforce       Inforce Computing
  ingenic       Ingenic Semiconductor
  innolux       Innolux Corporation
  intel Intel Corporation
@@@ -152,7 -141,6 +152,7 @@@ lsi        LSI Corp. (LSI Logic
  lltc  Linear Technology Corporation
  marvell       Marvell Technology Group Ltd.
  maxim Maxim Integrated Products
 +meas  Measurement Specialties
  mediatek      MediaTek Inc.
  melexis       Melexis N.V.
  merrii        Merrii Technology Co., Ltd.
@@@ -164,7 -152,6 +164,7 @@@ mitsubishi Mitsubishi Electric Corporat
  mosaixtech    Mosaix Technologies, Inc.
  moxa  Moxa
  mpl   MPL AG
 +mqmaker       mqmaker Inc.
  msi   Micro-Star International Co. Ltd.
  mti   Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
  mundoreader   Mundo Reader S.L.
@@@ -184,15 -171,12 +184,15 @@@ nvidia  NVIDI
  nxp   NXP Semiconductors
  okaya Okaya Electric America, Inc.
  olimex        OLIMEX Ltd.
 +onion Onion Corporation
  onnn  ON Semiconductor Corp.
 +ontat On Tat Industrial Company
  opencores     OpenCores.org
  option        Option NV
  ortustech     Ortus Technology Co., Ltd.
  ovti  OmniVision Technologies
  ORCL  Oracle Corporation
 +oxsemi        Oxford Semiconductor, Ltd.
  panasonic     Panasonic Corporation
  parade        Parade Technologies Inc.
  pericom       Pericom Technology Inc.
@@@ -214,6 -198,7 +214,7 @@@ raidsonic  RaidSonic Technology Gmb
  ralink        Mediatek/Ralink Technology Corp.
  ramtron       Ramtron International
  raspberrypi   Raspberry Pi Foundation
+ raydium       Raydium Semiconductor Corp.
  realtek Realtek Semiconductor Corp.
  renesas       Renesas Electronics Corporation
  richtek       Richtek Technology Corporation
@@@ -255,7 -240,6 +256,7 @@@ synology   Synology, Inc
  SUNW  Sun Microsystems, Inc
  tbs   TBS Technologies
  tcl   Toby Churchill Ltd.
 +technexion    TechNexion
  technologic   Technologic Systems
  thine THine Electronics, Inc.
  ti    Texas Instruments
@@@ -264,13 -248,10 +265,13 @@@ toradex Toradex A
  toshiba       Toshiba Corporation
  toumaz        Toumaz
  tplink        TP-LINK Technologies Co., Ltd.
 +tpk   TPK U.S.A. LLC
  tronfy        Tronfy
  tronsmart     Tronsmart
  truly Truly Semiconductors Limited
 +tyan  Tyan Computer Corporation
  upisemi       uPI Semiconductor Corp.
 +uniwest       United Western Technologies Corp (UniWest)
  urt   United Radiant Technology Corporation
  usi   Universal Scientific Industrial Co., Ltd.
  v3    V3 Semiconductor
@@@ -279,7 -260,6 +280,7 @@@ via        VIA Technologies, Inc
  virtio        Virtual I/O Device Specification, developed by the OASIS consortium
  vivante       Vivante Corporation
  voipac        Voipac Technologies s.r.o.
 +wd    Western Digital Corp.
  wexler        Wexler
  winbond Winbond Electronics corp.
  wlf   Wolfson Microelectronics
@@@ -379,7 -379,7 +379,7 @@@ static const struct attribute_group ad7
  static int ad7879_gpio_direction_input(struct gpio_chip *chip,
                                        unsigned gpio)
  {
 -      struct ad7879 *ts = container_of(chip, struct ad7879, gc);
 +      struct ad7879 *ts = gpiochip_get_data(chip);
        int err;
  
        mutex_lock(&ts->mutex);
  static int ad7879_gpio_direction_output(struct gpio_chip *chip,
                                        unsigned gpio, int level)
  {
 -      struct ad7879 *ts = container_of(chip, struct ad7879, gc);
 +      struct ad7879 *ts = gpiochip_get_data(chip);
        int err;
  
        mutex_lock(&ts->mutex);
  
  static int ad7879_gpio_get_value(struct gpio_chip *chip, unsigned gpio)
  {
 -      struct ad7879 *ts = container_of(chip, struct ad7879, gc);
 +      struct ad7879 *ts = gpiochip_get_data(chip);
        u16 val;
  
        mutex_lock(&ts->mutex);
  static void ad7879_gpio_set_value(struct gpio_chip *chip,
                                  unsigned gpio, int value)
  {
 -      struct ad7879 *ts = container_of(chip, struct ad7879, gc);
 +      struct ad7879 *ts = gpiochip_get_data(chip);
  
        mutex_lock(&ts->mutex);
        if (value)
@@@ -456,7 -456,7 +456,7 @@@ static int ad7879_gpio_add(struct ad787
                ts->gc.owner = THIS_MODULE;
                ts->gc.parent = ts->dev;
  
 -              ret = gpiochip_add(&ts->gc);
 +              ret = gpiochip_add_data(&ts->gc, ts);
                if (ret)
                        dev_err(ts->dev, "failed to register gpio %d\n",
                                ts->gc.base);
@@@ -595,7 -595,7 +595,7 @@@ struct ad7879 *ad7879_probe(struct devi
        } else {
                input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, 0, 0);
                input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, 0, 0);
-               touchscreen_parse_properties(input_dev, false);
+               touchscreen_parse_properties(input_dev, false, NULL);
                if (!input_abs_get_max(input_dev, ABS_PRESSURE)) {
                        dev_err(dev, "Touchscreen pressure is not specified\n");
                        return ERR_PTR(-EINVAL);