From 0a4e14a882aeefc7cb1bebff240b4d1c770065a4 Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Thu, 20 Nov 2014 16:09:14 -0600 Subject: [PATCH] greybus: rename message buffer fields The beginning of an operation message always contains the message header. Rename the "buffer" field in an operation message to be "header" to reflect this. Change its type as well. The size of a message is the combined size of its header and its payload. Rename the "buffer_size" field in a message header to be simply "size", so message->size describes exactly that. Signed-off-by: Alex Elder Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/operation.c | 34 +++++++++++++++++----------------- drivers/staging/greybus/operation.h | 12 +++++------- 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c index 6c66c26..f6940a3 100644 --- a/drivers/staging/greybus/operation.c +++ b/drivers/staging/greybus/operation.c @@ -81,7 +81,7 @@ static void gb_pending_operation_insert(struct gb_operation *operation) spin_unlock_irq(&gb_operations_lock); /* Store the operation id in the request header */ - header = operation->request.buffer; + header = operation->request.header; header->operation_id = cpu_to_le16(operation->id); } @@ -120,8 +120,8 @@ static int gb_message_send(struct gb_message *message, gfp_t gfp_mask) message->cookie = connection->hd->driver->buffer_send(connection->hd, dest_cport_id, - message->buffer, - message->buffer_size, + message->header, + message->size, gfp_mask); if (IS_ERR(message->cookie)) { ret = PTR_ERR(message->cookie); @@ -177,7 +177,7 @@ static void gb_operation_request_handle(struct gb_operation *operation) struct gb_protocol *protocol = operation->connection->protocol; struct gb_operation_msg_hdr *header; - header = operation->request.buffer; + header = operation->request.header; /* * If the protocol has no incoming request handler, report @@ -205,7 +205,7 @@ static void gb_operation_recv_work(struct work_struct *recv_work) bool incoming_request; operation = container_of(recv_work, struct gb_operation, recv_work); - incoming_request = operation->response.buffer == NULL; + incoming_request = operation->response.header == NULL; if (incoming_request) gb_operation_request_handle(operation); gb_operation_complete(operation); @@ -278,13 +278,13 @@ static int gb_operation_message_init(struct gb_operation *operation, type |= GB_OPERATION_TYPE_RESPONSE; } - message->buffer = gb_buffer_alloc(hd, size, gfp_flags); - if (!message->buffer) + message->header = gb_buffer_alloc(hd, size, gfp_flags); + if (!message->header) return -ENOMEM; - message->buffer_size = size; + message->size = size; /* Fill in the header structure */ - header = message->buffer; + header = message->header; header->size = cpu_to_le16(size); header->operation_id = 0; /* Filled in when submitted */ header->type = type; @@ -300,12 +300,12 @@ static void gb_operation_message_exit(struct gb_message *message) struct greybus_host_device *hd; hd = message->operation->connection->hd; - gb_buffer_free(hd, message->buffer); + gb_buffer_free(hd, message->header); message->operation = NULL; message->payload = NULL; - message->buffer = NULL; - message->buffer_size = 0; + message->header = NULL; + message->size = 0; } /* @@ -516,7 +516,7 @@ void gb_connection_recv_request(struct gb_connection *connection, return; /* XXX Respond with pre-allocated ENOMEM */ } operation->id = operation_id; - memcpy(operation->request.buffer, data, size); + memcpy(operation->request.header, data, size); /* The rest will be handled in work queue context */ queue_work(gb_operation_recv_workqueue, &operation->recv_work); @@ -547,9 +547,9 @@ static void gb_connection_recv_response(struct gb_connection *connection, gb_pending_operation_remove(operation); message = &operation->response; - if (size <= message->buffer_size) { + if (size <= message->size) { /* Transfer the operation result from the response header */ - header = message->buffer; + header = message->header; operation->result = header->result; } else { gb_connection_err(connection, "recv buffer too small"); @@ -558,7 +558,7 @@ static void gb_connection_recv_response(struct gb_connection *connection, /* We must ignore the payload if a bad status is returned */ if (operation->result == GB_OP_SUCCESS) - memcpy(message->buffer, data, size); + memcpy(message->header, data, size); /* The rest will be handled in work queue context */ queue_work(gb_operation_recv_workqueue, &operation->recv_work); @@ -610,7 +610,7 @@ void gb_operation_cancel(struct gb_operation *operation) { operation->canceled = true; gb_message_cancel(&operation->request); - if (operation->response.buffer) + if (operation->response.header) gb_message_cancel(&operation->response); } diff --git a/drivers/staging/greybus/operation.h b/drivers/staging/greybus/operation.h index 6547291..38b2833 100644 --- a/drivers/staging/greybus/operation.h +++ b/drivers/staging/greybus/operation.h @@ -25,14 +25,12 @@ enum gb_operation_status { }; struct gb_message { - void *payload; + struct gb_operation_msg_hdr *header; + void *payload; + size_t size; /* header + payload */ + struct gb_operation *operation; - struct gb_operation *operation; - - void *buffer; - size_t buffer_size; - - void *cookie; + void *cookie; }; /* -- 2.7.4