From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Mon, 18 May 2015 08:03:12 +0200 Subject: [U-Boot] [PATCH] dm: i2c: Add compatibility functions for dm_i2c_reg_read/write() In-Reply-To: <1431810101-5315-1-git-send-email-sjg@chromium.org> References: <1431810101-5315-1-git-send-email-sjg@chromium.org> Message-ID: <555980A0.5060908@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > > drivers/i2c/i2c-uclass-compat.c | 21 +++++++++++++++++++++ > include/i2c.h | 6 ++++++ > 2 files changed, 27 insertions(+) Acked-by: Heiko Schocher 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 > > /* > -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany