mbox series

[PULL,REQUEST] i2c for 4.19

Message ID 20180821140430.ezghempfe64nddxw@ninjato
State Accepted
Headers show
Series [PULL,REQUEST] i2c for 4.19 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-4.19

Message

Wolfram Sang Aug. 21, 2018, 2:04 p.m. UTC
Linus,

here are the I2C updates for this merge window:

* the core has now a lockless variant of i2c_smbus_xfer. Some open coded
  versions of this got removed in drivers. This also enables proper SCCB
  support in regmap.
* locking got a more precise naming. i2c_{un}lock_adapter() had to go,
  and we know use i2c_lock_bus() consistently with flags like
  I2C_LOCK_ROOT_ADAPTER and I2C_LOCK_SEGMENT to avoid ambiguity.
* the gpio fault injector got a new delicate testcase
* the bus recovery procedure got fixed to handle the new testcase
  correctly
* a new quirk flag for controllers not able to handle zero length
  messages together with driver updates to use it
* new drivers: FSI bus attached I2C masters, GENI I2C controller,
  Owl family S900
* and a good set of driver improvements and bugfixes

I will send you the promised pull request with the removal of the
deprecated attach_adapter callback seperately during this merge window.

Please pull.

Thanks,

   Wolfram


The following changes since commit d72e90f33aa4709ebecc5005562f52335e106a60:

  Linux 4.18-rc6 (2018-07-22 14:12:20 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-4.19

for you to fetch changes up to 19358d4488db7e6a04e940730cc75909d7d1e0d8:

  i2c: rcar: implement STOP and REP_START according to docs (2018-08-20 14:49:41 +0200)

----------------------------------------------------------------
Alan Chiang (2):
      dt-bindings: at24: Add address-width property
      eeprom: at24: Add support for address-width property

Andy Shevchenko (3):
      i2c: core: Parse SDA hold time from firmware
      i2c: designware: Convert to use struct i2c_timings
      i2c: designware: Add SPDX license tag

Darren Stevens (1):
      i2c: pasemi: remove hardcoded bus numbers on smbus

Eddie James (8):
      dt-bindings: i2c: Add FSI-attached I2C master dt binding documentation
      i2c: Add FSI-attached I2C master algorithm
      i2c: fsi: Add port structures
      i2c: fsi: Add abort and hardware reset procedures
      i2c: fsi: Add transfer implementation
      i2c: fsi: Add I2C master locking
      i2c: fsi: Add bus recovery
      MAINTAINERS: Add Eddie as the maintainer for the FSI-attached I2C driver

Esben Haabendal (2):
      i2c: imx: Fix race condition in dma read
      i2c: imx: Simplify stopped state tracking

Fabrizio Castro (2):
      dt-bindings: i2c: sh_mobile: Add r8a774a1 support
      dt-bindings: i2c: rcar: Add r8a774a1 support

Gustavo A. R. Silva (2):
      i2c: amd8111: Mark expected switch fall-through
      i2c: designware-pcidrv: Mark expected switch fall-through

Hans de Goede (2):
      i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes
      i2c: core: ACPI: Make acpi_gsb_i2c_read_bytes() check i2c_transfer return value

Hiromitsu Yamasaki (1):
      i2c: rcar: Add compatible support for r8a77990 (R-Car E3)

Jae Hyun Yoo (4):
      i2c: aspeed: Add newline characters into message printings.
      i2c: aspeed: Fix initial values of master and slave state
      i2c: aspeed: Adjust spinlock scope in the irq handler
      i2c: aspeed: Add an explicit type casting for *get_clk_reg_val

Jarkko Nikula (9):
      i2c: designware: Remove needless variable from i2c_dw_init_slave()
      i2c: designware: Move register access detection to common code
      i2c: designware: Don't use internal ___constant_swab32
      i2c: designware: Call i2c_dw_clk_rate() only once in i2c_dw_init_master()
      i2c: designware: Move SDA hold time configuration to common code
      i2c: designware: Separate timing parameter setting from HW initalization
      i2c: designware: Add debug print for SDA hold time value
      i2c: designware: Add debug print for bus speed
      i2c: i801: Consolidate chipset names in documentation and Kconfig

Karthikeyan Ramasubramanian (1):
      i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller

Krzysztof Kozlowski (1):
      i2c: exynos5: Describe the hardware variant for readability

Linus Walleij (1):
      i2c: mux: pca954x: use helper variable in probe

Manivannan Sadhasivam (2):
      dt-bindings: i2c: Add binding for Actions Semiconductor Owl I2C controller
      i2c: Add Actions Semiconductor Owl family S900 I2C driver

Mika Westerberg (1):
      i2c: i801: Add support for Intel Ice Lake

Peter Rosin (15):
      i2c: smbus: add unlocked __i2c_smbus_xfer variant
      i2c: mux: mlxcpld: make use of __i2c_smbus_xfer
      i2c: mux: pca9541: make use of __i2c_smbus_xfer
      i2c: mux: pca954x: make use of __i2c_smbus_xfer
      i2c: mux: make use of __i2c_smbus_xfer
      tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      i2c: mux: pca9541: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      input: rohm_bu21023: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      media: af9013: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      media: drxk_hard: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      media: rtl2830: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      media: tda1004x: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      media: tda18271: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      mfd: 88pm860x-i2c: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
      i2c: remove i2c_lock_adapter and use i2c_lock_bus directly

Thierry Reding (1):
      i2c: tegra: Add support for Tegra194

Wolfram Sang (23):
      i2c: gpio: fault-injector: refactor incomplete transfer
      i2c: gpio: fault-injector: add incomplete_write_byte
      Merge branch 'i2c/precise-locking-names_immutable' into i2c/for-4.19
      Merge tag 'v4.18-rc5' into i2c/for-4.19
      i2c: recovery: require either get_sda or set_sda
      i2c: recovery: refactor recovery function
      i2c: recovery: add get_bus_free callback
      i2c: rcar: use the new get_bus_free callback
      i2c: recovery: rename variable for easier understanding
      i2c: recovery: make pin init look like STOP
      i2c: rcar: handle RXDMA HW behaviour on Gen3
      Merge tag 'at24-4.19-updates-for-wolfram' of git://git.kernel.org/.../brgl/linux into i2c/for-4.19
      Merge branch 'i2c-mux/for-next' of https://github.com/peda-r/i2c-mux into i2c/for-4.19
      i2c: quirks: add zero length checks
      i2c: designware-master: use core to detect 'no zero length' quirk
      i2c: mxs: use core to detect 'no zero length' quirk
      i2c: pmcmsp: use core to detect 'no zero length' quirk
      i2c: stu300: use core to detect 'no zero length' quirk
      i2c: rcar: use core to detect 'no zero length' quirk
      i2c: xlr: use core to detect 'no zero length' quirk
      i2c: sh_mobile: use core to detect 'no zero length read' quirk
      i2c: rcar: refactor private flags
      i2c: rcar: implement STOP and REP_START according to docs


with much appreciated quality assurance from
----------------------------------------------------------------
Alexander Steffen (1):
      (Test) tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)

