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:
parent
6db07b6336
commit
12ebc8a50b
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue