regulator: pwm: No need to make a copy of regulator_ops per instance
Having instance specific copy of desc is enough to support multiple instance of pwm regulator. The regulator_ops is never changed so no need to copy it per instance, make pwm_regulator_voltage_table_ops and pwm_regulator_voltage_continuous_ops const to ensure they won't be changed. The pwm_regulator_desc is a template to be copied so also make it const. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
08f0b14adc
commit
638aef7a77
@ -40,9 +40,6 @@ struct pwm_regulator_data {
|
||||
/* regulator descriptor */
|
||||
struct regulator_desc desc;
|
||||
|
||||
/* Regulator ops */
|
||||
struct regulator_ops ops;
|
||||
|
||||
int state;
|
||||
|
||||
/* Enable GPIO */
|
||||
@ -231,7 +228,7 @@ static int pwm_regulator_set_voltage(struct regulator_dev *rdev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct regulator_ops pwm_regulator_voltage_table_ops = {
|
||||
static const struct regulator_ops pwm_regulator_voltage_table_ops = {
|
||||
.set_voltage_sel = pwm_regulator_set_voltage_sel,
|
||||
.get_voltage_sel = pwm_regulator_get_voltage_sel,
|
||||
.list_voltage = pwm_regulator_list_voltage,
|
||||
@ -241,7 +238,7 @@ static struct regulator_ops pwm_regulator_voltage_table_ops = {
|
||||
.is_enabled = pwm_regulator_is_enabled,
|
||||
};
|
||||
|
||||
static struct regulator_ops pwm_regulator_voltage_continuous_ops = {
|
||||
static const struct regulator_ops pwm_regulator_voltage_continuous_ops = {
|
||||
.get_voltage = pwm_regulator_get_voltage,
|
||||
.set_voltage = pwm_regulator_set_voltage,
|
||||
.enable = pwm_regulator_enable,
|
||||
@ -249,7 +246,7 @@ static struct regulator_ops pwm_regulator_voltage_continuous_ops = {
|
||||
.is_enabled = pwm_regulator_is_enabled,
|
||||
};
|
||||
|
||||
static struct regulator_desc pwm_regulator_desc = {
|
||||
static const struct regulator_desc pwm_regulator_desc = {
|
||||
.name = "pwm-regulator",
|
||||
.type = REGULATOR_VOLTAGE,
|
||||
.owner = THIS_MODULE,
|
||||
@ -287,9 +284,7 @@ static int pwm_regulator_init_table(struct platform_device *pdev,
|
||||
|
||||
drvdata->state = -EINVAL;
|
||||
drvdata->duty_cycle_table = duty_cycle_table;
|
||||
memcpy(&drvdata->ops, &pwm_regulator_voltage_table_ops,
|
||||
sizeof(drvdata->ops));
|
||||
drvdata->desc.ops = &drvdata->ops;
|
||||
drvdata->desc.ops = &pwm_regulator_voltage_table_ops;
|
||||
drvdata->desc.n_voltages = length / sizeof(*duty_cycle_table);
|
||||
|
||||
return 0;
|
||||
@ -301,9 +296,7 @@ static int pwm_regulator_init_continuous(struct platform_device *pdev,
|
||||
u32 dutycycle_range[2] = { 0, 100 };
|
||||
u32 dutycycle_unit = 100;
|
||||
|
||||
memcpy(&drvdata->ops, &pwm_regulator_voltage_continuous_ops,
|
||||
sizeof(drvdata->ops));
|
||||
drvdata->desc.ops = &drvdata->ops;
|
||||
drvdata->desc.ops = &pwm_regulator_voltage_continuous_ops;
|
||||
drvdata->desc.continuous_voltage_range = true;
|
||||
|
||||
of_property_read_u32_array(pdev->dev.of_node,
|
||||
|
Loading…
Reference in New Issue
Block a user