greybus: use a simple list of hd connections

First of all, there's a bug in _gb_hd_connection_insert, which
Viresh found.  But pointing out that problem just called attention
to the fact that I have planning to to remove the affected block of
code.

The set of connections associated with a host device is currently
maintained in a red-black tree.  The number of connections we're
likely to have is on the order of a hundred, and at least for now
isn't even going to approach that.  When this code first went in,
Greg asserted that using a list is speedier than a red-black tree
for smallish numbers of elements (maybe up to a few hundred?).

So this patch just removes the host device's red-black tree of
connections, using a simple list instead.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
diff --git a/drivers/staging/greybus/core.c b/drivers/staging/greybus/core.c
index 9567324..96bd974 100644
--- a/drivers/staging/greybus/core.c
+++ b/drivers/staging/greybus/core.c
@@ -186,7 +186,7 @@
 	hd->parent = parent;
 	hd->driver = driver;
 	INIT_LIST_HEAD(&hd->modules);
-	hd->connections = RB_ROOT;
+	INIT_LIST_HEAD(&hd->connections);
 	ida_init(&hd->cport_id_map);
 	spin_lock_init(&hd->cport_id_map_lock);