Alexandre Belloni (4):
      (Rev.) i2c: designware: Convert to use struct i2c_timings
      (Test) i2c: designware: Convert to use struct i2c_timings
      (Test) i2c: core: Parse SDA hold time from firmware
      (Rev.) i2c: core: Parse SDA hold time from firmware

Andrzej Hajda (1):
      (Rev.) i2c: exynos5: Describe the hardware variant for readability

Andy Shevchenko (13):
      (Rev.) i2c: designware-master: use core to detect 'no zero length' quirk
      (Rev.) i2c: quirks: add zero length checks
      (Rev.) i2c: fsi: Add I2C master locking
      (Rev.) i2c: fsi: Add transfer implementation
      (Rev.) i2c: Add FSI-attached I2C master algorithm
      (Rev.) i2c: designware: Add debug print for bus speed
      (Rev.) i2c: designware: Add debug print for SDA hold time value
      (Rev.) i2c: designware: Separate timing parameter setting from HW initalization
      (Rev.) i2c: designware: Move SDA hold time configuration to common code
      (Rev.) i2c: designware: Call i2c_dw_clk_rate() only once in i2c_dw_init_master()
      (Rev.) i2c: designware: Don't use internal ___constant_swab32
      (Rev.) i2c: designware: Move register access detection to common code
      (Rev.) i2c: designware: Remove needless variable from i2c_dw_init_slave()

