greybus: operation: add helper to retrieve max payload size

Add helper to retrieve the maximum payload size for operations on a
specific connection.

Note that the helper is not inlined due to how the header files are
currently organised, but it is not expected to be called after a
connection has been initialised either.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Johan Hovold 2015-05-19 11:22:46 +02:00 committed by Greg Kroah-Hartman
parent 8e929a8230
commit d52b35f6b6
2 changed files with 9 additions and 0 deletions

View File

@ -504,6 +504,14 @@ struct gb_operation *gb_operation_create(struct gb_connection *connection,
}
EXPORT_SYMBOL_GPL(gb_operation_create);
size_t gb_operation_get_payload_size_max(struct gb_connection *connection)
{
struct greybus_host_device *hd = connection->hd;
return hd->buffer_size_max - sizeof(struct gb_operation_msg_hdr);
}
EXPORT_SYMBOL_GPL(gb_operation_get_payload_size_max);
static struct gb_operation *
gb_operation_create_incoming(struct gb_connection *connection, u16 id,
u8 type, void *data, size_t size)

View File

@ -130,6 +130,7 @@ void gb_connection_recv(struct gb_connection *connection,
int gb_operation_result(struct gb_operation *operation);
size_t gb_operation_get_payload_size_max(struct gb_connection *connection);
struct gb_operation *gb_operation_create(struct gb_connection *connection,
u8 type, size_t request_size,
size_t response_size);