greybus: specify type when creating an operation

The type of an operation belongs in the operation header, which
shouldn't be touched by users of the interface.  So specify it
at operation creation time.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c
index 75f6e50..03f6660 100644
--- a/drivers/staging/greybus/operation.c
+++ b/drivers/staging/greybus/operation.c
@@ -111,7 +111,7 @@
  * failure occurs due to memory exhaustion.
  */
 struct gb_operation *gb_operation_create(struct gb_connection *connection,
-					size_t size)
+					size_t size, u8 type)
 {
 	struct gb_operation *operation;
 	struct gb_operation_msg_hdr *header;
@@ -139,8 +139,9 @@
 	/* Fill in the header structure and payload pointer */
 	operation->gbuf = gbuf;
 	header = (struct gb_operation_msg_hdr *)&gbuf->transfer_buffer;
-	header->id = 0;
 	header->size = cpu_to_le16(size);
+	header->id = 0;		/* Filled in when submitted */
+	header->type = type;
 	operation->payload = (char *)header + sizeof(*header);
 
 	operation->callback = NULL;	/* set at submit time */