[PULL,REQUEST] i2c for 4.16

Message ID 20180203223020.s6iph2oe7uphoz3q@ninjato
State Accepted
Headers show
Series
  • [PULL,REQUEST] i2c for 4.16
Related show

Pull-request

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

Message

Wolfram Sang Feb. 3, 2018, 10:30 p.m.
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

Comments

Linus Torvalds Feb. 4, 2018, 7:10 p.m. | #1
On Sat, Feb 3, 2018 at 2:30 PM, Wolfram Sang <wsa@the-dreams.de> wrote:
>
> There was a small merge conflict in MAINTAINERS in linux-next, but that
> should be easy to fix.

Well, that one wouldn't have happened at all if the i2c people knew
how to sort things..

It also grew a few other conflicts since linux-next, but hopefully I
got those right too.

              Linus