regulator: core: Use a struct to pass in regulator runtime configuration
[firefly-linux-kernel-4.4.55.git] / drivers / regulator / max1586.c
index fad0bee10c54340a8e0fd65cc162377ca8fb3b52..ea832b4ef643a9e7cfcf8e794e95ad6c9e3c701f 100644 (file)
@@ -185,6 +185,7 @@ static int __devinit max1586_pmic_probe(struct i2c_client *client,
 {
        struct regulator_dev **rdev;
        struct max1586_platform_data *pdata = client->dev.platform_data;
+       struct regulator_config config = { };
        struct max1586_data *max1586;
        int i, id, ret = -ENOMEM;
 
@@ -212,9 +213,12 @@ static int __devinit max1586_pmic_probe(struct i2c_client *client,
                        dev_err(&client->dev, "invalid regulator id %d\n", id);
                        goto err;
                }
-               rdev[i] = regulator_register(&max1586_reg[id], &client->dev,
-                                            pdata->subdevs[i].platform_data,
-                                            max1586, NULL);
+
+               config.dev = &client->dev;
+               config.init_data = pdata->subdevs[i].platform_data;
+               config.driver_data = max1586;
+
+               rdev[i] = regulator_register(&max1586_reg[id], &config);
                if (IS_ERR(rdev[i])) {
                        ret = PTR_ERR(rdev[i]);
                        dev_err(&client->dev, "failed to register %s\n",