[PATCH v5 00/14] i2c-octeon and i2c-thunderx drivers

From: Jan Glauber
Date: Thu Mar 31 2016 - 06:32:25 EST

This series for the Octeon i2c driver is an attempt to upstream some
bug fixes and features that accumulated for some time.

On top of the Octeon changes a i2c driver for the ThunderX SOC is
added which uses the same functional block as the Octeon driver.

Patches #1-9 are forward-ports of Octeon features and bugfixes.
Patches #10-12 prepare for the driver split.
Patches #13-14 add the ThunderX driver.

Patches are on top of 4.6-rc1 and were tested on OCTEON, OCTEON-78
and ThunderX.

Changes to v4:
- Splitted the High-Level Controller patch into several patches
- Reworded some commit messages

Changes to v3:
- Added more functionality flags for SMBUS
- Removed both module parameters
- Make xfer return also other errors than EGAIN
- Return EPROTO on invalid SMBUS block length
- Use devm_ioremap_resource
- Added rename-only patch
- Removed kerneldoc patch from series
- Improved defines

Changes to v2:
- Split clenaup patch into several patches
- Strictly moved functional changes to later patches
- Fixed do-while checkpatch errors
- Moved defines to the patches that use them
- Use BIT_ULL macro
- Split ThunderX patch into 2 patches

Changes to v1:
- Fixed compile error on x86_64
- Disabled thunderx driver on MIPS
- Re-ordered some thunderx probe functions for readability
- Fix missing of_irq.h and i2c-smbus.h includes
- Use IS_ENABLED for CONFIG options



David Daney (3):
i2c: octeon: Enable High-Level Controller
i2c: octeon: Add support for cn78xx chips
i2c: octeon: Add workaround for broken irqs on CN3860

Jan Glauber (8):
i2c: octeon: Increase retry default and use fixed timeout value
i2c: octeon: Move set-clock and init-lowlevel upward
dt-bindings: i2c: Add Octeon cn78xx TWSI
i2c: octeon: Move read function before write
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

Peter Swain (3):
i2c: octeon: Improve error handling
i2c: octeon: Flush TWSI writes with readback
i2c: octeon: Faster operation when IFLG signals late

.../devicetree/bindings/i2c/i2c-octeon.txt | 6 +
drivers/i2c/busses/Kconfig | 10 +
drivers/i2c/busses/Makefile | 3 +
drivers/i2c/busses/i2c-cavium.c | 822 +++++++++++++++++++++
drivers/i2c/busses/i2c-cavium.h | 212 ++++++
drivers/i2c/busses/i2c-octeon-core.c | 283 +++++++
drivers/i2c/busses/i2c-octeon.c | 600 ---------------
drivers/i2c/busses/i2c-thunderx-core.c | 303 ++++++++
8 files changed, 1639 insertions(+), 600 deletions(-)
create mode 100644 drivers/i2c/busses/i2c-cavium.c
create mode 100644 drivers/i2c/busses/i2c-cavium.h
create mode 100644 drivers/i2c/busses/i2c-octeon-core.c
delete mode 100644 drivers/i2c/busses/i2c-octeon.c
create mode 100644 drivers/i2c/busses/i2c-thunderx-core.c