regulator: mpq7920: Remove unneeded fields from struct mpq7920_regulator_info
authorAxel Lin <axel.lin@ingics.com>
Tue, 14 Jan 2020 12:44:48 +0000 (20:44 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 14 Jan 2020 15:24:41 +0000 (15:24 +0000)
Both *dev and *rdev are only used in .probe, so use local variable instead.
Also remove mpq7920_regulator_register() because it is so trivial and
there is only one caller.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Link: https://lore.kernel.org/r/20200114124449.28408-1-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/mpq7920.c

index 80f3131..b133bab 100644 (file)
@@ -92,9 +92,7 @@ enum mpq7920_regulators {
 };
 
 struct mpq7920_regulator_info {
-       struct device *dev;
        struct regmap *regmap;
-       struct regulator_dev *rdev[MPQ7920_MAX_REGULATORS];
        struct regulator_desc *rdesc;
 };
 
@@ -262,40 +260,21 @@ static void mpq7920_parse_dt(struct device *dev,
        of_node_put(np);
 }
 
-static inline int mpq7920_regulator_register(
-                               struct mpq7920_regulator_info *info,
-                               struct regulator_config *config)
-{
-       int i;
-       struct regulator_desc *rdesc;
-
-       for (i = 0; i < MPQ7920_MAX_REGULATORS; i++) {
-               rdesc = &info->rdesc[i];
-
-               info->rdev[i] = devm_regulator_register(info->dev, rdesc,
-                                        config);
-               if (IS_ERR(info->rdev[i]))
-                       return PTR_ERR(info->rdev[i]);
-       }
-
-       return 0;
-}
-
 static int mpq7920_i2c_probe(struct i2c_client *client,
                                    const struct i2c_device_id *id)
 {
        struct device *dev = &client->dev;
        struct mpq7920_regulator_info *info;
        struct regulator_config config = { NULL, };
+       struct regulator_dev *rdev;
        struct regmap *regmap;
-       int ret;
+       int i;
 
        info = devm_kzalloc(dev, sizeof(struct mpq7920_regulator_info),
                                GFP_KERNEL);
        if (!info)
                return -ENOMEM;
 
-       info->dev = dev;
        info->rdesc = mpq7920_regulators_desc;
        regmap = devm_regmap_init_i2c(client, &mpq7920_regmap_config);
        if (IS_ERR(regmap)) {
@@ -308,15 +287,21 @@ static int mpq7920_i2c_probe(struct i2c_client *client,
        if (client->dev.of_node)
                mpq7920_parse_dt(&client->dev, info);
 
-       config.dev = info->dev;
+       config.dev = dev;
        config.regmap = regmap;
        config.driver_data = info;
 
-       ret = mpq7920_regulator_register(info, &config);
-       if (ret < 0)
-               dev_err(dev, "Failed to register regulator!\n");
+       for (i = 0; i < MPQ7920_MAX_REGULATORS; i++) {
+               rdev = devm_regulator_register(dev,
+                                              &mpq7920_regulators_desc[i],
+                                              &config);
+               if (IS_ERR(rdev)) {
+                       dev_err(dev, "Failed to register regulator!\n");
+                       return PTR_ERR(rdev);
+               }
+       }
 
-       return ret;
+       return 0;
 }
 
 static const struct of_device_id mpq7920_of_match[] = {