mbox

[PULL,REQUEST] i2c for 4.10

Message ID 20161215203503.GA2636@katana
State Accepted
Headers show

Pull-request

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

Message

Wolfram Sang Dec. 15, 2016, 8:35 p.m. UTC
Linus,

here is the first pull request from I2C for 4.10, including:

* the first series of making i2c_device_id optional instead of mandatory
  (in favor of alternatives like of_device_id). This involves adding a
  new probe callback (probe_new) which removes some peculiarities I2C had
  for a long time now. The new probe is matching the other subsystems
  now and the old one will be removed once all users are converted. It
  is expected to take a while but there is ongoing interest in that.
* SMBus Host Notify introduced 4.9 got refactored. They are now using
  interrupts instead of the alert callback which solves multiple issues.
* new drivers for iMX LowPower I2C, Mellanox CPLD and its I2C mux
* significant refactoring for bcm2835 driver
* usual set of driver updates and improvements

Thanks,

   Wolfram


The following changes since commit bc33b0ca11e3df467777a4fa7639ba488c9d4911:

  Linux 4.9-rc4 (2016-11-05 16:23:36 -0700)

are available in the git repository at:

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

for you to fetch changes up to 6eb89ef029fe22aee518a9dc75b9ee5d6ef9b3fe:

  i2c: fsl-lpi2c: read lpi2c fifo size in probe() (2016-12-11 23:06:39 +0100)

----------------------------------------------------------------
Alexander Stein (2):
      i2c: designware: Consolidate default functionality bits
      i2c: designware-pcidrv: Add 10bit address feature to medfield/merrifield

Benjamin Tissoires (6):
      i2c: i801: store and restore the SLVCMD register at load and unload
      i2c: i801: minor formatting issues
      i2c: i801: use BIT() macro for bits definition
      i2c: i801: use the BIT() macro for FEATURES_* also
      i2c: i801: remove SMBNTFDDAT reads as they always seem to return 0
      i2c: use an IRQ to report Host Notify events, not alert

Gao Pan (3):
      dt-bindings: i2c: imx-lpi2c: add devicetree bindings
      i2c: imx-lpi2c: add low power i2c bus driver
      i2c: fsl-lpi2c: read lpi2c fifo size in probe()

Jan Glauber (2):
      i2c: octeon: thunderx: TWSI software reset in recovery
      i2c: octeon: thunderx: Remove double-check after interrupt

Jan Kotas (1):
      i2c: cadence: Allow Cadence I2C to be selected for Cadence Xtensa CPUs

Jarkko Nikula (1):
      i2c: designware: Allow reduce bus speed by "clock-frequency" property

Julia Lawall (1):
      i2c: constify i2c_adapter_quirks structures

Lee Jones (7):
      i2c: Add pointer dereference protection to i2c_match_id()
      i2c: Add the ability to match device to compatible string without an of_node
      i2c: Match using traditional OF methods, then by vendor-less compatible strings
      i2c: Make I2C ID tables non-mandatory for DT'ed devices
      i2c: Export i2c_match_id() for direct use by device drivers
      i2c: Provide a temporary .probe_new() call-back type
      mfd: 88pm860x: Move over to new I2C device .probe() call

Masahiro Yamada (2):
      i2c: uniphier: rename jump label to follow coding style guideline
      i2c: uniphier-f: rename jump label to follow coding style guideline

Naveen Kaje (2):
      i2c: qup: add ACPI support
      i2c: qup: support SMBus block read

Noralf Trønnes (7):
      i2c: bcm2835: Fix hang for writing messages larger than 16 bytes
      i2c: bcm2835: Protect against unexpected TXW/RXR interrupts
      i2c: bcm2835: Use dev_dbg logging on transfer errors
      i2c: bcm2835: Can't support I2C_M_IGNORE_NAK
      i2c: bcm2835: Add support for Repeated Start Condition
      i2c: bcm2835: Support i2c-dev ioctl I2C_TIMEOUT
      i2c: bcm2835: Add support for dynamic clock

Paul Gortmaker (1):
      i2c: i2c-pxa-pci; make explicitly non-modular

Peter Rosin (1):
      i2c: i2c-mux-gpio: update mux with gpiod_set_array_value_cansleep

Romain Perier (3):
      dt-bindings: i2c: pxa: Update the documentation for the Armada 3700
      i2c: pxa: Add definition of fast and high speed modes via the regs layout
      i2c: pxa: Add support for the I2C units found in Armada 3700

