Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.o-hand.com/linux-mfd
Browse files Browse the repository at this point in the history
* 'for-linus' of git://git.o-hand.com/linux-mfd:
  mfd: Correct WM8350 I2C return code usage
  mfd: fix event masking for da9030
  • Loading branch information
Linus Torvalds committed Nov 17, 2008
2 parents 9753b12 + 898d805 commit e77a20e
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion drivers/mfd/da903x.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
15 changes: 13 additions & 2 deletions drivers/mfd/wm8350-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,21 +30,32 @@ static int wm8350_i2c_read_device(struct wm8350 *wm8350, char reg,
ret = i2c_master_send(wm8350->i2c_client, &reg, 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,
int bytes, void *src)
{
/* 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,
Expand Down

0 comments on commit e77a20e

Please sign in to comment.