greybus: connection: add helper to create control connections

Add dedicated helper to create control connections.

This will allow us to simplify the generic (dynamic) interface.

Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Johan Hovold 2016-01-21 17:34:12 +01:00 committed by Greg Kroah-Hartman
parent bafe3f6790
commit 59507e2612
3 changed files with 8 additions and 3 deletions

View file

@ -222,6 +222,12 @@ gb_connection_create_static(struct gb_host_device *hd, u16 hd_cport_id)
return gb_connection_create(hd, hd_cport_id, NULL, NULL, 0, 0);
}
struct gb_connection *
gb_connection_create_control(struct gb_interface *intf)
{
return gb_connection_create(intf->hd, -1, intf, NULL, 0, 0);
}
struct gb_connection *
gb_connection_create_dynamic(struct gb_interface *intf,
struct gb_bundle *bundle,

View file

@ -57,6 +57,7 @@ struct gb_connection {
struct gb_connection *gb_connection_create_static(struct gb_host_device *hd,
u16 hd_cport_id);
struct gb_connection *gb_connection_create_control(struct gb_interface *intf);
struct gb_connection *gb_connection_create_dynamic(struct gb_interface *intf,
struct gb_bundle *bundle, u16 cport_id,
u8 protocol_id);

View file

@ -186,9 +186,7 @@ struct gb_control *gb_control_create(struct gb_interface *intf)
if (!control)
return NULL;
control->connection = gb_connection_create_dynamic(intf, NULL,
GB_CONTROL_CPORT_ID,
GREYBUS_PROTOCOL_CONTROL);
control->connection = gb_connection_create_control(intf);
if (!control->connection) {
dev_err(&intf->dev, "failed to create control connection\n");
kfree(control);