greybus: connection: clean up connection-creation interface
authorJohan Hovold <johan@hovoldconsulting.com>
Wed, 25 Nov 2015 14:59:11 +0000 (15:59 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Wed, 25 Nov 2015 23:34:19 +0000 (15:34 -0800)
commit2566fae6a5eb29e52502a38fd816c6e994547625
tree1a172ef387861bcbc80f7374a64e6714b4a5c6e1
parente4048006fd3823760d85057549bf609d3ed2e4c8
greybus: connection: clean up connection-creation interface

Clean up the connection-creation interface by clearly separating our two
types of connections: static and dynamic.

Add two convenience functions for creating static and dynamic connections.

A static connection is a pre-setup connection that is defined by a host
device and a host-device cport id. Specifically, the remote interface or
cport id need not be known. The SVC connection is a static connection.

A dynamic connection is defined by a host device and a remote interface
and cport id. This is our normal connections where the host-device cport
is (generally) allocated dynamically.

Note that the new generic interface is marked static, but can be
exported later to allow dynamic connections to be created also from
fixed host-device cports (e.g. for CSI).

Also note that a connection of either type is uniquely identified by its
host-device and host-device cport id once created.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/connection.c
drivers/staging/greybus/connection.h
drivers/staging/greybus/interface.c
drivers/staging/greybus/manifest.c
drivers/staging/greybus/svc.c