Biju Das (2):
      (Rev.) dt-bindings: i2c: rcar: Add r8a774a1 support
      (Rev.) dt-bindings: i2c: sh_mobile: Add r8a774a1 support

Brendan Higgins (4):
      (Rev.) i2c: aspeed: Add an explicit type casting for *get_clk_reg_val
      (Rev.) i2c: aspeed: Adjust spinlock scope in the irq handler
      (Rev.) i2c: aspeed: Fix initial values of master and slave state
      (Rev.) i2c: aspeed: Add newline characters into message printings.

Douglas Anderson (1):
      (Rev.) i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller

Geert Uytterhoeven (2):
      (Rev.) i2c: rcar: handle RXDMA HW behaviour on Gen3
      (Rev.) i2c: rcar: Add compatible support for r8a77990 (R-Car E3)

Jarkko Nikula (2):
      (Test) i2c: designware-master: use core to detect 'no zero length' quirk
      (Test) i2c: quirks: add zero length checks

Jarkko Sakkinen (1):
      (Rev.) tpm/tpm_i2c_infineon: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)

Jean Delvare (2):
      (Rev.) i2c: i801: Add support for Intel Ice Lake
      (Rev.) i2c: i801: Consolidate chipset names in documentation and Kconfig

Joel Stanley (6):
      (Test) i2c: fsi: Add bus recovery
      (Test) i2c: fsi: Add I2C master locking
      (Test) i2c: fsi: Add transfer implementation
      (Test) i2c: fsi: Add abort and hardware reset procedures
      (Test) i2c: fsi: Add port structures
      (Test) i2c: Add FSI-attached I2C master algorithm

Linus Walleij (1):
      (Rev.) i2c: stu300: use core to detect 'no zero length' quirk

Niklas S??derlund (3):
      (Rev.) i2c: sh_mobile: use core to detect 'no zero length read' quirk
      (Rev.) i2c: rcar: use core to detect 'no zero length' quirk
      (Rev.) i2c: quirks: add zero length checks

Peter Rosin (2):
      (Rev.) i2c: recovery: make pin init look like STOP
      (Rev.) i2c: recovery: refactor recovery function

Rob Herring (4):
      (Rev.) dt-bindings: i2c: rcar: Add r8a774a1 support
      (Rev.) dt-bindings: i2c: sh_mobile: Add r8a774a1 support
      (Rev.) dt-bindings: i2c: Add binding for Actions Semiconductor Owl I2C controller
      (Rev.) dt-bindings: at24: Add address-width property

Sekhar Nori (1):
      (Test) i2c: remove i2c_lock_adapter and use i2c_lock_bus directly

Simon Horman (2):
      (Rev.) dt-bindings: i2c: rcar: Add r8a774a1 support
      (Rev.) dt-bindings: i2c: sh_mobile: Add r8a774a1 support

Stephen Boyd (2):
      (Rev.) i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller
      (Test) i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller

