Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753547AbdCBOTn (ORCPT ); Thu, 2 Mar 2017 09:19:43 -0500 Received: from mga05.intel.com ([192.55.52.43]:6370 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752064AbdCBOTR (ORCPT ); Thu, 2 Mar 2017 09:19:17 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,231,1484035200"; d="scan'208";a="1117548807" Subject: Re: [RESEND PATCH v6 3/6] i2c: designware: MASTER mode as separated driver To: Luis Oliveira , wsa@the-dreams.de, robh+dt@kernel.org, mark.rutland@arm.com, andriy.shevchenko@linux.intel.com, mika.westerberg@linux.intel.com, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: Cc: Ramiro.Oliveira@synopsys.com, Joao.Pinto@synopsys.com, CARLOS.PALMINHA@synopsys.com From: Jarkko Nikula Message-ID: Date: Thu, 2 Mar 2017 15:41:26 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2913 Lines: 69 On 03/01/17 17:59, Luis Oliveira wrote: > - The functions related to I2C master mode of operation were transformed > in a single driver. > - Common definitions were moved to i2c-designware-core.h > - The i2c-designware-core is now only a library file, the functions > associated are in a source file called i2c-designware-common and > are used by both i2c-designware-master and i2c-designware-slave. > - To decrease noise in namespace common i2c_dw_*() functions are > now using ops to keep them private. > > Almost all of the "core" source is now part of the "master" source. The > difference is the functions used by both modes and they are in the > "common" source file. > > Signed-off-by: Luis Oliveira > Acked-by: Andy Shevchenko > --- > V5->V6 > - Now using ops > > drivers/i2c/busses/Makefile | 1 + > drivers/i2c/busses/i2c-designware-common.c | 274 +++++++++++++++ > drivers/i2c/busses/i2c-designware-core.h | 140 +++++++- > ...c-designware-core.c => i2c-designware-master.c} | 367 +-------------------- > drivers/i2c/busses/i2c-designware-platdrv.c | 6 +- > 5 files changed, 423 insertions(+), 365 deletions(-) > create mode 100644 drivers/i2c/busses/i2c-designware-common.c > rename drivers/i2c/busses/{i2c-designware-core.c => i2c-designware-master.c} (64%) > ... > diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h > index 1a010730be43..35d7264d9e3a 100644 > --- a/drivers/i2c/busses/i2c-designware-core.h > +++ b/drivers/i2c/busses/i2c-designware-core.h > @@ -40,6 +40,124 @@ ... > /** > * struct dw_i2c_dev - private i2c-designware data > @@ -125,15 +243,31 @@ struct dw_i2c_dev { > int (*acquire_lock)(struct dw_i2c_dev *dev); > void (*release_lock)(struct dw_i2c_dev *dev); > bool pm_runtime_disabled; > + void (*disable)(struct dw_i2c_dev *dev); > + void (*disable_int)(struct dw_i2c_dev *dev); > + int (*init)(struct dw_i2c_dev *dev); Please move kernel doc comments for these members from patch 4/6 here. Adding new members and comments should go together. > diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c > index 206dea03b0d0..671bdc0fdb24 100644 > --- a/drivers/i2c/busses/i2c-designware-platdrv.c > +++ b/drivers/i2c/busses/i2c-designware-platdrv.c ... > @@ -347,7 +347,7 @@ static int dw_i2c_plat_suspend(struct device *dev) > struct platform_device *pdev = to_platform_device(dev); > struct dw_i2c_dev *i_dev = platform_get_drvdata(pdev); > > - i2c_dw_disable(i_dev); > + dev->disable(i_dev); > i2c_dw_plat_prepare_clk(i_dev, false); This doesn't compile. Looks like copy-paste from your dw_i2c_plat_remove() change but here you must access through the i_dev. You need to convert also the i2c-designware-pcidrv.c. -- Jarkko