diff options
author | Chen Ni <nichen@iscas.ac.cn> | 2024-05-10 16:31:56 +0800 |
---|---|---|
committer | Bjorn Andersson <andersson@kernel.org> | 2024-05-27 11:49:05 -0500 |
commit | 0780c836673b25f5aad306630afcb1172d694cb4 (patch) | |
tree | 7493a49dc2165160d2359706c4719cdfab41180f | |
parent | f63f815fc2a5ca9d57beba0286aaa82bc3277353 (diff) | |
download | lwn-0780c836673b25f5aad306630afcb1172d694cb4.tar.gz lwn-0780c836673b25f5aad306630afcb1172d694cb4.zip |
soc: qcom: pmic_glink: Handle the return value of pmic_glink_init
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>
-rw-r--r-- | drivers/soc/qcom/pmic_glink.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/soc/qcom/pmic_glink.c b/drivers/soc/qcom/pmic_glink.c index 40fb09d69014..8534a9692c45 100644 --- a/drivers/soc/qcom/pmic_glink.c +++ b/drivers/soc/qcom/pmic_glink.c @@ -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; } |