Browse Source

regulator: da9211: fix unmatched of_node

This is a patch for fixing unmatched of_node.

Signed-off-by: James Ban <james.ban.opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
James Ban 10 years ago
parent
commit
076c3b8e03
2 changed files with 3 additions and 2 deletions
  1. 2 2
      drivers/regulator/da9211-regulator.c
  2. 1 0
      include/linux/regulator/da9211.h

+ 2 - 2
drivers/regulator/da9211-regulator.c

@@ -276,7 +276,7 @@ static struct da9211_pdata *da9211_parse_regulators_dt(
 			continue;
 			continue;
 
 
 		pdata->init_data[n] = da9211_matches[i].init_data;
 		pdata->init_data[n] = da9211_matches[i].init_data;
-
+		pdata->reg_node[n] = da9211_matches[i].of_node;
 		n++;
 		n++;
 	}
 	}
 
 
@@ -364,7 +364,7 @@ static int da9211_regulator_init(struct da9211 *chip)
 		config.dev = chip->dev;
 		config.dev = chip->dev;
 		config.driver_data = chip;
 		config.driver_data = chip;
 		config.regmap = chip->regmap;
 		config.regmap = chip->regmap;
-		config.of_node = chip->dev->of_node;
+		config.of_node = chip->pdata->reg_node[i];
 
 
 		chip->rdev[i] = devm_regulator_register(chip->dev,
 		chip->rdev[i] = devm_regulator_register(chip->dev,
 			&da9211_regulators[i], &config);
 			&da9211_regulators[i], &config);

+ 1 - 0
include/linux/regulator/da9211.h

@@ -32,6 +32,7 @@ struct da9211_pdata {
 	 * 2 : 2 phase 2 buck
 	 * 2 : 2 phase 2 buck
 	 */
 	 */
 	int num_buck;
 	int num_buck;
+	struct device_node *reg_node[DA9211_MAX_REGULATORS];
 	struct regulator_init_data *init_data[DA9211_MAX_REGULATORS];
 	struct regulator_init_data *init_data[DA9211_MAX_REGULATORS];
 };
 };
 #endif
 #endif