Commit bc3be170 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

greybus: connection: remove skip-connected legacy protocol flags



Remove the legacy protocol flags that were used to suppress the
connected and disconnected events.

Instead send the connected and disconnected event for all bundle
connections and explicitly exclude static connections and control
connections.

Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 3e1b8c75
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -295,15 +295,17 @@ gb_connection_svc_connection_destroy(struct gb_connection *connection)
/* Inform Interface about active CPorts */
static int gb_connection_control_connected(struct gb_connection *connection)
{
	struct gb_protocol *protocol = connection->protocol;
	struct gb_control *control;
	u16 cport_id = connection->intf_cport_id;
	int ret;

	if (protocol->flags & GB_PROTOCOL_SKIP_CONTROL_CONNECTED)
	if (gb_connection_is_static(connection))
		return 0;

	control = connection->bundle->intf->control;
	control = connection->intf->control;

	if (connection == control->connection)
		return 0;

	ret = gb_control_connected_operation(control, cport_id);
	if (ret) {
@@ -319,15 +321,17 @@ static int gb_connection_control_connected(struct gb_connection *connection)
static void
gb_connection_control_disconnected(struct gb_connection *connection)
{
	struct gb_protocol *protocol = connection->protocol;
	struct gb_control *control;
	u16 cport_id = connection->intf_cport_id;
	int ret;

	if (protocol->flags & GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED)
	if (gb_connection_is_static(connection))
		return;

	control = connection->bundle->intf->control;
	control = connection->intf->control;

	if (connection == control->connection)
		return;

	ret = gb_control_disconnected_operation(control, cport_id);
	if (ret) {
+0 −2
Original line number Diff line number Diff line
@@ -159,7 +159,5 @@ static struct gb_protocol control_protocol = {
	.minor			= GB_CONTROL_VERSION_MINOR,
	.connection_init	= gb_control_connection_init,
	.connection_exit	= gb_control_connection_exit,
	.flags			= GB_PROTOCOL_SKIP_CONTROL_CONNECTED |
				  GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED,
};
gb_builtin_protocol_driver(control_protocol);
+0 −2
Original line number Diff line number Diff line
@@ -14,8 +14,6 @@ struct gb_connection;
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_SKIP_VERSION		BIT(3)	/* Don't send get_version() requests */

typedef int (*gb_connection_init_t)(struct gb_connection *);
+1 −3
Original line number Diff line number Diff line
@@ -864,8 +864,6 @@ static struct gb_protocol svc_protocol = {
	.connection_init	= gb_svc_connection_init,
	.connection_exit	= gb_svc_connection_exit,
	.request_recv		= gb_svc_request_recv,
	.flags			= GB_PROTOCOL_SKIP_CONTROL_CONNECTED |
				  GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED |
				  GB_PROTOCOL_SKIP_VERSION,
	.flags			= GB_PROTOCOL_SKIP_VERSION,
};
gb_builtin_protocol_driver(svc_protocol);