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: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
0daf17b9e4
commit
4ec1574ae9
|
@ -289,11 +289,10 @@ static int
|
|||
gb_connection_svc_connection_create(struct gb_connection *connection)
|
||||
{
|
||||
struct gb_host_device *hd = connection->hd;
|
||||
struct gb_protocol *protocol = connection->protocol;
|
||||
struct gb_interface *intf;
|
||||
int ret;
|
||||
|
||||
if (protocol->flags & GB_PROTOCOL_SKIP_SVC_CONNECTION)
|
||||
if (gb_connection_is_static(connection))
|
||||
return 0;
|
||||
|
||||
intf = connection->bundle->intf;
|
||||
|
@ -315,7 +314,7 @@ gb_connection_svc_connection_create(struct gb_connection *connection)
|
|||
static void
|
||||
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;
|
||||
|
||||
gb_svc_connection_destroy(connection->hd->svc,
|
||||
|
|
|
@ -60,6 +60,11 @@ struct gb_connection *gb_connection_create_dynamic(struct gb_interface *intf,
|
|||
u8 protocol_id);
|
||||
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,
|
||||
u8 *data, size_t length);
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@ struct gb_operation;
|
|||
#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 */
|
||||
#define GB_PROTOCOL_SKIP_SVC_CONNECTION BIT(4) /* Don't send SVC connection requests */
|
||||
|
||||
typedef int (*gb_connection_init_t)(struct gb_connection *);
|
||||
typedef void (*gb_connection_exit_t)(struct gb_connection *);
|
||||
|
|
|
@ -750,7 +750,6 @@ static struct gb_protocol svc_protocol = {
|
|||
.flags = GB_PROTOCOL_SKIP_CONTROL_CONNECTED |
|
||||
GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED |
|
||||
GB_PROTOCOL_NO_BUNDLE |
|
||||
GB_PROTOCOL_SKIP_VERSION |
|
||||
GB_PROTOCOL_SKIP_SVC_CONNECTION,
|
||||
GB_PROTOCOL_SKIP_VERSION,
|
||||
};
|
||||
gb_builtin_protocol_driver(svc_protocol);
|
||||
|
|
Loading…
Reference in New Issue