greybus: manifest: don't reject the interface on failing to initialize a cport
authorViresh Kumar <viresh.kumar@linaro.org>
Mon, 7 Sep 2015 10:31:19 +0000 (16:01 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Tue, 15 Sep 2015 04:19:45 +0000 (21:19 -0700)
commit98d7fbcad90b43f4e4fe03ef3261dbdcb6fe220f
tree074f1968b9970bf63ec73cb708c6a12fb40bb050
parentff477d073f2e71a1fa59f86cb44bd9d48674a71b
greybus: manifest: don't reject the interface on failing to initialize a cport

A 'bundle' represents a device in greybus. It may require multiple
cports for its functioning. If we fail to setup any cport of a bundle,
we better reject the complete bundle as the device may not be able to
function properly then.

But, failing to setup a cport of bundle X doesn't mean that the device
corresponding to bundle Y will not work properly. Bundles should be
treated as separate independent devices.

While parsing manifest for an interface, treat bundles as separate
entities and don't reject entire interface and its bundles on failing to
initialize a cport. But make sure the bundle which needs the cport, gets
destroyed properly.

We now release the bundle descriptor before parsing the cports, but that
shouldn't make any difference.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/manifest.c