Skip to contentSkip to conversation

regulator: Fix desc_id for tps65023/6507x/65910

PATCH Applied Axel Lin 3 participants 3 messages May 12, 2011 – May 13, 2011

Subsystems (2)
lore
Share & tools
lore

Axel Lin

author
#0 lore raw

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.

Cc Anuj Aggarwal <[email protected]>
Cc Graeme Gregory <[email protected]>
---
 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
index 60a7ca5..fbddc15 100644
@@ -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
index 0647552..bfffabc 100644
@@ -553,7 +553,6 @@ static __devinit
 int 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
index d461fa7..048ba47 100644
@@ -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
Acked-by on v1 1/1
#1 lore raw
Quoted 5 lines · Axel Lin

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.