From: Johan Hovold <johan@hovoldconsulting.com>
Date: Tue, 26 Jul 2016 15:11:30 +0000 (+0200)
Subject: greybus: operation: clean up request handler
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2321f049a93368fffc3375cfbf2f9f9561ef1e69;p=linux.git

greybus: operation: clean up request handler

Clean up the incoming request handler somewhat by passing a properly
aligned header and dropping the now redundant id and type parameters.

Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@linaro.org>
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
---

diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c
index b9692b7509787..0123109a10704 100644
--- a/drivers/staging/greybus/operation.c
+++ b/drivers/staging/greybus/operation.c
@@ -889,12 +889,17 @@ EXPORT_SYMBOL_GPL(greybus_message_sent);
  * data into the request buffer and handle the rest via workqueue.
  */
 static void gb_connection_recv_request(struct gb_connection *connection,
-				       u16 operation_id, u8 type,
-				       void *data, size_t size)
+				const struct gb_operation_msg_hdr *header,
+				void *data, size_t size)
 {
 	struct gb_operation *operation;
+	u16 operation_id;
+	u8 type;
 	int ret;
 
+	operation_id = le16_to_cpu(header->operation_id);
+	type = header->type;
+
 	operation = gb_operation_create_incoming(connection, operation_id,
 						type, data, size);
 	if (!operation) {
@@ -1002,7 +1007,6 @@ void gb_connection_recv(struct gb_connection *connection,
 	struct gb_operation_msg_hdr header;
 	struct device *dev = &connection->hd->dev;
 	size_t msg_size;
-	u16 operation_id;
 
 	if (connection->state == GB_CONNECTION_STATE_DISABLED ||
 			gb_connection_is_offloaded(connection)) {
@@ -1029,13 +1033,13 @@ void gb_connection_recv(struct gb_connection *connection,
 		return;		/* XXX Should still complete operation */
 	}
 
-	operation_id = le16_to_cpu(header.operation_id);
-	if (header.type & GB_MESSAGE_TYPE_RESPONSE)
+	if (header.type & GB_MESSAGE_TYPE_RESPONSE) {
 		gb_connection_recv_response(connection,	&header, data,
 						msg_size);
-	else
-		gb_connection_recv_request(connection, operation_id,
-						header.type, data, msg_size);
+	} else {
+		gb_connection_recv_request(connection, &header, data,
+						msg_size);
+	}
 }
 
 /*