From patchwork Tue Aug 25 11:05:05 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Fetzer X-Patchwork-Id: 510455 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id E52A5140295 for ; Tue, 25 Aug 2015 21:05:48 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=baFOuxU7; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755768AbbHYLFn (ORCPT ); Tue, 25 Aug 2015 07:05:43 -0400 Received: from mail-wi0-f179.google.com ([209.85.212.179]:35432 "EHLO mail-wi0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755760AbbHYLFl (ORCPT ); Tue, 25 Aug 2015 07:05:41 -0400 Received: by wicne3 with SMTP id ne3so11505053wic.0 for ; Tue, 25 Aug 2015 04:05:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=3J34ZwSpbf0a1dr/u0Hr5XHzcSt8iTsDdoK9X5dt00I=; b=baFOuxU7iFTZbFcGIcwDoe0AxrKElwDzK2FVo4jwY4o2AhAGFKyy9OtQznnZeq08eg b02QH4wf3eJE0C+jtP6pW10pYSwSVK/33/aZUByhEe30Cgu8boXaqZp4B4YhekELUEJR FJwtPsk7NaG9+29uG+9Jgx/ukausrUjVlKysmUhFZICKEZMHmbl1f4AJMCYidMAzlwLw aydvK4/tHDdJW2PdeET409U5M281f5bWvVFb/pFkYQoVTDD34jJ375NXG2TFtEFc5mHX V+jO19/tHO6X61470mXftHjOL9b0DaoVjpX66ucqI5fCqSkkNj73ra6SPzkAk+WZE6zl cOKw== X-Received: by 10.181.13.241 with SMTP id fb17mr3927440wid.13.1440500740755; Tue, 25 Aug 2015 04:05:40 -0700 (PDT) Received: from localhost.localdomain (p5B21D971.dip0.t-ipconnect.de. [91.33.217.113]) by smtp.gmail.com with ESMTPSA id wx9sm26581128wjb.6.2015.08.25.04.05.38 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 25 Aug 2015 04:05:39 -0700 (PDT) From: Christian Fetzer To: linux-i2c@vger.kernel.org Cc: tbrandonau@gmail.com, eddi@depieri.net, galandilias@gmail.com, Christian Fetzer Subject: [PATCH 4/4] i2c-piix4: Add adapter port name support for SB800 chipset Date: Tue, 25 Aug 2015 13:05:05 +0200 Message-Id: <1440500705-2288-5-git-send-email-fetzer.ch@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1440500705-2288-1-git-send-email-fetzer.ch@gmail.com> References: <1440500705-2288-1-git-send-email-fetzer.ch@gmail.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org This patch adds support for port names for the SB800 chipset. Since the chipset supports a multiplexed main SMBus controller, adding the channel name to the adapter name is necessary to differentiate the ports better (for example in sensors output). Signed-off-by: Christian Fetzer --- drivers/i2c/busses/i2c-piix4.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index e344abd..366878e 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -131,6 +131,10 @@ static const struct dmi_system_id piix4_dmi_ibm[] = { /* SB800 globals */ DEFINE_MUTEX(piix4_mutex_sb800); +static const char *piix4_main_port_names_sb800[4] = { + "SDA0", "SDA2", "SDA3", "SDA4" +}; +static const char *piix4_aux_port_name_sb800 = "SDA1"; struct i2c_piix4_adapdata { unsigned short smba; @@ -626,7 +630,7 @@ static struct i2c_adapter *piix4_main_adapters[PIIX4_MAX_ADAPTERS]; static struct i2c_adapter *piix4_aux_adapter; static int piix4_add_adapter(struct pci_dev *dev, unsigned short smba, - struct i2c_adapter **padap) + const char *name, struct i2c_adapter **padap) { struct i2c_adapter *adap; struct i2c_piix4_adapdata *adapdata; @@ -655,7 +659,7 @@ static int piix4_add_adapter(struct pci_dev *dev, unsigned short smba, adap->dev.parent = &dev->dev; snprintf(adap->name, sizeof(adap->name), - "SMBus PIIX4 adapter at %04x", smba); + "SMBus PIIX4 adapter %s at %04x", name, smba); i2c_set_adapdata(adap, adapdata); @@ -679,7 +683,9 @@ static int piix4_add_adapters_sb800(struct pci_dev *dev, unsigned short smba) struct i2c_piix4_adapdata *adapdata; for (port = 0; port < PIIX4_MAX_ADAPTERS; port++) { - retval = piix4_add_adapter(dev, smba, &piix4_main_adapters[port]); + retval = piix4_add_adapter(dev, smba, + piix4_main_port_names_sb800[port], + &piix4_main_adapters[port]); if (retval < 0) goto ERROR; @@ -729,7 +735,8 @@ static int piix4_probe(struct pci_dev *dev, const struct pci_device_id *id) return retval; /* Try to register main SMBus adapter, give up if we can't */ - retval = piix4_add_adapter(dev, retval, &piix4_main_adapters[0]); + retval = piix4_add_adapter(dev, retval, "", + &piix4_main_adapters[0]); } /* If no main SMBus found, give up */ @@ -757,7 +764,8 @@ static int piix4_probe(struct pci_dev *dev, const struct pci_device_id *id) if (retval > 0) { /* Try to add the aux adapter if it exists, * piix4_add_adapter will clean up if this fails */ - piix4_add_adapter(dev, retval, &piix4_aux_adapter); + piix4_add_adapter(dev, retval, piix4_aux_port_name_sb800, + &piix4_aux_adapter); } return 0;