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

Colin Ian King colin.king at canonical.com
Tue May 23 08:13:16 UTC 2017


On 19/05/17 16:41, dann frazier wrote:
> [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
> (-ENOPORT).
> 
> 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):
>       UBUNTU: [Config] CONFIG_I2C_THUNDERX=m
> 
>  .../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
> 
Limited regression risk, good test results. Thanks Dann.

Acked-by: Colin Ian King <colin.king at canonical.com>




More information about the kernel-team mailing list