Commit d76c333e authored by Chris Zhong's avatar Chris Zhong Committed by Mark Brown
Browse files

regulator: RK808: modify for struct rk808 change



The "dev" has been deleted from "struct rk808" in rk808 mfd driver
so rk808->dev should be replaced by &client->dev here.

Signed-off-by: default avatarChris Zhong <zyw@rock-chips.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 462004f1
Loading
Loading
Loading
Loading
+14 −20
Original line number Diff line number Diff line
@@ -296,13 +296,14 @@ static struct of_regulator_match rk808_reg_matches[] = {

static int rk808_regulator_dts(struct rk808 *rk808)
{
	struct rk808_board *pdata = rk808->pdata;
	struct device_node *np, *reg_np;
	struct i2c_client *client = rk808->i2c;
	struct rk808_board *pdata = rk808->pdata;
	int i, ret;

	np = rk808->dev->of_node;
	np = client->dev.of_node;
	if (!np) {
		dev_err(rk808->dev, "could not find pmic sub-node\n");
		dev_err(&client->dev, "could not find pmic sub-node\n");
		return -ENXIO;
	}

@@ -310,10 +311,10 @@ static int rk808_regulator_dts(struct rk808 *rk808)
	if (!reg_np)
		return -ENXIO;

	ret = of_regulator_match(rk808->dev, reg_np, rk808_reg_matches,
	ret = of_regulator_match(&client->dev, reg_np, rk808_reg_matches,
				 RK808_NUM_REGULATORS);
	if (ret < 0) {
		dev_err(rk808->dev,
		dev_err(&client->dev,
			"failed to parse regulator data: %d\n", ret);
		return ret;
	}
@@ -333,24 +334,17 @@ static int rk808_regulator_dts(struct rk808 *rk808)
static int rk808_regulator_probe(struct platform_device *pdev)
{
	struct rk808 *rk808 = dev_get_drvdata(pdev->dev.parent);
	struct rk808_board *pdata;
	struct i2c_client *client = rk808->i2c;
	struct rk808_board *pdata = rk808->pdata;
	struct regulator_config config = {};
	struct regulator_dev *rk808_rdev;
	struct regulator_init_data *reg_data;
	int i = 0;
	int ret = 0;

	dev_dbg(rk808->dev, "%s\n", __func__);

	if (!rk808) {
		dev_err(rk808->dev, "%s no rk808\n", __func__);
		return -ENODEV;
	}

	pdata = rk808->pdata;
	if (!pdata) {
		dev_warn(rk808->dev, "%s no pdata, create it\n", __func__);
		pdata = devm_kzalloc(rk808->dev, sizeof(*pdata), GFP_KERNEL);
		dev_warn(&client->dev, "%s no pdata, create it\n", __func__);
		pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
		if (!pdata)
			return -ENOMEM;
	}
@@ -371,11 +365,11 @@ static int rk808_regulator_probe(struct platform_device *pdev)
		if (!reg_data)
			continue;

		config.dev = rk808->dev;
		config.dev = &client->dev;
		config.driver_data = rk808;
		config.regmap = rk808->regmap;

		if (rk808->dev->of_node)
		if (client->dev.of_node)
			config.of_node = pdata->of_node[i];

		reg_data->supply_regulator = rk808_reg[i].name;
@@ -384,7 +378,7 @@ static int rk808_regulator_probe(struct platform_device *pdev)
		rk808_rdev = devm_regulator_register(&pdev->dev,
						     &rk808_reg[i], &config);
		if (IS_ERR(rk808_rdev)) {
			dev_err(rk808->dev,
			dev_err(&client->dev,
				"failed to register %d regulator\n", i);
			return PTR_ERR(rk808_rdev);
		}