[U-Boot] [PATCH] dm: i2c: Add compatibility functions for dm_i2c_reg_read/write()
Heiko Schocher
hs at denx.de
Mon May 18 08:03:12 CEST 2015
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 at chromium.org>
> ---
>
> drivers/i2c/i2c-uclass-compat.c | 21 +++++++++++++++++++++
> include/i2c.h | 6 ++++++
> 2 files changed, 27 insertions(+)
Acked-by: Heiko Schocher <hs at 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
>
> /*
>
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list