On Wednesday 28 October 2020 06:45:51 Jaehoon Chung wrote: > Hi, > > On 10/27/20 6:36 AM, Pali Rohár wrote: > > Function twl4030_i2c_read() is like twl4030_i2c_read_u8() but instead of > > single value it rather returns array of values. > > Just minor comment. > Is there a reason not to touch twl4030_i2c_write_u8()?
Well, it is because I have no usage for twl4030_i2c_write() yet. So I have not touched write functions. This new twl4030_i2c_read() function is used in PATCH 2/2. > Best Regards, > Jaehoon Chung > > > > > Signed-off-by: Pali Rohár <p...@kernel.org> > > --- > > drivers/power/twl4030.c | 7 +++---- > > include/twl4030.h | 12 +++++++++--- > > 2 files changed, 12 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/power/twl4030.c b/drivers/power/twl4030.c > > index b0d5cba2c4..f48af84e17 100644 > > --- a/drivers/power/twl4030.c > > +++ b/drivers/power/twl4030.c > > @@ -201,7 +201,7 @@ int twl4030_i2c_write_u8(u8 chip_no, u8 reg, u8 val) > > return 0; > > } > > > > -int twl4030_i2c_read_u8(u8 chip_no, u8 reg, u8 *valp) > > +int twl4030_i2c_read(u8 chip_no, u8 reg, u8 *valp, int len) > > { > > struct udevice *dev; > > int ret; > > @@ -211,12 +211,11 @@ int twl4030_i2c_read_u8(u8 chip_no, u8 reg, u8 *valp) > > pr_err("unable to get I2C bus. ret %d\n", ret); > > return ret; > > } > > - ret = dm_i2c_reg_read(dev, reg); > > - if (ret < 0) { > > + ret = dm_i2c_read(dev, reg, valp, len); > > + if (ret) { > > pr_err("reading from twl4030 failed. ret %d\n", ret); > > return ret; > > } > > - *valp = (u8)ret; > > return 0; > > } > > #endif > > diff --git a/include/twl4030.h b/include/twl4030.h > > index c27ad615ee..ef05193996 100644 > > --- a/include/twl4030.h > > +++ b/include/twl4030.h > > @@ -654,14 +654,20 @@ static inline int twl4030_i2c_write_u8(u8 chip_no, u8 > > reg, u8 val) > > return i2c_write(chip_no, reg, 1, &val, 1); > > } > > > > -static inline int twl4030_i2c_read_u8(u8 chip_no, u8 reg, u8 *val) > > +static inline int twl4030_i2c_read(u8 chip_no, u8 reg, u8 *val, int len) > > { > > - return i2c_read(chip_no, reg, 1, val, 1); > > + return i2c_read(chip_no, reg, 1, val, len); > > } > > #else > > int twl4030_i2c_write_u8(u8 chip_no, u8 reg, u8 val); > > -int twl4030_i2c_read_u8(u8 chip_no, u8 reg, u8 *val); > > +int twl4030_i2c_read(u8 chip_no, u8 reg, u8 *val, int len); > > #endif > > + > > +static inline int twl4030_i2c_read_u8(u8 chip_no, u8 reg, u8 *val) > > +{ > > + return twl4030_i2c_read(chip_no, reg, val, 1); > > +} > > + > > /* > > * Power > > */ > > >