clk: qcom: lpass-sc7180: Clean up on error in lpass_sc7180_init()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 13 Nov 2020 10:14:19 +0000 (13:14 +0300)
committerStephen Boyd <sboyd@kernel.org>
Sat, 14 Nov 2020 17:04:09 +0000 (09:04 -0800)
Clean up the first driver if the second driver can't be registered.

Fixes: 4ee9fe3e292b ("clk: qcom: lpass-sc7180: Disentangle the two clock devices")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20201113101419.GC168908@mwanda
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/qcom/lpasscorecc-sc7180.c

index 1a3925badd7c4913947a8d11ad584055be7e3a50..9081649f476f5671e67dcaa8eb20945a2e2bd5b8 100644 (file)
@@ -491,7 +491,13 @@ static int __init lpass_sc7180_init(void)
        if (ret)
                return ret;
 
-       return platform_driver_register(&lpass_hm_sc7180_driver);
+       ret = platform_driver_register(&lpass_hm_sc7180_driver);
+       if (ret) {
+               platform_driver_unregister(&lpass_core_cc_sc7180_driver);
+               return ret;
+       }
+
+       return 0;
 }
 subsys_initcall(lpass_sc7180_init);