summaryrefslogtreecommitdiff
path: root/drivers/greybus/svc.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2022-02-02 14:33:47 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-02-04 17:27:44 +0300
commita74e7263b53424a7f5b999a11d610231338f5b99 (patch)
tree2b01f4bed9321338f4e129db25051fec3ef593f6 /drivers/greybus/svc.c
parent5f648e00f50ff8b04a4cfe13d58a0227bc2b56bb (diff)
downloadlinux-a74e7263b53424a7f5b999a11d610231338f5b99.tar.xz
greybus: svc: clean up link configuration hack at hello
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> Link: https://lore.kernel.org/r/20220202113347.1288-4-johan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/greybus/svc.c')
-rw-r--r--drivers/greybus/svc.c13
1 files 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);
err_deregister_svc:
device_del(&svc->dev);