soc: qcom: pmic_glink: Handle the return value of pmic_glink_init
authorChen Ni <nichen@iscas.ac.cn>
Fri, 10 May 2024 08:31:56 +0000 (16:31 +0800)
committerBjorn Andersson <andersson@kernel.org>
Mon, 27 May 2024 16:49:05 +0000 (11:49 -0500)
As platform_driver_register() and register_rpmsg_driver() can return
error numbers, it should be better to check the return value and deal
with the exception.

Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Fixes: 58ef4ece1e41 ("soc: qcom: pmic_glink: Introduce base PMIC GLINK  driver")
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Link: https://lore.kernel.org/r/20240510083156.1996783-1-nichen@iscas.ac.cn
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/soc/qcom/pmic_glink.c

index 40fb09d69014c70019e030ce553eff5a837c3cf1..8534a9692c4567b5c989f4a53e56bdf3df90fb81 100644 (file)
@@ -369,8 +369,17 @@ static struct platform_driver pmic_glink_driver = {
 
 static int pmic_glink_init(void)
 {
-       platform_driver_register(&pmic_glink_driver);
-       register_rpmsg_driver(&pmic_glink_rpmsg_driver);
+       int ret;
+
+       ret = platform_driver_register(&pmic_glink_driver);
+       if (ret < 0)
+               return ret;
+
+       ret = register_rpmsg_driver(&pmic_glink_rpmsg_driver);
+       if (ret < 0) {
+               platform_driver_unregister(&pmic_glink_driver);
+               return ret;
+       }
 
        return 0;
 }