mfd: cros_ec: ec_dev->cmd_xfer() returns number of bytes received from EC

When communicating with the EC, the cmd_xfer() function should return the
number of bytes it received from the EC, or negative on error.

Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
Bill Richardson 2014-06-18 11:14:06 -07:00 committed by Lee Jones
parent 6db07b6336
commit 12ebc8a50b
4 changed files with 7 additions and 7 deletions

View File

@ -228,7 +228,7 @@ static int ec_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg i2c_msgs[],
msg.insize = response_len;
result = bus->ec->cmd_xfer(bus->ec, &msg);
if (result)
if (result < 0)
goto exit;
result = ec_i2c_parse_response(response, i2c_msgs, &num);

View File

@ -111,7 +111,7 @@ static int cros_ec_cmd_xfer_i2c(struct cros_ec_device *ec_dev,
goto done;
}
ret = 0;
ret = i2c_msg[1].buf[1];
done:
kfree(in_buf);
kfree(out_buf);

View File

@ -320,7 +320,7 @@ static int cros_ec_cmd_xfer_spi(struct cros_ec_device *ec_dev,
goto exit;
}
ret = 0;
ret = len;
exit:
mutex_unlock(&ec_spi->lock);
return ret;

View File

@ -41,7 +41,7 @@ enum {
* @outdata: Outgoing data to EC
* @outsize: Outgoing length in bytes
* @indata: Where to put the incoming data from EC
* @insize: Incoming length in bytes (filled in by EC)
* @insize: Max number of bytes to accept from EC
* @result: EC's response to the command (separate from communication failure)
*/
struct cros_ec_command {
@ -64,9 +64,9 @@ struct cros_ec_command {
* sleep at the last suspend
* @event_notifier: interrupt event notifier for transport devices
* @cmd_xfer: send command to EC and get response
* Returns 0 if the communication succeeded, but that doesn't mean the EC
* was happy with the command it got. Caller should check msg.result for
* the EC's result code.
* Returns the number of bytes received if the communication succeeded, but
* that doesn't mean the EC was happy with the command. The caller
* should check msg.result for the EC's result code.
*
* @priv: Private data
* @irq: Interrupt to use