Usage of  devm_of_platform_populate() simplify driver code
by allowing to delete pmic_spmi_remove().

Signed-off-by: Benjamin Gaignard <benjamin.gaign...@linaro.org>

CC: Lee Jones <lee.jo...@linaro.org>
CC: linux-kernel@vger.kernel.org
---
 drivers/mfd/qcom-spmi-pmic.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/mfd/qcom-spmi-pmic.c b/drivers/mfd/qcom-spmi-pmic.c
index 8653e8b..2022bdf 100644
--- a/drivers/mfd/qcom-spmi-pmic.c
+++ b/drivers/mfd/qcom-spmi-pmic.c
@@ -120,7 +120,6 @@ static void pmic_spmi_show_revid(struct regmap *map, struct 
device *dev)
 
 static int pmic_spmi_probe(struct spmi_device *sdev)
 {
-       struct device_node *root = sdev->dev.of_node;
        struct regmap *regmap;
 
        regmap = devm_regmap_init_spmi_ext(sdev, &spmi_regmap_config);
@@ -131,19 +130,13 @@ static int pmic_spmi_probe(struct spmi_device *sdev)
        if (sdev->usid % 2 == 0)
                pmic_spmi_show_revid(regmap, &sdev->dev);
 
-       return of_platform_populate(root, NULL, NULL, &sdev->dev);
-}
-
-static void pmic_spmi_remove(struct spmi_device *sdev)
-{
-       of_platform_depopulate(&sdev->dev);
+       return devm_of_platform_populate(&sdev->dev);
 }
 
 MODULE_DEVICE_TABLE(of, pmic_spmi_id_table);
 
 static struct spmi_driver pmic_spmi_driver = {
        .probe = pmic_spmi_probe,
-       .remove = pmic_spmi_remove,
        .driver = {
                .name = "pmic-spmi",
                .of_match_table = pmic_spmi_id_table,
-- 
1.9.1

Reply via email to