Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751666AbdGZRN2 (ORCPT ); Wed, 26 Jul 2017 13:13:28 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:56173 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751646AbdGZRN0 (ORCPT ); Wed, 26 Jul 2017 13:13:26 -0400 From: Eddie James To: linux-kernel@vger.kernel.org Cc: linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, wsa@the-dreams.de, robh+dt@kernel.org, jk@ozlabs.org, joel@jms.id.au, andrew@aj.id.au, cbostic@linux.vnet.ibm.com, eajames@linux.vnet.ibm.com, "Edward A. James" Subject: [PATCH v5 0/6] drivers/i2c: Add FSI-attached I2C master algorithm Date: Wed, 26 Jul 2017 12:13:12 -0500 X-Mailer: git-send-email 1.8.3.1 X-TM-AS-GCONF: 00 x-cbid: 17072617-0008-0000-0000-0000084DB7C7 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00007430; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000214; SDB=6.00893242; UDB=6.00446543; IPR=6.00673406; BA=6.00005492; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016390; XFM=3.00000015; UTC=2017-07-26 17:13:24 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17072617-0009-0000-0000-00004344B816 Message-Id: <1501089198-10356-1-git-send-email-eajames@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-07-26_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1706020000 definitions=main-1707260249 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1573 Lines: 35 From: "Edward A. James" This series adds an algorithm for an I2C master physically located on an FSI slave device. The I2C master has multiple ports, each of which may be connected to an I2C slave. Access to the I2C master registers is achieved over FSI bus. Due to the multi-port nature of the I2C master, the driver instantiates a new I2C adapter for each port connected to a slave. The connected ports should be defined in the device tree under the I2C master device. Changes since v4: - Add SMBUS flags to functionality mask. - Improve probing by continuing parsing the dt if we fail one adapter registration. Also don't fail for ENOMEM, as we may have registered some ports already. - Fix remove() by checking for empty list before iterating. Edward A. James (6): drivers/i2c: Add FSI-attached I2C master algorithm drivers/i2c: Add port structure to FSI algorithm drivers/i2c: Add transfer implementation for FSI algorithm drivers/i2c: Add I2C master locking to FSI algorithm drivers/i2c: Add bus recovery for FSI algorithm dt-bindings: i2c: Add FSI-attached I2C master dt binding documentation Documentation/devicetree/bindings/i2c/i2c-fsi.txt | 40 ++ drivers/i2c/busses/Kconfig | 11 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-fsi.c | 643 ++++++++++++++++++++++ 4 files changed, 695 insertions(+) create mode 100644 Documentation/devicetree/bindings/i2c/i2c-fsi.txt create mode 100644 drivers/i2c/busses/i2c-fsi.c -- 1.8.3.1