regulator: Fix desc_id for tps65023/6507x/65910
Subsystems (2)
PATCH 1/1 regulator: Fix desc_id for tps65023/6507x/65910
The desc_id variable should not be a static variable.
The rest of the code assumes the desc_id must less than TPSxxxxx_NUM_REGULATOR. If we set desc_id to be a static variable, checking the return value of rdev_get_id() may return error.
--- drivers/regulator/tps65023-regulator.c | 3 +-- drivers/regulator/tps6507x-regulator.c | 3 +-- drivers/regulator/tps65910-regulator.c | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-)
drivers/regulator/tps65023-regulator.c +1 -2
@@ -466,7 +466,6 @@ static struct regulator_ops tps65023_ldo_ops = {static int __devinit tps_65023_probe (struct i2c_client *client,const struct i2c_device_id *id) { -static int desc_id;const struct tps_info *info = (void *)id->driver_data;struct regulator_init_data *init_data;struct regulator_dev *rdev;
@@ -499,7 +498,7 @@ static int __devinit tps_65023_probe(struct i2c_client *client, tps->info[i] = info; tps->desc[i].name = info->name; - tps->desc[i].id = desc_id++; + tps->desc[i].id = i; tps->desc[i].n_voltages = num_voltages[i]; tps->desc[i].ops = (i >TPS65023_DCDC_3 ? &tps65023_ldo_ops : &tps65023_dcdc_ops);
drivers/regulator/tps6507x-regulator.c +1 -2
@@ -553,7 +553,6 @@ static __devinitint tps6507x_pmic_probe (struct platform_device *pdev) {struct tps6507x_dev *tps6507x_dev =dev_get_drvdata (pdev->dev.parent); -static int desc_id;struct tps_info *info = &tps6507x_pmic_regs[0 ];struct regulator_init_data *init_data;struct regulator_dev *rdev;
@@ -598,7 +597,7 @@ int tps6507x_pmic_probe(struct platform_device *pdev) } tps->desc[i].name = info->name; - tps->desc[i].id = desc_id++; + tps->desc[i].id = i; tps->desc[i].n_voltages = num_voltages[i]; tps->desc[i].ops = (i >TPS6507X_DCDC_3 ? &tps6507x_pmic_ldo_ops : &tps6507x_pmic_dcdc_ops);
drivers/regulator/tps65910-regulator.c +1 -2
@@ -604,7 +604,6 @@ static __devinit int tps65910_probe(struct platform_device *pdev)struct regulator_dev *rdev;struct tps65910_reg *pmic;struct tps65910_board *pmic_plat_data; -static int desc_id;int i, err; pmic_plat_data =dev_get_platdata (tps65910->dev);
@@ -630,7 +629,7 @@ static __devinit int tps65910_probe(struct platform_device *pdev) pmic->info[i] = info; pmic->desc[i].name = info->name; - pmic->desc[i].id = desc_id++; + pmic->desc[i].id = i; pmic->desc[i].n_voltages = info->table_len;if ((i ==TPS65910_REG_VDD1 ) || (i ==TPS65910_REG_VDD2 ))
Signature · 1 line
1.7.1
Quoted 5 lines · Axel Lin
The
desc_idvariable should not be a static variable.The rest of the code assumes the
desc_idmust less thanTPSxxxxx_NUM_REGULATOR. If we setdesc_idto be a static variable, checking the return value ofrdev_get_id()may return error.
Liam Girdwood
AppliedQuoted 9 lines · Axel Lin
The
desc_idvariable should not be a static variable.The rest of the code assumes the
desc_idmust less thanTPSxxxxx_NUM_REGULATOR. If we setdesc_idto be a static variable, checking the return value ofrdev_get_id()may return error.Signed-off-by Axel Lin <[email protected]>Cc Anuj Aggarwal <[email protected]>Cc Graeme Gregory <[email protected]>
Applied.
Liam