]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'next' into for-linus
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 3 Nov 2015 22:45:16 +0000 (14:45 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 3 Nov 2015 22:45:16 +0000 (14:45 -0800)
Prepare first round of input updates for 4.3 merge window.

1  2 
drivers/input/touchscreen/Kconfig
drivers/input/touchscreen/ads7846.c

index deb14c12ae8b19a84c5ba8e0074f4bac43260ecc,771d95c1122116980c87e658168fa87553408761..80cc69897a4331105801ff3eca9339819727e3c8
@@@ -295,6 -295,19 +295,19 @@@ config TOUCHSCREEN_EGALA
          To compile this driver as a module, choose M here: the
          module will be called egalax_ts.
  
+ config TOUCHSCREEN_FT6236
+       tristate "FT6236 I2C touchscreen"
+       depends on I2C
+       depends on GPIOLIB || COMPILE_TEST
+       help
+         Say Y here to enable support for the I2C connected FT6x06 and
+         FT6x36 family of capacitive touchscreen drivers.
+         If unsure, say N.
+         To compile this driver as a module, choose M here: the
+         module will be called ft6236.
  config TOUCHSCREEN_FUJITSU
        tristate "Fujitsu serial touchscreen"
        select SERIO
@@@ -1006,7 -1019,6 +1019,7 @@@ config TOUCHSCREEN_SUN4
  config TOUCHSCREEN_SUR40
        tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
        depends on USB && MEDIA_USB_SUPPORT && HAS_DMA
 +      depends on VIDEO_V4L2
        select INPUT_POLLDEV
        select VIDEOBUF2_DMA_SG
        help
@@@ -1065,4 -1077,15 +1078,15 @@@ config TOUCHSCREEN_COLIBRI_VF5
          To compile this driver as a module, choose M here: the
          module will be called colibri_vf50_ts.
  
+ config TOUCHSCREEN_ROHM_BU21023
+       tristate "ROHM BU21023/24 Dual touch support resistive touchscreens"
+       depends on I2C
+       help
+         Say Y here if you have a touchscreen using ROHM BU21023/24.
+         If unsure, say N.
+         To compile this driver as a module, choose M here: the
+         module will be called bu21023_ts.
  endif
index 04edc8f7122fa77d9c043694ba8f47d0c83dab0c,727d88c900c1da57f9922d0eeafc0d579cf050f2..6c676e41fe3c3b418223497e62cfb33e0dee0637
@@@ -529,10 -529,8 +529,8 @@@ static int ads784x_hwmon_register(struc
  
        ts->hwmon = hwmon_device_register_with_groups(&spi->dev, spi->modalias,
                                                      ts, ads7846_attr_groups);
-       if (IS_ERR(ts->hwmon))
-               return PTR_ERR(ts->hwmon);
  
-       return 0;
+       return PTR_ERR_OR_ZERO(ts->hwmon);
  }
  
  static void ads784x_hwmon_unregister(struct spi_device *spi,
@@@ -668,22 -666,18 +666,22 @@@ static int ads7846_no_filter(void *ads
  
  static int ads7846_get_value(struct ads7846 *ts, struct spi_message *m)
  {
 +      int value;
        struct spi_transfer *t =
                list_entry(m->transfers.prev, struct spi_transfer, transfer_list);
  
        if (ts->model == 7845) {
 -              return be16_to_cpup((__be16 *)&(((char*)t->rx_buf)[1])) >> 3;
 +              value = be16_to_cpup((__be16 *)&(((char *)t->rx_buf)[1]));
        } else {
                /*
                 * adjust:  on-wire is a must-ignore bit, a BE12 value, then
                 * padding; built from two 8 bit values written msb-first.
                 */
 -              return be16_to_cpup((__be16 *)t->rx_buf) >> 3;
 +              value = be16_to_cpup((__be16 *)t->rx_buf);
        }
 +
 +      /* enforce ADC output is 12 bits width */
 +      return (value >> 3) & 0xfff;
  }
  
  static void ads7846_update_value(struct spi_message *m, int val)