Commit 12ebc8a5 authored by Bill Richardson's avatar Bill Richardson Committed by Lee Jones

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: default avatarBill Richardson <wfrichar@chromium.org>
Signed-off-by: default avatarDoug Anderson <dianders@chromium.org>
Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
Acked-by: default avatarWolfram Sang <wsa@the-dreams.de>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 6db07b63
......@@ -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);
......
......@@ -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);
......
......@@ -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;
......
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment