[PULL v2][SRU Xenial] Support IPMI system interface for Cavium ThunderX

dann frazier dann.frazier at canonical.com
Fri May 19 15:41:30 UTC 2017

[This is the same text as the Yakkety PR, so you don't need to read it twice :)]

This corrects the LP Bug ID # from v1.

This is a set of cherry picks from upstream that introduces the
i2c-thunderx driver, which is required to access the IPMI system
interface (/dev/ipmi0) on Cavium ThunderX.  The series starts by
refactoring the i2c-octeon driver before introducing the new one since
they share common code. i2c-octeon is only applicable to Cavium
MIPS-based platforms, so it isn't a regression risk to Ubuntu

All of the changes necessary to get us in-sync with zesty were
isolated to these drivers, so I did a kitchen-sink backport. This
means it includes some low-priority changes (code cleanup/docs) but,
since this is effectively new code for us, that seemed like the
lowest-risk and most maintainable approach.

Tested on a Cavium CRB1S.

BugLink: https://bugs.launchpad.net/bugs/1688132

The following changes since commit 7b8ea7510aaa0aca1ddc4f7ba42cfb32d76a64f2:

  UBUNTU: Ubuntu-4.4.0-79.100 (2017-05-17 16:49:45 +0200)

are available in the git repository at:

  git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux thunderx-ipmi-x

for you to fetch changes up to 90d68803c88723bafdc46a925db066350e95a1c8:

  i2c: thunderx: Enable HWMON class probing (2017-05-19 09:17:07 -0600)

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

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

Jan Glauber (27):
      i2c: octeon: Cleanup kerneldoc comments
      i2c: octeon: Cleanup i2c-octeon driver
      i2c: octeon: Cleanup resource allocation code
      i2c: octeon: Increase retry default and use fixed timeout value
      i2c: octeon: Move set-clock and init-lowlevel upward
      i2c: octeon: Rename [read|write]_sw to reg_[read|write]
      i2c: octeon: Introduce helper functions for register access
      i2c: octeon: Remove superfluous check in octeon_i2c_test_iflg
      i2c: octeon: Improve error status checking
      i2c: octeon: Use i2c recovery framework
      i2c: octeon: Add support for cn78xx chips
      i2c: octeon: Remove zero-length message support
      i2c: octeon: Missing AAK flag in case of I2C_M_RECV_LEN
      i2c: octeon: Avoid printk after too long SMBUS message
      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: TWSI software reset in recovery
      i2c: octeon: thunderx: Remove double-check after interrupt
      i2c: octeon: thunderx: Limit register access retries
      i2c: thunderx: Enable HWMON class probing

Peter Swain (2):
      i2c: octeon: Add flush writeq helper function
      i2c: octeon: Improve performance if interrupt is early

dann frazier (1):

 .../devicetree/bindings/i2c/i2c-octeon.txt         |   6 +
 MAINTAINERS                                        |   8 +
 debian.master/config/annotations                   |   2 +
 debian.master/config/config.common.ubuntu          |   1 +
 drivers/i2c/busses/Kconfig                         |  11 +
 drivers/i2c/busses/Makefile                        |   3 +
 drivers/i2c/busses/i2c-octeon-core.c               | 791 +++++++++++++++++++++
 drivers/i2c/busses/i2c-octeon-core.h               | 222 ++++++
 drivers/i2c/busses/i2c-octeon-platdrv.c            | 288 ++++++++
 drivers/i2c/busses/i2c-octeon.c                    | 633 -----------------
 drivers/i2c/busses/i2c-thunderx-pcidrv.c           | 260 +++++++
 11 files changed, 1592 insertions(+), 633 deletions(-)
 create mode 100644 drivers/i2c/busses/i2c-octeon-core.c
 create mode 100644 drivers/i2c/busses/i2c-octeon-core.h
 create mode 100644 drivers/i2c/busses/i2c-octeon-platdrv.c
 delete mode 100644 drivers/i2c/busses/i2c-octeon.c
 create mode 100644 drivers/i2c/busses/i2c-thunderx-pcidrv.c

More information about the kernel-team mailing list