lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 2 Mar 2017 15:41:26 +0200
From:   Jarkko Nikula <jarkko.nikula@...ux.intel.com>
To:     Luis Oliveira <Luis.Oliveira@...opsys.com>, wsa@...-dreams.de,
        robh+dt@...nel.org, mark.rutland@....com,
        andriy.shevchenko@...ux.intel.com, mika.westerberg@...ux.intel.com,
        linux-i2c@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Cc:     Ramiro.Oliveira@...opsys.com, Joao.Pinto@...opsys.com,
        CARLOS.PALMINHA@...opsys.com
Subject: Re: [RESEND PATCH v6 3/6] i2c: designware: MASTER mode as separated
 driver

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 <lolivei@...opsys.com>
> Acked-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
> ---
> 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