[PULL REQUEST] i2c for 4.9

From: Wolfram Sang
Date: Fri Oct 07 2016 - 05:32:50 EST


Linus,

here is the 4.9 pull request from I2C including:

* centralized error messages when registering to the core
* improved lockdep annotations to prevent false positives
* DT support for muxes, gates, and arbitrators
* bus speeds can now be obtained from ACPI
* i2c-octeon got refactored and now supports ThunderX SoCs, too
* i2c-tegra and i2c-designware got a bigger bunch of updates
* a couple of standard driver fixes and improvements

Please pull.

Thanks,

Wolfram


The following changes since commit fa8410b355251fd30341662a40ac6b22d3e38468:

Linux 4.8-rc3 (2016-08-21 16:14:10 -0700)

are available in the git repository at:

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

for you to fetch changes up to 662786a5429c3a992c6f884a647ee32424822358:

i2c: axxia: disable clks in case of failure in probe (2016-09-24 11:26:55 +0200)

----------------------------------------------------------------
Alexey Khoroshilov (1):
i2c: axxia: disable clks in case of failure in probe

Andy Shevchenko (2):
i2c: core: put literals on one line in dev_*() calls
i2c: i801: Add support for Kaby Lake PCH-H

Bartosz Golaszewski (5):
eeprom: at24: check if the chip is functional in probe()
i2c: export i2c_adapter_depth()
lockdep: make MAX_LOCKDEP_SUBCLASSES unconditionally visible
i2c: add a warning to i2c_adapter_depth()
gpio: pca953x: fix an incorrect lockdep warning

David Wu (2):
i2c: rk3x: Fix sparse warning
i2c: rk3x: Fix variable 'min_total_ns' unused warning

Dmitry Bazhenov (2):
i2c: octeon: Fix set SCL recovery function
i2c: octeon: Avoid sending STOP during recovery

Geert Uytterhoeven (1):
i2c: shmobile: Use ARCH_SHMOBILE instead of SUPERH

Jan Glauber (10):
i2c: octeon: Rename driver to prepare for split
i2c: octeon: Split the driver into two parts
i2c: thunderx: Add i2c driver for ThunderX SOC
i2c: thunderx: Add SMBUS alert support
i2c: octeon,thunderx: Move register offsets to struct
i2c: octeon: Sort include files alphabetically
i2c: octeon: Use booleon values for booleon variables
i2c: octeon: thunderx: Add MAINTAINERS entry
i2c: octeon: Fix high-level controller status check
i2c: octeon: thunderx: Limit register access retries

Jarkko Nikula (3):
i2c: core: Cleanup I2C ACPI namespace, take 2
i2c: core: Add function for finding the bus speed from ACPI, take 2
i2c: designware: Find bus speed from ACPI

Jon Hunter (10):
i2c: tegra: Fix lines over 80 characters
i2c: tegra: Use BIT macro
i2c: tegra: Fix missing blank lines after declarations
i2c: tegra: Add missing new line characters
i2c: tegra: Remove non device-tree support
i2c: tegra: Use device name for adapter name
i2c: tegra: Simplify I2C resume
i2c: tegra: Add runtime power-management support
i2c: tegra: Add pinctrl support
i2c: tegra: Fix assignment of boolean variables

Josà Roberto de Souza (1):
i2c: designware: wait for disable/enable only if necessary

Lucas De Marchi (3):
i2c: designware: add common functions for locking
i2c: designware: detect when dynamic tar update is possible
i2c: designware: do not disable adapter after transfer

Masahiro Yamada (4):
i2c: uniphier: avoid WARN_ON() of clk_disable() in failure path
i2c: uniphier-f: avoid WARN_ON() of clk_disable() in failure path
i2c: uniphier-f: set the adapter to master mode when probing
i2c: uniphier-f: fix misdetection of incomplete STOP condition

Mika Westerberg (1):
i2c / ACPI: Do not touch an I2C device if it belongs to another adapter

Neil Armstrong (1):
i2c: meson: add gxbb compatible string

