Commit 4ec1574a authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

greybus: connection: kill GB_PROTOCOL_SKIP_SVC_CONNECTION

Add helper to determine whether a connection is static, and remove the
protocol flag GB_PROTOCOL_SKIP_SVC_CONNECTION.
Signed-off-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 0daf17b9
...@@ -289,11 +289,10 @@ static int ...@@ -289,11 +289,10 @@ static int
gb_connection_svc_connection_create(struct gb_connection *connection) gb_connection_svc_connection_create(struct gb_connection *connection)
{ {
struct gb_host_device *hd = connection->hd; struct gb_host_device *hd = connection->hd;
struct gb_protocol *protocol = connection->protocol;
struct gb_interface *intf; struct gb_interface *intf;
int ret; int ret;
if (protocol->flags & GB_PROTOCOL_SKIP_SVC_CONNECTION) if (gb_connection_is_static(connection))
return 0; return 0;
intf = connection->bundle->intf; intf = connection->bundle->intf;
...@@ -315,7 +314,7 @@ gb_connection_svc_connection_create(struct gb_connection *connection) ...@@ -315,7 +314,7 @@ gb_connection_svc_connection_create(struct gb_connection *connection)
static void static void
gb_connection_svc_connection_destroy(struct gb_connection *connection) gb_connection_svc_connection_destroy(struct gb_connection *connection)
{ {
if (connection->protocol->flags & GB_PROTOCOL_SKIP_SVC_CONNECTION) if (gb_connection_is_static(connection))
return; return;
gb_svc_connection_destroy(connection->hd->svc, gb_svc_connection_destroy(connection->hd->svc,
......
...@@ -60,6 +60,11 @@ struct gb_connection *gb_connection_create_dynamic(struct gb_interface *intf, ...@@ -60,6 +60,11 @@ struct gb_connection *gb_connection_create_dynamic(struct gb_interface *intf,
u8 protocol_id); u8 protocol_id);
void gb_connection_destroy(struct gb_connection *connection); void gb_connection_destroy(struct gb_connection *connection);
static inline bool gb_connection_is_static(struct gb_connection *connection)
{
return !connection->intf;
}
void greybus_data_rcvd(struct gb_host_device *hd, u16 cport_id, void greybus_data_rcvd(struct gb_host_device *hd, u16 cport_id,
u8 *data, size_t length); u8 *data, size_t length);
......
...@@ -18,7 +18,6 @@ struct gb_operation; ...@@ -18,7 +18,6 @@ struct gb_operation;
#define GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED BIT(1) /* Don't sent disconnected 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_NO_BUNDLE BIT(2) /* Protocol May have a bundle-less connection */
#define GB_PROTOCOL_SKIP_VERSION BIT(3) /* Don't send get_version() requests */ #define GB_PROTOCOL_SKIP_VERSION BIT(3) /* Don't send get_version() requests */
#define GB_PROTOCOL_SKIP_SVC_CONNECTION BIT(4) /* Don't send SVC connection requests */
typedef int (*gb_connection_init_t)(struct gb_connection *); typedef int (*gb_connection_init_t)(struct gb_connection *);
typedef void (*gb_connection_exit_t)(struct gb_connection *); typedef void (*gb_connection_exit_t)(struct gb_connection *);
......
...@@ -750,7 +750,6 @@ static struct gb_protocol svc_protocol = { ...@@ -750,7 +750,6 @@ static struct gb_protocol svc_protocol = {
.flags = GB_PROTOCOL_SKIP_CONTROL_CONNECTED | .flags = GB_PROTOCOL_SKIP_CONTROL_CONNECTED |
GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED | GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED |
GB_PROTOCOL_NO_BUNDLE | GB_PROTOCOL_NO_BUNDLE |
GB_PROTOCOL_SKIP_VERSION | GB_PROTOCOL_SKIP_VERSION,
GB_PROTOCOL_SKIP_SVC_CONNECTION,
}; };
gb_builtin_protocol_driver(svc_protocol); gb_builtin_protocol_driver(svc_protocol);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment