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@xxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html