Peter Rosin (10):
i2c: add i2c_trylock_bus wrapper, use it
dt-bindings: i2c: add support for 'i2c-mux' subnode
dt-bindings: i2c: add support for 'i2c-arb' subnode
dt-bindings: i2c: add support for 'i2c-gate' subnode
dt-bindings: i2c: add bindings for nxp,pca9541
i2c: mux: add support for 'i2c-mux', 'i2c-arb' and 'i2c-gate' DT subnodes
i2c: mux: inform the i2c mux core about how it is used
i2c: pca9541: add device tree binding
i2c: pca954x: add device tree binding
i2c: move locking operations to their own struct

Shardar Shariff Md (5):
i2c: tegra: use readl_poll_timeout after config_load reg programmed
i2c: tegra: If fifo flush fails return error
i2c: tegra: add separate function for config_load programing
i2c: tegra: use atomic poll function during configuration
i2c: tegra: proper handling of error cases

Ulrich Hecht (1):
i2c: rcar: add support for r8a7796 (R-Car M3-W)

Weifeng Voon (5):
i2c: designware: Move clk_freq into struct dw_i2c_dev
i2c: designware: get fast plus and high speed *CNT configuration
i2c: designware: Enable fast mode plus
i2c: designware: set the common config before the if else
i2c: designware: Enable high speed mode

Wolfram Sang (4):
i2c: don't print error when adding adapter fails
i2c: uniphier{-f}: don't print error when adding adapter fails
Merge branch 'i2c-mux-dt-3' of https://github.com/peda-r/i2c-mux into i2c/for-4.9
gpio: pca953x: variable 'id' was used twice

Yang Li (1):
i2c: imx: make bus recovery through pinctrl optional

