[PATCH 3/3] greybus: svc: clean up link configuration hack at hello

Johan Hovold
2022-02-02T11:36:11Z

Commit ee2f2074fdb2 ("greybus: svc: reconfig APBridgeA-Switch link to
handle required load") added a temporary hack which reconfigures the
link at HELLO by abusing the deferred request processing mechanism.

Restructure the HELLO request processing so that the link-configuration
work is queued before creating the debugfs files and add a comment
explaining why it's there.

Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/greybus/svc.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/greybus/svc.c b/drivers/greybus/svc.c
index 4f93d6b2f4ed..56d2b44d6fef 100644
--- a/drivers/greybus/svc.c
+++ b/drivers/greybus/svc.c
@@ -864,16 +864,19 @@ static int gb_svc_hello(struct gb_operation *op)
goto err_deregister_svc;
}

- gb_svc_debugfs_init(svc);
-
+ /*
+ * FIXME: This is a temporary hack to reconfigure the link at HELLO
+ * (which abuses the deferred request processing mechanism).
+ */
ret = gb_svc_queue_deferred_request(op);
if (ret)
- goto err_remove_debugfs;
+ goto err_destroy_watchdog;
+
+ gb_svc_debugfs_init(svc);

return 0;

-err_remove_debugfs:
- gb_svc_debugfs_exit(svc);
+err_destroy_watchdog:
gb_svc_watchdog_destroy(svc);