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)
|
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)
|
||||||
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,
|
||||||
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;
|
||||||
#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 = {
|
||||||
.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);
|
||||||
|
|
Loading…
Reference in New Issue