diff options
-rw-r--r-- | drivers/regulator/max8973-regulator.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/regulator/max8973-regulator.c b/drivers/regulator/max8973-regulator.c index adb1414e5e37..b2dbdd70cab1 100644 --- a/drivers/regulator/max8973-regulator.c +++ b/drivers/regulator/max8973-regulator.c | |||
@@ -100,6 +100,7 @@ struct max8973_chip { | |||
100 | int curr_vout_reg; | 100 | int curr_vout_reg; |
101 | int curr_gpio_val; | 101 | int curr_gpio_val; |
102 | bool valid_dvs_gpio; | 102 | bool valid_dvs_gpio; |
103 | struct regulator_ops ops; | ||
103 | }; | 104 | }; |
104 | 105 | ||
105 | /* | 106 | /* |
@@ -240,7 +241,7 @@ static unsigned int max8973_dcdc_get_mode(struct regulator_dev *rdev) | |||
240 | REGULATOR_MODE_FAST : REGULATOR_MODE_NORMAL; | 241 | REGULATOR_MODE_FAST : REGULATOR_MODE_NORMAL; |
241 | } | 242 | } |
242 | 243 | ||
243 | static struct regulator_ops max8973_dcdc_ops = { | 244 | static const struct regulator_ops max8973_dcdc_ops = { |
244 | .get_voltage_sel = max8973_dcdc_get_voltage_sel, | 245 | .get_voltage_sel = max8973_dcdc_get_voltage_sel, |
245 | .set_voltage_sel = max8973_dcdc_set_voltage_sel, | 246 | .set_voltage_sel = max8973_dcdc_set_voltage_sel, |
246 | .list_voltage = regulator_list_voltage_linear, | 247 | .list_voltage = regulator_list_voltage_linear, |
@@ -388,10 +389,11 @@ static int max8973_probe(struct i2c_client *client, | |||
388 | } | 389 | } |
389 | 390 | ||
390 | i2c_set_clientdata(client, max); | 391 | i2c_set_clientdata(client, max); |
392 | max->ops = max8973_dcdc_ops; | ||
391 | max->dev = &client->dev; | 393 | max->dev = &client->dev; |
392 | max->desc.name = id->name; | 394 | max->desc.name = id->name; |
393 | max->desc.id = 0; | 395 | max->desc.id = 0; |
394 | max->desc.ops = &max8973_dcdc_ops; | 396 | max->desc.ops = &max->ops; |
395 | max->desc.type = REGULATOR_VOLTAGE; | 397 | max->desc.type = REGULATOR_VOLTAGE; |
396 | max->desc.owner = THIS_MODULE; | 398 | max->desc.owner = THIS_MODULE; |
397 | max->desc.min_uV = MAX8973_MIN_VOLATGE; | 399 | max->desc.min_uV = MAX8973_MIN_VOLATGE; |
@@ -401,9 +403,9 @@ static int max8973_probe(struct i2c_client *client, | |||
401 | if (!pdata->enable_ext_control) { | 403 | if (!pdata->enable_ext_control) { |
402 | max->desc.enable_reg = MAX8973_VOUT; | 404 | max->desc.enable_reg = MAX8973_VOUT; |
403 | max->desc.enable_mask = MAX8973_VOUT_ENABLE; | 405 | max->desc.enable_mask = MAX8973_VOUT_ENABLE; |
404 | max8973_dcdc_ops.enable = regulator_enable_regmap; | 406 | max->ops.enable = regulator_enable_regmap; |
405 | max8973_dcdc_ops.disable = regulator_disable_regmap; | 407 | max->ops.disable = regulator_disable_regmap; |
406 | max8973_dcdc_ops.is_enabled = regulator_is_enabled_regmap; | 408 | max->ops.is_enabled = regulator_is_enabled_regmap; |
407 | } | 409 | } |
408 | 410 | ||
409 | max->enable_external_control = pdata->enable_ext_control; | 411 | max->enable_external_control = pdata->enable_ext_control; |