greybus: battery-gb: convert to use gb_operation_sync

This converts the battery protocol driver to use gb_operation_sync,
removing the hand-rolled version of the same function.

Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Reviewed-by: Alex Elder <elder@linaro.org>
This commit is contained in:
Greg Kroah-Hartman 2014-11-23 17:45:19 -08:00
parent 10aa801d33
commit d5671a6a24
1 changed files with 16 additions and 36 deletions

View File

@ -84,34 +84,6 @@ struct gb_battery_voltage_response {
__le32 voltage;
};
/*
* None of the battery operation requests have any payload. This
* function implements all of the requests by allowing the caller to
* supply a buffer into which the operation response should be
* copied. If there is an error, the response buffer is left alone.
*/
static int battery_operation(struct gb_battery *gb, int type,
void *response, int response_size)
{
struct gb_connection *connection = gb->connection;
struct gb_operation *operation;
int ret;
operation = gb_operation_create(connection, type, 0, response_size);
if (!operation)
return -ENOMEM;
/* Synchronous operation--no callback */
ret = gb_operation_request_send(operation, NULL);
if (ret)
pr_err("version operation failed (%d)\n", ret);
else /* Good response, so copy to the caller's buffer */
memcpy(response, operation->response->payload, response_size);
gb_operation_destroy(operation);
return ret;
}
/*
* This request only uses the connection field, and if successful,
* fills in the major and minor protocol version of the target.
@ -121,7 +93,9 @@ static int get_version(struct gb_battery *gb)
struct gb_battery_proto_version_response version_response;
int retval;
retval = battery_operation(gb, GB_BATTERY_TYPE_PROTOCOL_VERSION,
retval = gb_operation_sync(gb->connection,
GB_BATTERY_TYPE_PROTOCOL_VERSION,
NULL, 0,
&version_response, sizeof(version_response));
if (retval)
return retval;
@ -143,7 +117,8 @@ static int get_tech(struct gb_battery *gb)
u32 technology;
int retval;
retval = battery_operation(gb, GB_BATTERY_TYPE_TECHNOLOGY,
retval = gb_operation_sync(gb->connection, GB_BATTERY_TYPE_TECHNOLOGY,
NULL, 0,
&tech_response, sizeof(tech_response));
if (retval)
return retval;
@ -187,7 +162,8 @@ static int get_status(struct gb_battery *gb)
u16 battery_status;
int retval;
retval = battery_operation(gb, GB_BATTERY_TYPE_STATUS,
retval = gb_operation_sync(gb->connection, GB_BATTERY_TYPE_STATUS,
NULL, 0,
&status_response, sizeof(status_response));
if (retval)
return retval;
@ -225,7 +201,8 @@ static int get_max_voltage(struct gb_battery *gb)
u32 max_voltage;
int retval;
retval = battery_operation(gb, GB_BATTERY_TYPE_MAX_VOLTAGE,
retval = gb_operation_sync(gb->connection, GB_BATTERY_TYPE_MAX_VOLTAGE,
NULL, 0,
&volt_response, sizeof(volt_response));
if (retval)
return retval;
@ -240,8 +217,9 @@ static int get_capacity(struct gb_battery *gb)
u32 capacity;
int retval;
retval = battery_operation(gb, GB_BATTERY_TYPE_CAPACITY,
&capacity_response, sizeof(capacity_response));
retval = gb_operation_sync(gb->connection, GB_BATTERY_TYPE_CAPACITY,
NULL, 0, &capacity_response,
sizeof(capacity_response));
if (retval)
return retval;
@ -255,7 +233,8 @@ static int get_temp(struct gb_battery *gb)
u32 temperature;
int retval;
retval = battery_operation(gb, GB_BATTERY_TYPE_TEMPERATURE,
retval = gb_operation_sync(gb->connection, GB_BATTERY_TYPE_TEMPERATURE,
NULL, 0,
&temp_response, sizeof(temp_response));
if (retval)
return retval;
@ -270,7 +249,8 @@ static int get_voltage(struct gb_battery *gb)
u32 voltage;
int retval;
retval = battery_operation(gb, GB_BATTERY_TYPE_VOLTAGE,
retval = gb_operation_sync(gb->connection, GB_BATTERY_TYPE_VOLTAGE,
NULL, 0,
&voltage_response, sizeof(voltage_response));
if (retval)
return retval;