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>
* 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;
/* 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 */
};
struct gb_operation *gb_operation_create(struct gb_connection *connection,
- size_t size);
+ size_t size, u8 type);
void gb_operation_destroy(struct gb_operation *operation);
int gb_operation_wait(struct gb_operation *operation);