
This series allows you to use driver model for I2C drivers while still using the old I2C interface. This is achieved by using a dm_ prefix for the driver model version of i2c_read(), i2c_write() and i2c_probe(), and providing compatibility version of these and other functions from the old I2C API.
Przemyslaw's recent series demonstrates that converting everything for a board / driver at once is hard. My experience with Tegra was not typical - it seems that in general it will be harder.
This series may allow Przemyslaw to move the PMIC framework over a piece at a time, without needing to disable it for testing, etc.
This is aimed purely at being a porting convenience and is not intended to permit 'legacy' I2C code to lie around for longer than it would otherwise. In fact I hope that it might hasten its departure.
As a matter of policy I believe we should required that a conversion series consists of the following:
- Patch to enable driver model for I2C, optionally turning on compatibility - Patches to move each piece of code which uses I2C over to driver model, where this code is not used by another unrelated board. Where a related (e.g. same SOC) causes a problem, it should be converted - Patch to remove compatibility, assuming this does not break some other board
This should avoid the compatibility option remaining around for a board.
Simon Glass (2): dm: i2c: Rename driver model I2C functions to permit compatibility dm: i2c: Add a compatbility layer
Makefile | 7 +++ board/avionic-design/common/tamonten-ng.c | 2 +- board/nvidia/cardhu/cardhu.c | 8 +-- board/nvidia/dalmore/dalmore.c | 6 +- board/nvidia/whistler/whistler.c | 10 ++-- board/toradex/apalis_t30/apalis_t30.c | 6 +- common/cmd_i2c.c | 28 +++++---- common/exports.c | 3 +- drivers/i2c/Makefile | 1 + drivers/i2c/i2c-uclass-compat.c | 98 +++++++++++++++++++++++++++++++ drivers/i2c/i2c-uclass.c | 9 +-- drivers/power/as3722.c | 4 +- drivers/power/tps6586x.c | 4 +- include/i2c.h | 78 ++++++++++++++++++++---- test/dm/i2c.c | 60 +++++++++---------- 15 files changed, 247 insertions(+), 77 deletions(-) create mode 100644 drivers/i2c/i2c-uclass-compat.c