Ulrich Hecht (3):
      (Rev.) i2c: rcar: implement STOP and REP_START according to docs
      (Rev.) i2c: rcar: refactor private flags
      (Rev.) i2c: recovery: make pin init look like STOP

 Documentation/devicetree/bindings/eeprom/at24.txt  |   2 +
 Documentation/devicetree/bindings/i2c/i2c-fsi.txt  |  40 ++
 Documentation/devicetree/bindings/i2c/i2c-owl.txt  |  27 +
 Documentation/devicetree/bindings/i2c/i2c-rcar.txt |   5 +-
 .../devicetree/bindings/i2c/i2c-sh_mobile.txt      |   4 +-
 Documentation/i2c/busses/i2c-i801                  |  11 +-
 Documentation/i2c/gpio-fault-injection             |  49 +-
 MAINTAINERS                                        |  16 +
 drivers/char/tpm/tpm_i2c_infineon.c                |   8 +-
 drivers/i2c/busses/Kconfig                         |  42 +-
 drivers/i2c/busses/Makefile                        |   3 +
 drivers/i2c/busses/i2c-amd8111.c                   |   1 +
 drivers/i2c/busses/i2c-aspeed.c                    |  40 +-
 drivers/i2c/busses/i2c-brcmstb.c                   |   8 +-
 drivers/i2c/busses/i2c-davinci.c                   |   4 +-
 drivers/i2c/busses/i2c-designware-baytrail.c       |  10 +-
 drivers/i2c/busses/i2c-designware-common.c         |  91 ++-
 drivers/i2c/busses/i2c-designware-core.h           |  24 +-
 drivers/i2c/busses/i2c-designware-master.c         | 223 +++---
 drivers/i2c/busses/i2c-designware-pcidrv.c         |  17 +-
 drivers/i2c/busses/i2c-designware-platdrv.c        |  68 +-
 drivers/i2c/busses/i2c-designware-slave.c          |  62 +-
 drivers/i2c/busses/i2c-exynos5.c                   |  22 +-
 drivers/i2c/busses/i2c-fsi.c                       | 752 +++++++++++++++++++++
 drivers/i2c/busses/i2c-gpio.c                      |  97 ++-
 drivers/i2c/busses/i2c-i801.c                      |   4 +
 drivers/i2c/busses/i2c-imx.c                       |  23 +-
 drivers/i2c/busses/i2c-mxs.c                       |   8 +-
 drivers/i2c/busses/i2c-owl.c                       | 495 ++++++++++++++
 drivers/i2c/busses/i2c-pasemi.c                    |   3 +-
 drivers/i2c/busses/i2c-pmcmsp.c                    |  17 +-
 drivers/i2c/busses/i2c-qcom-geni.c                 | 673 ++++++++++++++++++
 drivers/i2c/busses/i2c-rcar.c                      | 123 +++-
 drivers/i2c/busses/i2c-s3c2410.c                   |   4 +-
 drivers/i2c/busses/i2c-sh_mobile.c                 |  10 +-
 drivers/i2c/busses/i2c-sprd.c                      |   8 +-
 drivers/i2c/busses/i2c-stu300.c                    |  12 +-
 drivers/i2c/busses/i2c-tegra.c                     |  90 ++-
 drivers/i2c/busses/i2c-xlr.c                       |  11 +-
 drivers/i2c/i2c-core-acpi.c                        |  19 +-
 drivers/i2c/i2c-core-base.c                        |  85 ++-
 drivers/i2c/i2c-core-slave.c                       |   8 +-
 drivers/i2c/i2c-core-smbus.c                       |  28 +-
 drivers/i2c/i2c-mux.c                              |   4 +-
 drivers/i2c/muxes/i2c-mux-mlxcpld.c                |  28 +-
 drivers/i2c/muxes/i2c-mux-pca9541.c                |  75 +-
 drivers/i2c/muxes/i2c-mux-pca954x.c                |  51 +-
 drivers/iio/temperature/mlx90614.c                 |   4 +-
 drivers/input/touchscreen/rohm_bu21023.c           |   4 +-
 drivers/media/dvb-frontends/af9013.c               |   8 +-
 drivers/media/dvb-frontends/drxk_hard.c            |   4 +-
 drivers/media/dvb-frontends/rtl2830.c              |  12 +-
 drivers/media/dvb-frontends/tda1004x.c             |   6 +-
 drivers/media/tuners/tda18271-common.c             |   8 +-
 drivers/mfd/88pm860x-i2c.c                         |   8 +-
 drivers/misc/eeprom/at24.c                         |  17 +
 include/linux/i2c.h                                |  44 +-
 57 files changed, 2846 insertions(+), 674 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-fsi.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-owl.txt
 create mode 100644 drivers/i2c/busses/i2c-fsi.c
 create mode 100644 drivers/i2c/busses/i2c-owl.c
 create mode 100644 drivers/i2c/busses/i2c-qcom-geni.c