From 042fd749abab492ae02452cf675f7bc146814955 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Tue, 19 Jul 2016 17:21:27 +0200 Subject: [PATCH] greybus: connection: drop the svc quiescing operation Connection tear down is being reworked, and the SVC quiescing operation is going away. Let's remove this operation now along with the coupled second ping from our intermediate tear down implementation. This both avoids unnecessary noise in the logs resulting from the fact that the SVC side of the quiescing operation was never merged, and speeds up connection tear down slightly. Testing done: Tested on EVT2 using runtime PM. Signed-off-by: Johan Hovold Reviewed-by: Viresh Kumar Acked-by: Sandeep Patil Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/connection.c | 19 ------------- drivers/staging/greybus/greybus_protocols.h | 12 -------- drivers/staging/greybus/svc.c | 31 --------------------- drivers/staging/greybus/svc.h | 2 -- 4 files changed, 64 deletions(-) diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c index 174a52d5f524..634c8b1e92f3 100644 --- a/drivers/staging/greybus/connection.c +++ b/drivers/staging/greybus/connection.c @@ -417,21 +417,6 @@ gb_connection_svc_connection_destroy(struct gb_connection *connection) connection->intf_cport_id); } -static void -gb_connection_svc_connection_quiescing(struct gb_connection *connection) -{ - struct gb_host_device *hd = connection->hd; - - if (gb_connection_is_static(connection)) - return; - - gb_svc_connection_quiescing(hd->svc, - hd->svc->ap_intf_id, - connection->hd_cport_id, - connection->intf->interface_id, - connection->intf_cport_id); -} - /* Inform Interface about active CPorts */ static int gb_connection_control_connected(struct gb_connection *connection) { @@ -686,8 +671,6 @@ err_control_disconnecting: gb_connection_ping(connection); gb_connection_hd_cport_features_disable(connection); - gb_connection_svc_connection_quiescing(connection); - gb_connection_ping(connection); gb_connection_control_disconnected(connection); connection->state = GB_CONNECTION_STATE_DISABLED; err_svc_connection_destroy: @@ -795,8 +778,6 @@ void gb_connection_disable(struct gb_connection *connection) gb_connection_ping(connection); gb_connection_hd_cport_features_disable(connection); - gb_connection_svc_connection_quiescing(connection); - gb_connection_ping(connection); gb_connection_control_disconnected(connection); diff --git a/drivers/staging/greybus/greybus_protocols.h b/drivers/staging/greybus/greybus_protocols.h index 1966136d0649..c7fcb85892fd 100644 --- a/drivers/staging/greybus/greybus_protocols.h +++ b/drivers/staging/greybus/greybus_protocols.h @@ -1036,7 +1036,6 @@ struct gb_spi_transfer_response { #define GB_SVC_TYPE_TIMESYNC_WAKE_PINS_ACQUIRE 0x18 #define GB_SVC_TYPE_TIMESYNC_WAKE_PINS_RELEASE 0x19 #define GB_SVC_TYPE_TIMESYNC_PING 0x1a -#define GB_SVC_TYPE_CONN_QUIESCING 0x1e #define GB_SVC_TYPE_MODULE_INSERTED 0x1f #define GB_SVC_TYPE_MODULE_REMOVED 0x20 #define GB_SVC_TYPE_INTF_VSYS_ENABLE 0x21 @@ -1386,17 +1385,6 @@ struct gb_svc_intf_mailbox_event_request { } __packed; /* intf_mailbox_event response has no payload */ -struct gb_svc_conn_quiescing_request { - __u8 intf1_id; - __le16 cport1_id; - __u8 intf2_id; - __le16 cport2_id; -} __packed; - -struct gb_svc_conn_quiescing_response { - __u8 status; -} __packed; - /* RAW */ diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c index 14bada965ddd..da9bb1f182f7 100644 --- a/drivers/staging/greybus/svc.c +++ b/drivers/staging/greybus/svc.c @@ -470,37 +470,6 @@ int gb_svc_connection_create(struct gb_svc *svc, } EXPORT_SYMBOL_GPL(gb_svc_connection_create); -void gb_svc_connection_quiescing(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, - u8 intf2_id, u16 cport2_id) -{ - struct gb_svc_conn_quiescing_request request; - struct gb_svc_conn_quiescing_response response; - int ret; - - dev_dbg(&svc->dev, "%s - (%u:%u %u:%u)\n", __func__, - intf1_id, cport1_id, intf2_id, cport2_id); - - request.intf1_id = intf1_id; - request.cport1_id = cpu_to_le16(cport1_id); - request.intf2_id = intf2_id; - request.cport2_id = cpu_to_le16(cport2_id); - - ret = gb_operation_sync(svc->connection, GB_SVC_TYPE_CONN_QUIESCING, - &request, sizeof(request), - &response, sizeof(response)); - if (ret < 0) - return; - if (response.status != GB_SVC_OP_SUCCESS) { - dev_err(&svc->dev, "quiescing connection failed (%u:%u %u:%u): %u\n", - intf1_id, cport1_id, intf2_id, cport2_id, - response.status); - return; - } - - return; -} -EXPORT_SYMBOL_GPL(gb_svc_connection_quiescing); - void gb_svc_connection_destroy(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, u8 intf2_id, u16 cport2_id) { diff --git a/drivers/staging/greybus/svc.h b/drivers/staging/greybus/svc.h index 4ab066b90a5b..f632790a54f4 100644 --- a/drivers/staging/greybus/svc.h +++ b/drivers/staging/greybus/svc.h @@ -62,8 +62,6 @@ int gb_svc_route_create(struct gb_svc *svc, u8 intf1_id, u8 dev1_id, void gb_svc_route_destroy(struct gb_svc *svc, u8 intf1_id, u8 intf2_id); int gb_svc_connection_create(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, u8 intf2_id, u16 cport2_id, u8 cport_flags); -void gb_svc_connection_quiescing(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, - u8 intf2_id, u16 cport2_id); void gb_svc_connection_destroy(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, u8 intf2_id, u16 cport2_id); int gb_svc_intf_eject(struct gb_svc *svc, u8 intf_id); -- 2.20.1