Linus, I2C has the following changes for you: * new flag to mark DMA safe buffers in i2c_msg. Also, some infrastructure around it. And docs. * huge refactoring of the at24 driver led by the new maintainer Bartosz * update I2C bus recovery to send STOP after recovery * conversion from gpio to gpiod for I2C bus recovery * adding a fault-injector to the i2c-gpio driver * lots of small driver improvements, and bigger ones to i2c-sh_mobile There was a small merge conflict in MAINTAINERS in linux-next, but that should be easy to fix. Please pull. Thanks, Wolfram The following changes since commit 30a7acd573899fd8b8ac39236eff6468b195ac7d: Linux 4.15-rc6 (2017-12-31 14:47:43 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-4.16 for you to fetch changes up to e38c85644e11c6dc5a39305c96b617f63403423d: i2c: mv64xxx: Add myself as maintainer for this driver (2018-01-26 18:51:29 +0100) ---------------------------------------------------------------- Adrian Fiergolski (1): i2c: mux: pca954x: add support for NXP PCA984x family Andrzej Hajda (1): i2c: exynos5: change internal transmission timeout to 100ms Andy Shevchenko (1): i2c: ismt: Use %pad specifier for dma_addr_t variables Arnd Bergmann (1): i2c: acorn: add MODULE_LICENSE tag Arseny Solokha (4): i2c: mpc: get MPC8xxx I2C clock prescaler before using it in calculations i2c: mpc: unify obtaining the MPC8533/44 I2C clock prescaler w/ MPC8xxx i2c: mpc: fix PORDEVSR2 mask for MPC8533/44 i2c: mpc: always determine I2C clock prescaler at runtime Bartosz Golaszewski (12): MAINTAINERS: add git URL for at24 eeprom: at24: fix coding style issues eeprom: at24: use a common prefix for all symbols in at24.c eeprom: at24: code shrink dt-bindings: at24: new optional property - wp-gpios eeprom: at24: add support for the write-protect pin eeprom: at24: fix a whitespace error in platform data dt-bindings: at24: consistently document the compatible property dt-bindings: at24: fix formatting and style dt-bindings: at24: extend the list of supported chips eeprom: at24: extend the list of chips supported in DT i2c: davinci: fix the cpufreq transition Fugang Duan (1): i2c: imx-lpi2c: add runtime pm support Gregory CLEMENT (3): i2c: mv64xxx: Remove useless test before clk_disable_unprepare i2c: mv64xxx: Fix clock resource by adding an optional bus clock i2c: mv64xxx: Add myself as maintainer for this driver Gustavo A. R. Silva (1): i2c: mxs: use true and false for boolean values Heiner Kallweit (7): eeprom: at24: add basic regmap_i2c support eeprom: at24: change at24_translate_offset return type eeprom: at24: add regmap-based write function eeprom: at24: remove old write functions eeprom: at24: add regmap-based read function eeprom: at24: remove old read functions eeprom: at24: remove now unneeded smbus-related code Jan Kundr??t (1): i2c: gpio: Enable working over slow can_sleep GPIOs Jarkko Nikula (1): i2c: designware: Don't set SCL timings and speed mode when in slave mode Jian Hu (2): dt-bindings: i2c: update documentation for the Meson-AXG i2c: meson: add configurable divider factors Julia Lawall (1): i2c: rk3x: account for const type of of_device_id.data Jun Gao (3): dt-bindings: i2c: Add MediaTek MT2712 i2c binding i2c: mediatek: Add i2c compatible for MediaTek MT2712 i2c: mediatek: Enable i2c module clock before i2c registers access. Linus Walleij (2): i2c: imx: Include the right GPIO header i2c/ARM: davinci: Deep refactoring of I2C recovery Phil Reid (8): i2c: Switch to using gpiod interface for gpio bus recovery i2c: designware: move i2c_dw_plat_prepare_clk to common i2c: designware: rename i2c_dw_plat_prepare_clk to i2c_dw_prepare_clk i2c: imx: switch to using gpiod for bus recovery gpios i2c: davinci: switch to using gpiod for bus recovery gpios i2c: remove legacy integer scl/sda gpio for recovery i2c: core: fix compile issue related to incorrect gpio header i2c: designware: fix building driver as module Radu Rendec (2): i2c: ismt: dump registers at the end of transactions i2c: ismt: 16-byte align the DMA buffer address Stefan Lengfeld (1): i2c: use macro IS_ENABLED in header i2c.h Sven Van Asbroeck (4): dt-bindings: add eeprom "no-read-rollover" property eeprom: at24: support eeproms that do not auto-rollover reads eeprom: at24: convert magic numbers to structs eeprom: at24: remove temporary fix for at24mac402 size Tim Sander (1): i2c: designware: add i2c gpio recovery option Tomasz Bachorski (1): i2c: mux: reg: don't log an error for probe deferral Wolfram Sang (41): i2c: sh_mobile: remove redundant initialization i2c: sh_mobile: remove redundant deinitialization i2c: sh_mobile: manually "inline" two short functions i2c: sh_mobile: use direct writes when accessing ICE bit i2c: sh_mobile: shorten exit of xfer routine i2c: sh_mobile: let RuntimePM do the clock handling i2c: sh_mobile: avoid unnecessary register read i2c: sh_mobile: send STOP according to datasheet i2c: sh_mobile: make sure to not accidently trigger STOP i2c: gpio: add fault injector i2c: add a message flag for DMA safe buffers i2c: add helpers to ease DMA handling i2c: dev: mark RDWR buffers as DMA_SAFE i2c: refactor i2c_master_{send_recv} i2c: add i2c_master_{send|recv}_dmasafe i2c: smbus: use DMA safe buffers for emulated SMBus transactions i2c: add docs to clarify DMA handling i2c: sh_mobile: use core helper to decide when to use DMA i2c: rcar: skip DMA if buffer is not safe i2c: imx: use proper GPIO directions for recovery i2c: algo-bit: init the bus to a known state Merge branch 'i2c-mux/for-next' of https://github.com/peda-r/i2c-mux into i2c/for-4.16 dt-bindings: eeprom: rename to at24.txt MAINTAINERS: add DT binding docs for AT24 Merge tag 'at24-4.16-updates-for-wolfram' of git://git.kernel.org/.../brgl/linux into i2c/for-4.16 i2c: sh_mobile: move type detection upwards i2c: sh_mobile: allow setup callback to return errno i2c: sh_mobile: require setup callback i2c: sh_mobile: let RuntimePM do the clock handling i2c: sh_mobile: add helper to check frequency calculations i2c: sh_mobile: add new frequency calculation for later SoC i2c: sh_mobile: let r8a7790 (R-Car H2) use the new formula i2c: make kerneldoc about bus recovery more precise i2c: add identifier in declarations for i2c_bus_recovery i2c: add 'set_sda' to bus_recovery_info i2c: ensure SDA is released in recovery if SDA is controllable i2c: send STOP after successful bus recovery i2c: rcar: implement bus recovery i2c: acorn: remove outdated path from file header i2c: rk3x: add proper kerneldoc header i2c: rcar: fix some trivial typos in comments Yixun Lan (1): i2c: meson: update doc description to fix build warnings with much appreciated quality assurance from ---------------------------------------------------------------- Andy Shevchenko (9): (Rev.) eeprom: at24: add support for the write-protect pin (Rev.) dt-bindings: at24: new optional property - wp-gpios (Rev.) i2c: remove legacy integer scl/sda gpio for recovery (Rev.) i2c: davinci: switch to using gpiod for bus recovery gpios (Rev.) i2c: imx: switch to using gpiod for bus recovery gpios (Rev.) i2c: designware: add i2c gpio recovery option (Rev.) i2c: designware: rename i2c_dw_plat_prepare_clk to i2c_dw_prepare_clk (Rev.) i2c: designware: move i2c_dw_plat_prepare_clk to common (Rev.) i2c: Switch to using gpiod interface for gpio bus recovery David Lechner (1): (Test) i2c: davinci: fix the cpufreq transition Fabio Estevam (1): (Rev.) i2c: imx: Include the right GPIO header Heiko Stuebner (2): (Rev.) i2c: rk3x: add proper kerneldoc header (Rev.) i2c: rk3x: account for const type of of_device_id.data Jacopo Mondi (4): (Test) i2c: sh_mobile: make sure to not accidently trigger STOP (Test) i2c: sh_mobile: send STOP according to datasheet (Test) i2c: sh_mobile: avoid unnecessary register read (Test) i2c: sh_mobile: let RuntimePM do the clock handling Jarkko Nikula (3): (Rev.) i2c: core: fix compile issue related to incorrect gpio header (Rev.) i2c: remove legacy integer scl/sda gpio for recovery (Rev.) i2c: Switch to using gpiod interface for gpio bus recovery Javier Martinez Canillas (3): (Rev.) eeprom: at24: extend the list of chips supported in DT (Rev.) dt-bindings: at24: extend the list of supported chips (Rev.) dt-bindings: at24: fix formatting and style Jonathan Cameron (8): (Rev.) i2c: rcar: skip DMA if buffer is not safe (Rev.) i2c: sh_mobile: use core helper to decide when to use DMA (Rev.) i2c: add docs to clarify DMA handling (Rev.) i2c: smbus: use DMA safe buffers for emulated SMBus transactions (Rev.) i2c: refactor i2c_master_{send_recv} (Rev.) i2c: dev: mark RDWR buffers as DMA_SAFE (Rev.) i2c: add helpers to ease DMA handling (Rev.) i2c: add a message flag for DMA safe buffers Linus Walleij (1): (Rev.) i2c: add 'set_sda' to bus_recovery_info Luis Oliveira (1): (Test) i2c: designware: Don't set SCL timings and speed mode when in slave mode Mauro Carvalho Chehab (1): (Rev.) i2c: add docs to clarify DMA handling Neil Armstrong (1): (Rev.) i2c: meson: add configurable divider factors Niklas S??derlund (1): (Rev.) i2c: sh_mobile: send STOP according to datasheet Phil Reid (6): (Test) i2c: send STOP after successful bus recovery (Test) i2c: ensure SDA is released in recovery if SDA is controllable (Test) i2c: add 'set_sda' to bus_recovery_info (Test) i2c: add identifier in declarations for i2c_bus_recovery (Test) i2c: make kerneldoc about bus recovery more precise (Rev.) i2c: imx: use proper GPIO directions for recovery Rob Herring (9): (Rev.) dt-bindings: i2c: Add MediaTek MT2712 i2c binding (Rev.) dt-bindings: at24: extend the list of supported chips (Rev.) dt-bindings: at24: fix formatting and style (Rev.) dt-bindings: at24: consistently document the compatible property (Rev.) dt-bindings: at24: new optional property - wp-gpios (Rev.) dt-bindings: add eeprom "no-read-rollover" property (Rev.) MAINTAINERS: add DT binding docs for AT24 (Rev.) dt-bindings: eeprom: rename to at24.txt (Rev.) i2c: mux: pca954x: add support for NXP PCA984x family Sekhar Nori (3): (Rev.) i2c: davinci: fix the cpufreq transition (Test) i2c/ARM: davinci: Deep refactoring of I2C recovery (Rev.) i2c: davinci: switch to using gpiod for bus recovery gpios Documentation/devicetree/bindings/eeprom/at24.txt | 78 +++ .../devicetree/bindings/eeprom/eeprom.txt | 47 -- .../devicetree/bindings/i2c/i2c-meson.txt | 6 +- Documentation/devicetree/bindings/i2c/i2c-mtk.txt | 1 + .../devicetree/bindings/i2c/i2c-mux-pca954x.txt | 13 +- .../devicetree/bindings/i2c/i2c-mv64xxx.txt | 20 + Documentation/i2c/DMA-considerations | 67 ++ Documentation/i2c/gpio-fault-injection | 54 ++ MAINTAINERS | 8 + arch/arm/mach-davinci/board-dm355-evm.c | 15 +- arch/arm/mach-davinci/board-dm644x-evm.c | 15 +- drivers/i2c/algos/i2c-algo-bit.c | 5 + drivers/i2c/busses/Kconfig | 8 + drivers/i2c/busses/i2c-acorn.c | 8 +- drivers/i2c/busses/i2c-davinci.c | 37 +- drivers/i2c/busses/i2c-designware-common.c | 20 +- drivers/i2c/busses/i2c-designware-core.h | 2 + drivers/i2c/busses/i2c-designware-master.c | 57 ++ drivers/i2c/busses/i2c-designware-platdrv.c | 29 +- drivers/i2c/busses/i2c-designware-slave.c | 64 -- drivers/i2c/busses/i2c-exynos5.c | 2 +- drivers/i2c/busses/i2c-gpio.c | 122 +++- drivers/i2c/busses/i2c-imx-lpi2c.c | 68 +- drivers/i2c/busses/i2c-imx.c | 20 +- drivers/i2c/busses/i2c-ismt.c | 42 +- drivers/i2c/busses/i2c-meson.c | 34 +- drivers/i2c/busses/i2c-mpc.c | 57 +- drivers/i2c/busses/i2c-mt65xx.c | 40 +- drivers/i2c/busses/i2c-mv64xxx.c | 20 +- drivers/i2c/busses/i2c-mxs.c | 4 +- drivers/i2c/busses/i2c-rcar.c | 62 +- drivers/i2c/busses/i2c-rk3x.c | 17 +- drivers/i2c/busses/i2c-sh_mobile.c | 191 +++--- drivers/i2c/i2c-core-base.c | 212 +++--- drivers/i2c/i2c-core-smbus.c | 45 +- drivers/i2c/i2c-dev.c | 2 + drivers/i2c/muxes/Kconfig | 6 +- drivers/i2c/muxes/i2c-mux-pca954x.c | 38 +- drivers/i2c/muxes/i2c-mux-reg.c | 3 + drivers/misc/eeprom/Kconfig | 1 + drivers/misc/eeprom/at24.c | 731 +++++++-------------- include/linux/i2c.h | 112 +++- include/linux/platform_data/at24.h | 2 + include/linux/platform_data/i2c-davinci.h | 5 +- include/uapi/linux/i2c.h | 3 + 45 files changed, 1381 insertions(+), 1012 deletions(-) create mode 100644 Documentation/devicetree/bindings/eeprom/at24.txt delete mode 100644 Documentation/devicetree/bindings/eeprom/eeprom.txt create mode 100644 Documentation/i2c/DMA-considerations create mode 100644 Documentation/i2c/gpio-fault-injection
Attachment:
signature.asc
Description: PGP signature