Simon Horman (2):
      i2c: rcar: Add per-Generation fallback bindings
      i2c: sh_mobile: Add per-Generation fallback bindings

Tanmay Jagdale (1):
      i2c: xlp9xx: ACPI support for I2C clients

Tin Huynh (1):
      i2c: designware: Implement support for SMBus block read and write

Vadim Pasternak (2):
      i2c: mux: mellanox: add driver
      i2c: mlxcpld: add master driver for mellanox systems

tnhuynh@apm.com (1):
      i2c: mux: pca954x: Add ACPI support for pca954x

 .../devicetree/bindings/i2c/i2c-imx-lpi2c.txt      |  20 +
 Documentation/devicetree/bindings/i2c/i2c-pxa.txt  |   1 +
 Documentation/devicetree/bindings/i2c/i2c-rcar.txt |  32 +-
 .../devicetree/bindings/i2c/i2c-sh_mobile.txt      |  17 +-
 Documentation/i2c/busses/i2c-mlxcpld               |  47 ++
 Documentation/i2c/smbus-protocol                   |  12 +-
 MAINTAINERS                                        |   9 +
 drivers/i2c/Kconfig                                |   1 +
 drivers/i2c/busses/Kconfig                         |  25 +-
 drivers/i2c/busses/Makefile                        |   2 +
 drivers/i2c/busses/i2c-axxia.c                     |   2 +-
 drivers/i2c/busses/i2c-bcm-iproc.c                 |   2 +-
 drivers/i2c/busses/i2c-bcm2835.c                   | 218 ++++---
 drivers/i2c/busses/i2c-designware-core.c           |  46 +-
 drivers/i2c/busses/i2c-designware-core.h           |   8 +
 drivers/i2c/busses/i2c-designware-pcidrv.c         |  10 +-
 drivers/i2c/busses/i2c-designware-platdrv.c        |  23 +-
 drivers/i2c/busses/i2c-dln2.c                      |   2 +-
 drivers/i2c/busses/i2c-i801.c                      | 123 ++--
 drivers/i2c/busses/i2c-imx-lpi2c.c                 | 652 +++++++++++++++++++++
 drivers/i2c/busses/i2c-mlxcpld.c                   | 504 ++++++++++++++++
 drivers/i2c/busses/i2c-octeon-core.c               |  46 +-
 drivers/i2c/busses/i2c-pxa-pci.c                   |  32 +-
 drivers/i2c/busses/i2c-pxa.c                       |  26 +-
 drivers/i2c/busses/i2c-qup.c                       | 122 +++-
 drivers/i2c/busses/i2c-rcar.c                      |   5 +-
 drivers/i2c/busses/i2c-sh_mobile.c                 |   4 +-
 drivers/i2c/busses/i2c-uniphier-f.c                |   6 +-
 drivers/i2c/busses/i2c-uniphier.c                  |   6 +-
 drivers/i2c/busses/i2c-viperboard.c                |   2 +-
 drivers/i2c/busses/i2c-xlp9xx.c                    |   1 +
 drivers/i2c/i2c-core.c                             | 197 ++++++-
 drivers/i2c/i2c-smbus.c                            | 102 ----
 drivers/i2c/muxes/Kconfig                          |  11 +
 drivers/i2c/muxes/Makefile                         |   1 +
 drivers/i2c/muxes/i2c-mux-gpio.c                   |  18 +-
 drivers/i2c/muxes/i2c-mux-mlxcpld.c                | 220 +++++++
 drivers/i2c/muxes/i2c-mux-pca954x.c                |  28 +-
 drivers/mfd/88pm860x-core.c                        |   5 +-
 include/linux/i2c-smbus.h                          |  27 -
 include/linux/i2c.h                                |  26 +-
 include/linux/i2c/mlxcpld.h                        |  52 ++
 42 files changed, 2264 insertions(+), 429 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt
 create mode 100644 Documentation/i2c/busses/i2c-mlxcpld
 create mode 100644 drivers/i2c/busses/i2c-imx-lpi2c.c
 create mode 100644 drivers/i2c/busses/i2c-mlxcpld.c
 create mode 100644 drivers/i2c/muxes/i2c-mux-mlxcpld.c
 create mode 100644 include/linux/i2c/mlxcpld.h