greybus: bundle: kill gb_bundle_bind_protocols
authorJohan Hovold <johan@hovoldconsulting.com>
Mon, 7 Dec 2015 14:05:30 +0000 (15:05 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Tue, 8 Dec 2015 20:31:14 +0000 (15:31 -0500)
Remove gb_bundle_bind_protocols() that was used to iterate over all
registered bundles and bind protocols to them should a protocol become
available post bundle creation.

The protocol abstraction as a generic construct is going away in favour
of class drivers. Connections will be setup when a class driver is
probed, and driver modules can be loaded on-demand by user space based
on uevents and modalias.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
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/connection.h
drivers/staging/greybus/protocol.c

index 97a8195ab0357a019492aa0924179ac25217d996..e53833697a56322cb17267535de8c38e58fecae6 100644 (file)
@@ -81,36 +81,6 @@ struct device_type greybus_bundle_type = {
 /* XXX This could be per-host device or per-module */
 static DEFINE_SPINLOCK(gb_bundles_lock);
 
-static int __bundle_bind_protocols(struct device *dev, void *data)
-{
-       struct gb_bundle *bundle;
-       struct gb_connection *connection;
-
-       if (!is_gb_bundle(dev))
-               return 0;
-
-       bundle = to_gb_bundle(dev);
-
-       list_for_each_entry(connection, &bundle->connections, bundle_links) {
-               gb_connection_bind_protocol(connection);
-       }
-
-       return 0;
-}
-
-/*
- * Walk all bundles in the system, and see if any connections are not bound to a
- * specific prototcol.  If they are not, then try to find one for it and bind it
- * to it.
- *
- * This is called after registering a new protocol.
- */
-void gb_bundle_bind_protocols(void)
-{
-       bus_for_each_dev(&greybus_bus_type, NULL, NULL,
-                        __bundle_bind_protocols);
-}
-
 /*
  * Create a gb_bundle structure to represent a discovered
  * bundle.  Returns a pointer to the new bundle or a null
index 662c4a6b92f5e9c0403c7f6ab6219ad262fe69eb..70d7b9d897daea589c4470dd01f0d8f2c0140508 100644 (file)
@@ -34,6 +34,5 @@ struct gb_bundle *gb_bundle_create(struct gb_interface *intf, u8 bundle_id,
 void gb_bundle_destroy(struct gb_bundle *bundle);
 
 struct gb_bundle *gb_bundle_find(struct gb_interface *intf, u8 bundle_id);
-void gb_bundle_bind_protocols(void);
 
 #endif /* __BUNDLE_H */
index 674e9a83962d636036d5906e2c4396ec59d58604..bf28dad230b7d7b9525c5617bc8687412255dca9 100644 (file)
 
 #include "greybus.h"
 
+
+static int gb_connection_bind_protocol(struct gb_connection *connection);
+
+
 static DEFINE_SPINLOCK(gb_connections_lock);
 
 /* This is only used at initialization time; no locking is required. */
@@ -520,7 +524,7 @@ void gb_connection_latency_tag_disable(struct gb_connection *connection)
 }
 EXPORT_SYMBOL_GPL(gb_connection_latency_tag_disable);
 
-int gb_connection_bind_protocol(struct gb_connection *connection)
+static int gb_connection_bind_protocol(struct gb_connection *connection)
 {
        struct gb_protocol *protocol;
        int ret;
index 800626234b324e012bb8e32d660cb79daa7bec29..77f77bf64a4e50e07b880b053497da7f23741337 100644 (file)
@@ -66,8 +66,6 @@ static inline bool gb_connection_is_static(struct gb_connection *connection)
 void greybus_data_rcvd(struct gb_host_device *hd, u16 cport_id,
                        u8 *data, size_t length);
 
-int gb_connection_bind_protocol(struct gb_connection *connection);
-
 void gb_connection_latency_tag_enable(struct gb_connection *connection);
 void gb_connection_latency_tag_disable(struct gb_connection *connection);
 
index aadb793912fd8b7d45e486461a75ae3d39419795..d69f64801b4f476fdb5b20a72109596049a85dac 100644 (file)
@@ -90,12 +90,6 @@ int __gb_protocol_register(struct gb_protocol *protocol, struct module *module)
 
        pr_info("Registered %s protocol.\n", protocol->name);
 
-       /*
-        * Go try to bind any unbound connections, as we have a
-        * new protocol in the system
-        */
-       gb_bundle_bind_protocols();
-
        return 0;
 }
 EXPORT_SYMBOL_GPL(__gb_protocol_register);