[U-Boot] [PATCH 28/51] i2c: ihs_i2c: Prepare DM conversion

Mario Six mario.six at gdsys.cc
Tue Jul 25 07:48:00 UTC 2017


Hi Simon,

On Wed, Jul 19, 2017 at 11:05 AM, Simon Glass <sjg at chromium.org> wrote:
> On 14 July 2017 at 05:55, Mario Six <mario.six at gdsys.cc> wrote:
>> Prepare the function interface of the ihs_i2c driver for DM conversion
>> in a future patch.
>>
>> While we're at it, fix some style violations, and make the code more readable.
>>
>> Signed-off-by: Mario Six <mario.six at gdsys.cc>
>> ---
>>
>>  drivers/i2c/ihs_i2c.c | 74 +++++++++++++++++++++++++++++++--------------------
>>  1 file changed, 45 insertions(+), 29 deletions(-)
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> Please see below
>
>>
>> diff --git a/drivers/i2c/ihs_i2c.c b/drivers/i2c/ihs_i2c.c
>> index 29612e69fe..e066ad53db 100644
>> --- a/drivers/i2c/ihs_i2c.c
>> +++ b/drivers/i2c/ihs_i2c.c
>
>> @@ -182,13 +182,29 @@ static int ihs_i2c_probe(struct i2c_adapter *adap, uchar chip)
>>  static int ihs_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr,
>>                         int alen, uchar *buffer, int len)
>>  {
>> -       return ihs_i2c_access(adap, chip, addr, alen, buffer, len, true);
>> +       u8 addr_bytes[4];
>> +
>> +       addr_bytes[0] = (addr >> 0) & 0xFF;
>> +       addr_bytes[1] = (addr >> 8) & 0xFF;
>> +       addr_bytes[2] = (addr >> 16) & 0xFF;
>> +       addr_bytes[3] = (addr >> 24) & 0xFF;
>
> Can you use put_unaligned_le32() or similar?
>

I wasn't aware that put_unaligned_le32 has been imported from the kernel; I've
used identical code in several I2C drivers, so I'll convert them in a separate
series as well.

>> +
>> +       return ihs_i2c_access(adap, chip, addr_bytes, alen, buffer, len,
>> +                             I2COP_READ);
>>  }
>>
>>  static int ihs_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr,
>>                          int alen, uchar *buffer, int len)
>>  {
>> -       return ihs_i2c_access(adap, chip, addr, alen, buffer, len, false);
>> +       u8 addr_bytes[4];
>> +
>> +       addr_bytes[0] = (addr >> 0) & 0xFF;
>> +       addr_bytes[1] = (addr >> 8) & 0xFF;
>> +       addr_bytes[2] = (addr >> 16) & 0xFF;
>> +       addr_bytes[3] = (addr >> 24) & 0xFF;
>> +
>> +       return ihs_i2c_access(adap, chip, addr_bytes, alen, buffer, len,
>> +                             I2COP_WRITE);
>>  }
>>
>>  static unsigned int ihs_i2c_set_bus_speed(struct i2c_adapter *adap,
>> --
>> 2.11.0
>>
>
> Regards,
> Simon

Best regards,

Mario


More information about the U-Boot mailing list