On 12/18/2018 11:01 AM, Andrew Lunn wrote:
> On Tue, Dec 18, 2018 at 07:24:52AM +0100, Sergio Paracuellos wrote:
>>> +static int ksz9477_i2c_read_reg(struct i2c_client *i2c, u32 reg, u8 *val,
>>> +                               unsigned int len)
>>> +{
>>> +       struct i2c_msg msg[2];
>>> +       int ret = 0;
>>> +
>>> +       val[0] = (u8)(reg >> 8);
>>> +       val[1] = (u8)reg;
>>> +
>>> +       msg[0].addr = i2c->addr;
>>> +       msg[0].flags = 0;
>>> +       msg[0].len = 2;
>>> +       msg[0].buf = val;
>>> +
>>> +       msg[1].addr = i2c->addr;
>>> +       msg[1].flags = I2C_M_RD;
>>> +       msg[1].len = len;
>>> +       msg[1].buf = &val[2];
>>> +
>>> +       if (i2c_transfer(i2c->adapter, msg, 2) != 2)
>>> +               ret = -ENODEV;
>>
>> Should this be -EREMOTEIO instead?
> 
> It should actually be whatever error code i2c_transfer returns.

Before we plunge into coding yet another I2C-and-SPI layer, can we use
regmap instead ?

-- 
Best regards,
Marek Vasut

Reply via email to