
Hello Simon,
Am 16.05.2015 23:01, schrieb Simon Glass:
Add the legacy i2c_reg_read/write() functions to the compatibility layer so that they can be used when CONFIG_DM_I2C_COMPAT is defined.
Signed-off-by: Simon Glass sjg@chromium.org
drivers/i2c/i2c-uclass-compat.c | 21 +++++++++++++++++++++ include/i2c.h | 6 ++++++ 2 files changed, 27 insertions(+)
Acked-by: Heiko Schocher hs@denx.de
Thanks!
bye, Heiko
diff --git a/drivers/i2c/i2c-uclass-compat.c b/drivers/i2c/i2c-uclass-compat.c index 223f238..5606d1f 100644 --- a/drivers/i2c/i2c-uclass-compat.c +++ b/drivers/i2c/i2c-uclass-compat.c @@ -106,3 +106,24 @@ void board_i2c_init(const void *blob) { /* Nothing to do here - the init happens through driver model */ }
+uint8_t i2c_reg_read(uint8_t chip_addr, uint8_t offset) +{
- struct udevice *dev;
- int ret;
- ret = i2c_compat_get_device(chip_addr, 1, &dev);
- if (ret)
return 0xff;
- return dm_i2c_reg_read(dev, offset);
+}
+void i2c_reg_write(uint8_t chip_addr, uint8_t offset, uint8_t val) +{
- struct udevice *dev;
- int ret;
- ret = i2c_compat_get_device(chip_addr, 1, &dev);
- if (!ret)
dm_i2c_reg_write(dev, offset, val);
+} diff --git a/include/i2c.h b/include/i2c.h index ddfebc4..9300d97 100644 --- a/include/i2c.h +++ b/include/i2c.h @@ -284,6 +284,12 @@ void i2c_init(int speed, int slaveaddr); */ void board_i2c_init(const void *blob);
+/*
- Compatibility functions for driver model.
- */
+uint8_t i2c_reg_read(uint8_t addr, uint8_t reg); +void i2c_reg_write(uint8_t addr, uint8_t reg, uint8_t val);
#endif
/*