greybus: connection: unconditionally enable connections

Remove conditional enabling of connections when binding protocols that
served no purpose as a connection either has no bundle or it has an
interface with a valid device id.

Also remove the now unused GB_PROTOCOL_NO_BUNDLE protocol flag.

This is an intermediate step in moving the protocol binding to
connection_init, but is also needed as the control bundle is going away.

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-11-25 15:59:24 +01:00 committed by Greg Kroah-Hartman
parent 7fa530ad1b
commit e1442f6910
3 changed files with 5 additions and 15 deletions

View file

@ -541,19 +541,11 @@ int gb_connection_bind_protocol(struct gb_connection *connection)
}
connection->protocol = protocol;
/*
* If we have a valid device_id for the interface block, then we have an
* active device, so bring up the connection at the same time.
*/
if ((!connection->bundle &&
protocol->flags & GB_PROTOCOL_NO_BUNDLE) ||
connection->bundle->intf->device_id != GB_DEVICE_ID_BAD) {
ret = gb_connection_init(connection);
if (ret) {
gb_protocol_put(protocol);
connection->protocol = NULL;
return ret;
}
ret = gb_connection_init(connection);
if (ret) {
gb_protocol_put(protocol);
connection->protocol = NULL;
return ret;
}
return 0;

View file

@ -16,7 +16,6 @@ struct gb_operation;
/* Possible flags for protocol drivers */
#define GB_PROTOCOL_SKIP_CONTROL_CONNECTED BIT(0) /* Don't sent connected requests */
#define GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED BIT(1) /* Don't sent disconnected requests */
#define GB_PROTOCOL_NO_BUNDLE BIT(2) /* Protocol May have a bundle-less connection */
#define GB_PROTOCOL_SKIP_VERSION BIT(3) /* Don't send get_version() requests */
typedef int (*gb_connection_init_t)(struct gb_connection *);

View file

@ -678,7 +678,6 @@ static struct gb_protocol svc_protocol = {
.request_recv = gb_svc_request_recv,
.flags = GB_PROTOCOL_SKIP_CONTROL_CONNECTED |
GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED |
GB_PROTOCOL_NO_BUNDLE |
GB_PROTOCOL_SKIP_VERSION,
};
gb_builtin_protocol_driver(svc_protocol);