1. 18 2月, 2017 1 次提交
    • H
      Input: tsc2007 - add iio interface to read external ADC input and temperature · f1443404
      H. Nikolaus Schaller 提交于
      The tsc2007 chip not only has a resistive touch screen controller but
      also an external AUX adc imput which can be used for an ambient
      light sensor, battery voltage monitoring or any general purpose.
      
      Additionally it can measure the chip temperature.
      
      This extension provides an iio interface for these adc channels.
      
      Since it is not wasting much resources and is very straightforward,
      we simply provide all other adc channels as optional iio interfaces
      as weel. This can be used for debugging or special applications.
      
      This patch also splits the tsc2007 driver in several source files:
      tsc2007.h -- constants, structs and stubs
      tsc2007_core.c -- functional parts of the original driver
      tsc2007_iio.c -- the optional iio stuff
      
      Makefile magic allows to conditionally link the iio stuff
      if CONFIG_IIO=y or =m in a way that it works with
      CONFIG_TOUCHSCREEN_TSC2007=m.
      Signed-off-by: NH. Nikolaus Schaller <hns@goldelico.com>
      Reviewed-by: NJonathan Cameron <jic23@kernel.org>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      f1443404
  2. 27 9月, 2016 1 次提交
  3. 20 9月, 2016 1 次提交
    • A
      [media] Input: atmel_mxt: disallow impossible configuration · 7a4b9a29
      Arnd Bergmann 提交于
      The newnly added debug mode for the atmel_mxt_ts driver relies on
      the v4l2 interface and vb2_vmalloc, but those might be configured
      as loadable modules when the driver itself is built-in, resulting
      in a link failure:
      
      drivers/input/touchscreen/atmel_mxt_ts.o: In function `mxt_vidioc_querycap':
      atmel_mxt_ts.c:(.text.mxt_vidioc_querycap+0x10): undefined reference to `video_devdata'
      drivers/input/touchscreen/atmel_mxt_ts.o: In function `mxt_buffer_queue':
      atmel_mxt_ts.c:(.text.mxt_buffer_queue+0x20): undefined reference to `vb2_plane_vaddr'
      atmel_mxt_ts.c:(.text.mxt_buffer_queue+0x164): undefined reference to `vb2_buffer_done'
      drivers/input/touchscreen/atmel_mxt_ts.o: In function `mxt_free_object_table':
      atmel_mxt_ts.c:(.text.mxt_free_object_table+0x18): undefined reference to `video_unregister_device'
      atmel_mxt_ts.c:(.text.mxt_free_object_table+0x20): undefined reference to `v4l2_device_unregister'
      
      The best workaround I could come up with is to disallow the debug
      mode unless it's actually possible to call it.
      
      Fixes: ecfdd7e2 ("[media] Input: atmel_mxt_ts - output diagnostic debug via V4L2 device")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NNick Dyer <nick@shmanahar.org>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      7a4b9a29
  4. 24 8月, 2016 2 次提交
  5. 23 8月, 2016 1 次提交
  6. 04 8月, 2016 1 次提交
  7. 03 8月, 2016 2 次提交
  8. 28 5月, 2016 1 次提交
  9. 20 5月, 2016 1 次提交
  10. 19 5月, 2016 1 次提交
  11. 05 3月, 2016 1 次提交
  12. 18 2月, 2016 1 次提交
  13. 11 2月, 2016 1 次提交
  14. 10 2月, 2016 1 次提交
  15. 18 12月, 2015 1 次提交
    • I
      Input: goodix - reset device at init · ec6e1b40
      Irina Tirdea 提交于
      After power on, it is recommended that the driver resets the device.
      The reset procedure timing is described in the datasheet and is used
      at device init (before writing device configuration) and
      for power management. It is a sequence of setting the interrupt
      and reset pins high/low at specific timing intervals. This procedure
      also includes setting the slave address to the one specified in the
      ACPI/device tree.
      
      This is based on Goodix datasheets for GT911 and GT9271 and on Goodix
      driver gt9xx.c for Android (publicly available in Android kernel
      trees for various devices).
      
      For reset the driver needs to control the interrupt and
      reset gpio pins (configured through ACPI/device tree). For devices
      that do not have the gpio pins properly declared, the functionality
      depending on these pins will not be available, but the device can still
      be used with basic functionality.
      
      For both device tree and ACPI, the interrupt gpio pin configuration is
      read from the "irq-gpios" property and the reset pin configuration is
      read from the "reset-gpios" property. For ACPI 5.1, named properties
      can be specified using the _DSD section. This functionality will not be
      available for devices that use indexed gpio pins declared in the _CRS
      section (we need to provide backward compatibility with devices
      that do not support using the interrupt gpio pin as output).
      
      For ACPI, the pins can be specified using ACPI 5.1:
      Device (STAC)
      {
          Name (_HID, "GDIX1001")
          ...
      
          Method (_CRS, 0, Serialized)
          {
              Name (RBUF, ResourceTemplate ()
              {
                  I2cSerialBus (0x0014, ControllerInitiated, 0x00061A80,
                      AddressingMode7Bit, "\\I2C0",
                      0x00, ResourceConsumer, ,
                      )
      
                  GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
                      "\\I2C0", 0x00, ResourceConsumer, ,
                       )
                       {   // Pin list
                           0
                       }
      
                  GpioIo (Exclusive, PullDown, 0x0000, 0x0000,
                      IoRestrictionOutputOnly, "\\I2C0", 0x00,
                      ResourceConsumer, ,
                      )
                      {
                           1
                      }
              })
              Return (RBUF)
          }
      
          Name (_DSD,  Package ()
          {
              ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
              Package ()
              {
                  Package (2) {"irq-gpios", Package() {^STAC, 0, 0, 0 }},
                  Package (2) {"reset-gpios", Package() {^STAC, 1, 0, 0 }},
                  ...
              }
          }
      Signed-off-by: NOctavian Purdila <octavian.purdila@intel.com>
      Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com>
      Acked-by: NRob Herring <robh@kernel.org>
      Acked-by: NBastien Nocera <hadess@hadess.net>
      Tested-by: NBastien Nocera <hadess@hadess.net>
      Tested-by: NAleksei Mamlin <mamlinav@gmail.com>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      ec6e1b40
  16. 17 12月, 2015 2 次提交
  17. 02 12月, 2015 1 次提交
  18. 04 11月, 2015 2 次提交
  19. 19 10月, 2015 1 次提交
    • R
      Input: sur40 - add dependency on VIDEO_V4L2 · c8a1978e
      Randy Dunlap 提交于
      Fix build errors due to missing Kconfig dependency.
      
      drivers/built-in.o: In function `sur40_disconnect':
      sur40.c:(.text+0x22be6e): undefined reference to `video_unregister_device'
      sur40.c:(.text+0x22be77): undefined reference to `v4l2_device_unregister'
      drivers/built-in.o: In function `sur40_process_video':
      sur40.c:(.text+0x22c1d4): undefined reference to `v4l2_get_timestamp'
      drivers/built-in.o: In function `sur40_probe':
      sur40.c:(.text+0x22ca82): undefined reference to `v4l2_device_register'
      sur40.c:(.text+0x22cb1a): undefined reference to `v4l2_device_unregister'
      sur40.c:(.text+0x22cbf7): undefined reference to `video_device_release_empty'
      sur40.c:(.text+0x22cc53): undefined reference to `__video_register_device'
      sur40.c:(.text+0x22cc90): undefined reference to `video_unregister_device'
      drivers/built-in.o: In function `sur40_vidioc_querycap':
      sur40.c:(.text+0x22ccb0): undefined reference to `video_devdata'
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      c8a1978e
  20. 06 10月, 2015 1 次提交
  21. 03 10月, 2015 1 次提交
  22. 06 9月, 2015 2 次提交
  23. 05 8月, 2015 1 次提交
  24. 28 7月, 2015 2 次提交
  25. 12 7月, 2015 1 次提交
  26. 25 6月, 2015 1 次提交
  27. 27 5月, 2015 1 次提交
  28. 01 5月, 2015 1 次提交
  29. 03 4月, 2015 1 次提交
  30. 25 3月, 2015 1 次提交
  31. 24 3月, 2015 1 次提交
  32. 07 3月, 2015 2 次提交
  33. 03 3月, 2015 1 次提交
    • A
      Input: sun4i-ts - add thermal driver dependency · 4a6155a4
      Arnd Bergmann 提交于
      The sun4i-ts driver has had a dependency on the thermal code
      with the addition of the thermal zone sensor support, but this
      is not currently enforced in Kconfig, so with TOUCHSCREEN_SUN4I=y,
      THERMAL=m and THERMAL_OF=y we get
      
      drivers/built-in.o: In function `sun4i_ts_remove':
      :(.text+0x2376f4): undefined reference to `thermal_zone_of_sensor_unregister'
      drivers/built-in.o: In function `sun4i_ts_probe':
      :(.text+0x237a94): undefined reference to `thermal_zone_of_sensor_register'
      :(.text+0x237c00): undefined reference to `thermal_zone_of_sensor_unregister'
      
      We need the dependency on THERMAL in order to ensure that this
      driver becomes a loadable module if the thermal support itself
      is modular, while the dependency on THERMAL_OF is a runtime
      dependency and the driver will still build if it is missing.
      It is entirely possible to build sun4i-ts without THERMAL_OF
      just to use the hwmon sensors and/or touchscreen.
      
      Fixes: 22369710 ("Input: sun4i-ts - add thermal zone sensor support")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      [wens@csie.org: Fix description and Kconfig dependencies]
      Signed-off-by: NChen-Yu Tsai <wens@csie.org>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      4a6155a4