From patchwork Tue Aug 25 11:05:02 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Fetzer X-Patchwork-Id: 510453 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 B834F140295 for ; Tue, 25 Aug 2015 21:05:47 +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=ScRa/Hpk; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755145AbbHYLFk (ORCPT ); Tue, 25 Aug 2015 07:05:40 -0400 Received: from mail-wi0-f181.google.com ([209.85.212.181]:33140 "EHLO mail-wi0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755760AbbHYLFh (ORCPT ); Tue, 25 Aug 2015 07:05:37 -0400 Received: by wijp15 with SMTP id p15so12006235wij.0 for ; Tue, 25 Aug 2015 04:05:36 -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=L3T+bOZaq5Its0sCCYz86icLewIluU4WKBxJDzv3/60=; b=ScRa/HpkOD0+0UYCwCohQOZiedFJTyTF0Z8MJQ9z/EmGXfpw0a1sLk5Kp4sUfhosUO i4aljRET1GTRVdMIonl31WJWW2lOvo+fq26oAtVAMFtTQm/E4IQg1bRYHYdcNJUSX/kO dlaw83ndoDzbvXTjCDF/JXYOiqwabgRvWdzXe1FqnoV8ZjNu3DA+4ljJTdwxCGAfdDb+ xISIF1Z55dCovpQShR0eCp0KpURKByC1Y22px9HRMUoQRECAja3w3pvw0j6115LfFT1+ 2HY2vZSSyufmignAsAhDiES0hHPo7ztI8ZzdjxBdH1qoS4t3mAn/XQuDBl+3qdf7EDXe +UWw== X-Received: by 10.180.37.201 with SMTP id a9mr3816073wik.83.1440500735987; Tue, 25 Aug 2015 04:05:35 -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.34 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 25 Aug 2015 04:05:34 -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 1/4] i2c-piix4: Optionally release smba in piix4_adap_remove Date: Tue, 25 Aug 2015 13:05:02 +0200 Message-Id: <1440500705-2288-2-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 is in preparation to support the multiplexed SMBus main controller in the SB800 chipset where the controller address is shared among the four multiplexed ports. As such the address region should be only freed for the first multiplexed adapter to avoid double free warnings. Signed-off-by: Christian Fetzer --- drivers/i2c/busses/i2c-piix4.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index 630bce6..97d2165 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -660,13 +660,14 @@ static int piix4_probe(struct pci_dev *dev, const struct pci_device_id *id) return 0; } -static void piix4_adap_remove(struct i2c_adapter *adap) +static void piix4_adap_remove(struct i2c_adapter *adap, int free_smba) { struct i2c_piix4_adapdata *adapdata = i2c_get_adapdata(adap); if (adapdata->smba) { i2c_del_adapter(adap); - release_region(adapdata->smba, SMBIOSIZE); + if (free_smba) + release_region(adapdata->smba, SMBIOSIZE); kfree(adapdata); kfree(adap); } @@ -675,12 +676,12 @@ static void piix4_adap_remove(struct i2c_adapter *adap) static void piix4_remove(struct pci_dev *dev) { if (piix4_main_adapter) { - piix4_adap_remove(piix4_main_adapter); + piix4_adap_remove(piix4_main_adapter, 1); piix4_main_adapter = NULL; } if (piix4_aux_adapter) { - piix4_adap_remove(piix4_aux_adapter); + piix4_adap_remove(piix4_aux_adapter, 1); piix4_aux_adapter = NULL; } }