|
|
Log in / Subscribe / Register

drivers: fsi: Add SBEFIFO and OCC drivers

From:  Eddie James <eajames-AT-linux.vnet.ibm.com>
To:  linux-kernel-AT-vger.kernel.org
Subject:  [PATCH v3 0/6] drivers: fsi: Add SBEFIFO and OCC drivers
Date:  Fri, 22 Sep 2017 16:05:56 -0500
Message-ID:  <1506114362-492-1-git-send-email-eajames@linux.vnet.ibm.com>
Cc:  gregkh-AT-linuxfoundation.org, devicetree-AT-vger.kernel.org, robh+dt-AT-kernel.org, mark.rutland-AT-arm.com, bradleyb-AT-fuzziesquirrel.com, jk-AT-ozlabs.org, cbostic-AT-linux.vnet.ibm.com, joel-AT-jms.id.au, andrew-AT-aj.id.au, eajames-AT-linux.vnet.ibm.com, "Edward A. James" <eajames-AT-us.ibm.com>

From: "Edward A. James" <eajames@us.ibm.com>

This series adds two FSI-based device drivers. The OCC driver is dependent on
the SBEFIFO driver, as a user of it's in-kernel API. The in-kernel API provided
by the OCC driver will be used by a hwmon driver (on the lkml as "Add On-Chip
Controller (OCC) hwmon driver").

Changes since v2:
 * Rename occ.c and occ.h to fsi-occ.c and fsi-occ.h
 * Improved remove() ordering in both drivers.
 * Added cancel functionality to OCC driver to make sure no xfrs started during
   remove().
 * Fix spin_unlock with spin_unlock_irq in OCC driver.
 * Fix list_first_entry with list_first_entry_or_null in OCC worker function.
 * Add OCC response definitions to OCC include file.
 * Handle probe() failures better.

Changes since v1:
 * Split bindings into separate patch and added SBEFIFO device binding
 * Fixed #includes
 * Fix SBEFIFO race condition between write() and poll_timer().
 * Followed Rob's suggestion to just create one platform device for hwmon
   driver, instead of using the device tree.
 * Also check for "command in progress" response from OCC and try a while

Edward A. James (6):
  dt-bindings: fsi: Add SBEFIFO documentation
  drivers: fsi: Add SBEFIFO FSI client device driver
  drivers: fsi: sbefifo: Add in-kernel API
  dt-bindings: fsi: Add OCC documentation
  drivers: fsi: Add On-Chip Controller (OCC) driver
  drivers: fsi: occ: Add in-kernel API

 .../devicetree/bindings/fsi/ibm,p9-occ.txt         |  15 +
 .../devicetree/bindings/fsi/ibm,p9-sbefifo.txt     |  20 +
 drivers/fsi/Kconfig                                |  17 +
 drivers/fsi/Makefile                               |   2 +
 drivers/fsi/fsi-occ.c                              | 851 ++++++++++++++++++
 drivers/fsi/fsi-sbefifo.c                          | 956 +++++++++++++++++++++
 include/linux/fsi-occ.h                            |  41 +
 include/linux/fsi-sbefifo.h                        |  30 +
 8 files changed, 1932 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/fsi/ibm,p9-occ.txt
 create mode 100644 Documentation/devicetree/bindings/fsi/ibm,p9-sbefifo.txt
 create mode 100644 drivers/fsi/fsi-occ.c
 create mode 100644 drivers/fsi/fsi-sbefifo.c
 create mode 100644 include/linux/fsi-occ.h
 create mode 100644 include/linux/fsi-sbefifo.h

-- 
1.8.3.1



Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds