Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd
* 'for-linus' of git://git.o-hand.com/linux-mfd: mfd: Correct WM8350 I2C return code usage mfd: fix event masking for da9030
This commit is contained in:
commit
e77a20e8ef
2 changed files with 14 additions and 3 deletions
|
@ -267,7 +267,7 @@ static int da9030_mask_events(struct da903x_chip *chip, unsigned int events)
|
|||
{
|
||||
uint8_t v[3];
|
||||
|
||||
chip->events_mask &= ~events;
|
||||
chip->events_mask |= events;
|
||||
|
||||
v[0] = (chip->events_mask & 0xff);
|
||||
v[1] = (chip->events_mask >> 8) & 0xff;
|
||||
|
|
|
@ -30,7 +30,12 @@ static int wm8350_i2c_read_device(struct wm8350 *wm8350, char reg,
|
|||
ret = i2c_master_send(wm8350->i2c_client, ®, 1);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return i2c_master_recv(wm8350->i2c_client, dest, bytes);
|
||||
ret = i2c_master_recv(wm8350->i2c_client, dest, bytes);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
if (ret != bytes)
|
||||
return -EIO;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int wm8350_i2c_write_device(struct wm8350 *wm8350, char reg,
|
||||
|
@ -38,13 +43,19 @@ static int wm8350_i2c_write_device(struct wm8350 *wm8350, char reg,
|
|||
{
|
||||
/* we add 1 byte for device register */
|
||||
u8 msg[(WM8350_MAX_REGISTER << 1) + 1];
|
||||
int ret;
|
||||
|
||||
if (bytes > ((WM8350_MAX_REGISTER << 1) + 1))
|
||||
return -EINVAL;
|
||||
|
||||
msg[0] = reg;
|
||||
memcpy(&msg[1], src, bytes);
|
||||
return i2c_master_send(wm8350->i2c_client, msg, bytes + 1);
|
||||
ret = i2c_master_send(wm8350->i2c_client, msg, bytes + 1);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
if (ret != bytes + 1)
|
||||
return -EIO;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int wm8350_i2c_probe(struct i2c_client *i2c,
|
||||
|
|
Loading…
Reference in a new issue