greybus: svc: drop legacy-protocol dependency
Drop dependency on the legacy protocol abstraction.
Remove the now unused and last legacy-protocol flag
GB_PROTOCOL_SKIP_VERSION along with the protocol-flag feature.
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>
diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c
index 245cf4d..fcdee90 100644
--- a/drivers/staging/greybus/svc.c
+++ b/drivers/staging/greybus/svc.c
@@ -690,10 +690,11 @@
return 0;
}
-static int gb_svc_request_recv(u8 type, struct gb_operation *op)
+static int gb_svc_request_handler(struct gb_operation *op)
{
struct gb_connection *connection = op->connection;
struct gb_svc *svc = connection->private;
+ u8 type = op->type;
int ret = 0;
/*
@@ -815,7 +816,7 @@
* is added from the connection request handler when enough
* information has been received.
*/
- ret = gb_connection_legacy_init(svc->connection);
+ ret = gb_connection_enable(svc->connection, gb_svc_request_handler);
if (ret)
return ret;
@@ -830,7 +831,7 @@
if (device_is_registered(&svc->dev))
device_del(&svc->dev);
- gb_connection_legacy_exit(svc->connection);
+ gb_connection_disable(svc->connection);
flush_workqueue(svc->wq);
}
@@ -839,31 +840,3 @@
{
put_device(&svc->dev);
}
-
-static int gb_svc_connection_init(struct gb_connection *connection)
-{
- struct gb_svc *svc = connection->private;
-
- dev_dbg(&svc->dev, "%s\n", __func__);
-
- return 0;
-}
-
-static void gb_svc_connection_exit(struct gb_connection *connection)
-{
- struct gb_svc *svc = connection->private;
-
- dev_dbg(&svc->dev, "%s\n", __func__);
-}
-
-static struct gb_protocol svc_protocol = {
- .name = "svc",
- .id = GREYBUS_PROTOCOL_SVC,
- .major = GB_SVC_VERSION_MAJOR,
- .minor = GB_SVC_VERSION_MINOR,
- .connection_init = gb_svc_connection_init,
- .connection_exit = gb_svc_connection_exit,
- .request_recv = gb_svc_request_recv,
- .flags = GB_PROTOCOL_SKIP_VERSION,
-};
-gb_builtin_protocol_driver(svc_protocol);