From e1442f6910da337a879e44f32909844986714a4b Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Wed, 25 Nov 2015 15:59:24 +0100 Subject: [PATCH] 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 Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/connection.c | 18 +++++------------- drivers/staging/greybus/protocol.h | 1 - drivers/staging/greybus/svc.c | 1 - 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c index 7dde8a11..2b07846 100644 --- a/drivers/staging/greybus/connection.c +++ b/drivers/staging/greybus/connection.c @@ -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; diff --git a/drivers/staging/greybus/protocol.h b/drivers/staging/greybus/protocol.h index 384ddf8..f24281b 100644 --- a/drivers/staging/greybus/protocol.h +++ b/drivers/staging/greybus/protocol.h @@ -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 *); diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c index 42cc7e9..f9ca08b3 100644 --- a/drivers/staging/greybus/svc.c +++ b/drivers/staging/greybus/svc.c @@ -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); -- 2.7.4