greybus: connection: add protocol-version helper

Add protocol-version to improve readability.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Johan Hovold 2015-09-17 13:17:25 +02:00 committed by Greg Kroah-Hartman
parent 9d7fc25b3c
commit 2846d3ed2e

View File

@ -412,9 +412,30 @@ gb_connection_control_disconnected(struct gb_connection *connection)
}
}
/*
* Request protocol version supported by the module. We don't need to do
* this for SVC as that is initiated by the SVC.
*/
static int gb_connection_protocol_get_version(struct gb_connection *connection)
{
struct gb_protocol *protocol = connection->protocol;
int ret;
if (protocol->flags & GB_PROTOCOL_SKIP_VERSION)
return 0;
ret = gb_protocol_get_version(connection);
if (ret) {
dev_err(&connection->dev,
"failed to get protocol version: %d\n", ret);
return ret;
}
return 0;
}
static int gb_connection_init(struct gb_connection *connection)
{
int cport_id = connection->intf_cport_id;
struct gb_protocol *protocol = connection->protocol;
int ret;
@ -431,19 +452,9 @@ static int gb_connection_init(struct gb_connection *connection)
connection->state = GB_CONNECTION_STATE_ENABLED;
spin_unlock_irq(&connection->lock);
/*
* Request protocol version supported by the module. We don't need to do
* this for SVC as that is initiated by the SVC.
*/
if (!(protocol->flags & GB_PROTOCOL_SKIP_VERSION)) {
ret = gb_protocol_get_version(connection);
if (ret) {
dev_err(&connection->dev,
"Failed to get version CPort-%d (%d)\n",
cport_id, ret);
goto err_disconnect;
}
}
ret = gb_connection_protocol_get_version(connection);
if (ret)
goto err_disconnect;
ret = protocol->connection_init(connection);
if (ret)