greybus: core: defer connection creation to driver probe
authorJohan Hovold <johan@hovoldconsulting.com>
Thu, 21 Jan 2016 16:34:09 +0000 (17:34 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Fri, 22 Jan 2016 06:45:09 +0000 (22:45 -0800)
commit98fdf5a037f0789f1ea6e22431a4a4cc7c41829d
tree8d7cb053d2dfdce35334440311b53d5edf755d77
parent6ce4cc278deca9849bd54783294be7edbe24bac0
greybus: core: defer connection creation to driver probe

Defer connection creation to bundle driver probe instead of creating
them when initialising the interface and parsing the manifest.

Store copies of the CPorts descriptors in the bundle for the drivers to
use, and update the legacy driver.

This is needed for drivers that need more control over host-device
resource management, for example, when a protocol needs to use a
dedicated host CPort for traffic offloading (e.g. camera data).

This also avoids allocating host CPorts for bundles that are not bound
to a driver or for remote CPorts that a driver does not need.

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>
drivers/staging/greybus/bundle.c
drivers/staging/greybus/bundle.h
drivers/staging/greybus/connection.c
drivers/staging/greybus/core.c
drivers/staging/greybus/legacy.c
drivers/staging/greybus/manifest.c