From 781ac8662ffafa89e6675c3eb608ec9c569f24b7 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Wed, 11 May 2016 10:17:57 +0200 Subject: [PATCH] greybus: connection: add helper for creating offloaded connection Add helper for creating offloaded connection. This can later be extended to support more elaborate resource management. Also fix a minor white space issue. Signed-off-by: Johan Hovold Reviewed-by: Viresh Kumar Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/connection.c | 13 +++++++++++++ drivers/staging/greybus/connection.h | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c index 9e8828109b1e..95855d1cad9f 100644 --- a/drivers/staging/greybus/connection.c +++ b/drivers/staging/greybus/connection.c @@ -264,6 +264,19 @@ gb_connection_create_flags(struct gb_bundle *bundle, u16 cport_id, } EXPORT_SYMBOL_GPL(gb_connection_create_flags); +struct gb_connection * +gb_connection_create_offloaded(struct gb_bundle *bundle, u16 cport_id, + unsigned long flags) +{ + struct gb_interface *intf = bundle->intf; + + flags |= GB_CONNECTION_FLAG_OFFLOADED; + + return _gb_connection_create(intf->hd, -1, intf, bundle, cport_id, + NULL, flags); +} +EXPORT_SYMBOL_GPL(gb_connection_create_offloaded); + static int gb_connection_hd_cport_enable(struct gb_connection *connection) { struct gb_host_device *hd = connection->hd; diff --git a/drivers/staging/greybus/connection.h b/drivers/staging/greybus/connection.h index c740c3816f0d..a8da9ca214be 100644 --- a/drivers/staging/greybus/connection.h +++ b/drivers/staging/greybus/connection.h @@ -64,9 +64,11 @@ struct gb_connection *gb_connection_create_static(struct gb_host_device *hd, struct gb_connection *gb_connection_create_control(struct gb_interface *intf); struct gb_connection *gb_connection_create(struct gb_bundle *bundle, u16 cport_id, gb_request_handler_t handler); -struct gb_connection * gb_connection_create_flags(struct gb_bundle *bundle, +struct gb_connection *gb_connection_create_flags(struct gb_bundle *bundle, u16 cport_id, gb_request_handler_t handler, unsigned long flags); +struct gb_connection *gb_connection_create_offloaded(struct gb_bundle *bundle, + u16 cport_id, unsigned long flags); void gb_connection_destroy(struct gb_connection *connection); static inline bool gb_connection_is_static(struct gb_connection *connection)