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

+14 -3
+1 -1
drivers/mfd/da903x.c
··· 267 267 { 268 268 uint8_t v[3]; 269 269 270 - chip->events_mask &= ~events; 270 + chip->events_mask |= events; 271 271 272 272 v[0] = (chip->events_mask & 0xff); 273 273 v[1] = (chip->events_mask >> 8) & 0xff;
+13 -2
drivers/mfd/wm8350-i2c.c
··· 30 30 ret = i2c_master_send(wm8350->i2c_client, &reg, 1); 31 31 if (ret < 0) 32 32 return ret; 33 - return i2c_master_recv(wm8350->i2c_client, dest, bytes); 33 + ret = i2c_master_recv(wm8350->i2c_client, dest, bytes); 34 + if (ret < 0) 35 + return ret; 36 + if (ret != bytes) 37 + return -EIO; 38 + return 0; 34 39 } 35 40 36 41 static int wm8350_i2c_write_device(struct wm8350 *wm8350, char reg, ··· 43 38 { 44 39 /* we add 1 byte for device register */ 45 40 u8 msg[(WM8350_MAX_REGISTER << 1) + 1]; 41 + int ret; 46 42 47 43 if (bytes > ((WM8350_MAX_REGISTER << 1) + 1)) 48 44 return -EINVAL; 49 45 50 46 msg[0] = reg; 51 47 memcpy(&msg[1], src, bytes); 52 - return i2c_master_send(wm8350->i2c_client, msg, bytes + 1); 48 + ret = i2c_master_send(wm8350->i2c_client, msg, bytes + 1); 49 + if (ret < 0) 50 + return ret; 51 + if (ret != bytes + 1) 52 + return -EIO; 53 + return 0; 53 54 } 54 55 55 56 static int wm8350_i2c_probe(struct i2c_client *i2c,