.../bindings/i2c/i2c-arb-gpio-challenge.txt | 8 +-
Documentation/devicetree/bindings/i2c/i2c-arb.txt | 35 +
Documentation/devicetree/bindings/i2c/i2c-gate.txt | 41 +
.../devicetree/bindings/i2c/i2c-meson.txt | 2 +-
Documentation/devicetree/bindings/i2c/i2c-mux.txt | 23 +-
Documentation/devicetree/bindings/i2c/i2c-rcar.txt | 1 +
.../devicetree/bindings/i2c/nxp,pca9541.txt | 29 +
MAINTAINERS | 10 +
drivers/gpio/gpio-pca953x.c | 16 +-
drivers/gpu/drm/drm_dp_helper.c | 10 +-
drivers/i2c/busses/Kconfig | 13 +-
drivers/i2c/busses/Makefile | 3 +
drivers/i2c/busses/i2c-amd756.c | 5 +-
drivers/i2c/busses/i2c-at91.c | 2 -
drivers/i2c/busses/i2c-axxia.c | 8 +-
drivers/i2c/busses/i2c-bcm-iproc.c | 8 +-
drivers/i2c/busses/i2c-bcm-kona.c | 4 +-
drivers/i2c/busses/i2c-bfin-twi.c | 4 +-
drivers/i2c/busses/i2c-brcmstb.c | 4 +-
drivers/i2c/busses/i2c-cadence.c | 4 +-
drivers/i2c/busses/i2c-cpm.c | 4 +-
drivers/i2c/busses/i2c-cros-ec-tunnel.c | 4 +-
drivers/i2c/busses/i2c-davinci.c | 4 +-
drivers/i2c/busses/i2c-designware-core.c | 196 +++-
drivers/i2c/busses/i2c-designware-core.h | 12 +
drivers/i2c/busses/i2c-designware-platdrv.c | 43 +-
drivers/i2c/busses/i2c-diolan-u2c.c | 4 +-
drivers/i2c/busses/i2c-dln2.c | 4 +-
drivers/i2c/busses/i2c-efm32.c | 1 -
drivers/i2c/busses/i2c-exynos5.c | 4 +-
drivers/i2c/busses/i2c-hix5hd2.c | 4 +-
drivers/i2c/busses/i2c-i801.c | 5 +-
drivers/i2c/busses/i2c-ibm_iic.c | 4 +-
drivers/i2c/busses/i2c-img-scb.c | 4 +-
drivers/i2c/busses/i2c-imx.c | 35 +-
drivers/i2c/busses/i2c-isch.c | 4 +-
drivers/i2c/busses/i2c-ismt.c | 4 +-
drivers/i2c/busses/i2c-jz4780.c | 4 +-
drivers/i2c/busses/i2c-lpc2k.c | 4 +-
drivers/i2c/busses/i2c-meson.c | 2 +-
drivers/i2c/busses/i2c-mpc.c | 4 +-
drivers/i2c/busses/i2c-mt65xx.c | 4 +-
drivers/i2c/busses/i2c-mxs.c | 1 -
drivers/i2c/busses/i2c-nforce2.c | 1 -
drivers/i2c/busses/i2c-nomadik.c | 4 +-
drivers/i2c/busses/i2c-ocores.c | 4 +-
.../i2c/busses/{i2c-octeon.c => i2c-octeon-core.c} | 1084 ++++++--------------
drivers/i2c/busses/i2c-octeon-core.h | 216 ++++
drivers/i2c/busses/i2c-octeon-platdrv.c | 286 ++++++
drivers/i2c/busses/i2c-omap.c | 4 +-
drivers/i2c/busses/i2c-piix4.c | 1 -
drivers/i2c/busses/i2c-pmcmsp.c | 4 +-
drivers/i2c/busses/i2c-pnx.c | 4 +-
drivers/i2c/busses/i2c-puv3.c | 5 +-
drivers/i2c/busses/i2c-pxa.c | 4 +-
drivers/i2c/busses/i2c-rcar.c | 5 +-
drivers/i2c/busses/i2c-riic.c | 4 +-
drivers/i2c/busses/i2c-rk3x.c | 9 +-
drivers/i2c/busses/i2c-s3c2410.c | 1 -
drivers/i2c/busses/i2c-sh7760.c | 4 +-
drivers/i2c/busses/i2c-sh_mobile.c | 1 -
drivers/i2c/busses/i2c-sirf.c | 4 +-
drivers/i2c/busses/i2c-st.c | 4 +-
drivers/i2c/busses/i2c-stu300.c | 5 +-
drivers/i2c/busses/i2c-tegra.c | 279 +++--
drivers/i2c/busses/i2c-thunderx-pcidrv.c | 259 +++++
drivers/i2c/busses/i2c-uniphier-f.c | 106 +-
drivers/i2c/busses/i2c-uniphier.c | 78 +-
drivers/i2c/busses/i2c-wmt.c | 4 +-
drivers/i2c/busses/i2c-xgene-slimpro.c | 1 -
drivers/i2c/busses/i2c-xiic.c | 1 -
drivers/i2c/busses/i2c-xlp9xx.c | 4 +-
drivers/i2c/busses/i2c-xlr.c | 4 +-
drivers/i2c/i2c-core.c | 272 +++--
drivers/i2c/i2c-mux.c | 73 +-
drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 2 +-
drivers/i2c/muxes/i2c-mux-pca9541.c | 11 +-
drivers/i2c/muxes/i2c-mux-pca954x.c | 46 +-
drivers/misc/eeprom/at24.c | 15 +-
include/linux/i2c-mux.h | 8 +-
include/linux/i2c.h | 47 +-
include/linux/lockdep.h | 4 +-
82 files changed, 2121 insertions(+), 1332 deletions(-)
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-arb.txt
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-gate.txt
create mode 100644 Documentation/devicetree/bindings/i2c/nxp,pca9541.txt
rename drivers/i2c/busses/{i2c-octeon.c => i2c-octeon-core.c} (56%)
create mode 100644 drivers/i2c/busses/i2c-octeon-core.h
create mode 100644 drivers/i2c/busses/i2c-octeon-platdrv.c
create mode 100644 drivers/i2c/busses/i2c-thunderx-pcidrv.c

Attachment: signature.asc
Description: PGP signature