diff options
author | Johan Hovold <johan@hovoldconsulting.com> | 2016-01-21 17:34:12 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@google.com> | 2016-01-21 22:45:09 -0800 |
commit | 59507e2612379356d93de0bd1d6e0f9a36dca0da (patch) | |
tree | 42d5f6491f2aefba379008ed686e71370f1abd2b /drivers | |
parent | bafe3f67908c68a0b1fdc527c79cd7d9106abd85 (diff) | |
download | linux-59507e2612379356d93de0bd1d6e0f9a36dca0da.tar.gz linux-59507e2612379356d93de0bd1d6e0f9a36dca0da.tar.bz2 linux-59507e2612379356d93de0bd1d6e0f9a36dca0da.zip |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/greybus/connection.c | 6 | ||||
-rw-r--r-- | drivers/staging/greybus/connection.h | 1 | ||||
-rw-r--r-- | drivers/staging/greybus/control.c | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c index 9b8112bd16a0..f81f053a2e98 100644 --- a/drivers/staging/greybus/connection.c +++ b/drivers/staging/greybus/connection.c @@ -223,6 +223,12 @@ gb_connection_create_static(struct gb_host_device *hd, u16 hd_cport_id) } 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, u16 cport_id, u8 protocol_id) diff --git a/drivers/staging/greybus/connection.h b/drivers/staging/greybus/connection.h index 562bd2b47ac5..cd4a093f6e9b 100644 --- a/drivers/staging/greybus/connection.h +++ b/drivers/staging/greybus/connection.h @@ -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); diff --git a/drivers/staging/greybus/control.c b/drivers/staging/greybus/control.c index 0e50fd419f3a..a766ec8b0228 100644 --- a/drivers/staging/greybus/control.c +++ b/drivers/staging/greybus/control.c @@ -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); |