1. 04 Jul, 2017 1 commit
    • Hans de Goede's avatar
      i2c: acpi: Do not create i2c-clients for LNXVIDEO ACPI devices · 3a4991a9
      Hans de Goede authored
      ACPI video devices get tagged by the kernel with the custom LNXVIDEO
      HID so that normal pnp-id matching can be used and are handled by the
      acpi-video driver.
      
      Sometimes the ACPI nodes describing these contain a SERIAL_TYPE_I2C ACPI
      resource. Before this commit the presence of this resource would cause the
      i2c-core to create a /sys/bus/i2c/devices/i2c-LNXVIDEO:00 device for this
      with a modalias of: "i2c:LNXVIDEO:00".
      
      There is no i2c driver for this custom HID, the acpi-video driver binds
      directly to the ACPI device /sys/bus/acpi/devices/LNXVIDEO\:00 which has
      a modalias of "acpi:LNXVIDEO:" .
      
      Not only is the creation of an i2c-client for this undesirable, it is
      actually causing problems. This weird pseudo-resource claims an i2c
      speed of 100KHz and typically points to the i2c bus which is used by the
      touchscreen controller. Some touchscreen controllers only work properly at
      400KHz, at 100KHz they cause errors like these:
      
      i2c_designware 80860F41:03: i2c_dw_handle_tx_abort: lost arbitration
      i2c_designware 80860F41:03: i2c_dw_handle_tx_abort: lost arbitration
      i2c_designware 80860F41:03: i2c_dw_handle_tx_abort: lost arbitration
      i2c_designware 80860F41:03: i2c_dw_handle_tx_abort: lost arbitration
      silead_ts i2c-MSSL1680:00: Registers clear error -11
      
      This commit makes the i2c-core ignore LNXVIDEO compatible ACPI devices
      which has 2 positive results:
      
      1) The bogus i2c-client for these is no longer created.
      2) i2c_acpi_lookup_speed now ignores the 100KHz speed from the pseudo
      i2c-resouce and properly returns 400KHz as speed for the touchscreen
      i2c bus, fixing the touchscreen not working on various devies.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      3a4991a9
  2. 27 Jun, 2017 9 commits
  3. 23 Jun, 2017 9 commits
  4. 19 Jun, 2017 10 commits
  5. 18 Jun, 2017 1 commit
    • Arnd Bergmann's avatar
      i2c: xgene-slimpro: include linux/io.h for memremap · 063345ae
      Arnd Bergmann authored
      The newly added support for the pcc mailbox fails to build
      in some configurations:
      
      drivers/i2c/busses/i2c-xgene-slimpro.c: In function 'xgene_slimpro_i2c_probe':
      drivers/i2c/busses/i2c-xgene-slimpro.c:516:25: error: implicit declaration of function 'memremap'; did you mean 'memcmp'? [-Werror=implicit-function-declaration]
      drivers/i2c/busses/i2c-xgene-slimpro.c:518:13: error: 'MEMREMAP_WB' undeclared (first use in this function)
      drivers/i2c/busses/i2c-xgene-slimpro.c:518:13: note: each undeclared identifier is reported only once for each function it appears in
      
      This includes the missing header file.
      
      Fixes: df5da47f ("i2c: xgene-slimpro: Add ACPI support by using PCC mailbox")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarHoan Tran <hotran@apm.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      063345ae
  6. 15 Jun, 2017 1 commit
  7. 02 Jun, 2017 6 commits
  8. 31 May, 2017 3 commits