summaryrefslogtreecommitdiffstats
path: root/drivers/regulator/rk808-regulator.c
diff options
context:
space:
mode:
authorChris Zhong <zyw@rock-chips.com>2014-08-25 21:37:06 +0800
committerMark Brown <broonie@linaro.org>2014-08-26 08:30:23 +0100
commitd76c333e9fe2d269c54f68747b2311a5657276e5 (patch)
treef962e8a4486bfc992da17d406235e8f25c8c6e39 /drivers/regulator/rk808-regulator.c
parent462004f1215ccb77969004a049aa5437f34c9b06 (diff)
downloadlinux-d76c333e9fe2d269c54f68747b2311a5657276e5.tar.bz2
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: Chris Zhong <zyw@rock-chips.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/regulator/rk808-regulator.c')
-rw-r--r--drivers/regulator/rk808-regulator.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c
index 4d5041ceb56a..f00d6d89c7f4 100644
--- a/drivers/regulator/rk808-regulator.c
+++ b/drivers/regulator/rk808-regulator.c
@@ -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,
+ if (ret < 0) {
+ 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);
}