aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator/aat2870-regulator.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2012-03-02 09:28:44 +0800
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-11 20:48:48 +0000
commitb21bcd1ada026cd90243311e89dd8d999fe0a227 (patch)
treedc8d6e9fee685738020ceb585144bc1d1df707a8 /drivers/regulator/aat2870-regulator.c
parentregulator: Simplify the code to get selector in isl6271a_set_voltage (diff)
downloadlinux-dev-b21bcd1ada026cd90243311e89dd8d999fe0a227.tar.xz
linux-dev-b21bcd1ada026cd90243311e89dd8d999fe0a227.zip
regulator: Add a pointer to aat2870_data in struct aat2870_regulator
The reason we add *pdev in struct aat2870_regulator is to use it to get a pointer to struct aat2870_data. Save a pointer to struct aat2870_data instead of pdev in struct aat2870_regulator, this change makes the intention more clear. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Jin Park <jinyoungp@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/aat2870-regulator.c')
-rw-r--r--drivers/regulator/aat2870-regulator.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/regulator/aat2870-regulator.c b/drivers/regulator/aat2870-regulator.c
index 685ad43b0749..9ed5c5d84e12 100644
--- a/drivers/regulator/aat2870-regulator.c
+++ b/drivers/regulator/aat2870-regulator.c
@@ -31,7 +31,7 @@
#include <linux/mfd/aat2870.h>
struct aat2870_regulator {
- struct platform_device *pdev;
+ struct aat2870_data *aat2870;
struct regulator_desc desc;
const int *voltages; /* uV */
@@ -60,7 +60,7 @@ static int aat2870_ldo_set_voltage_sel(struct regulator_dev *rdev,
unsigned selector)
{
struct aat2870_regulator *ri = rdev_get_drvdata(rdev);
- struct aat2870_data *aat2870 = dev_get_drvdata(ri->pdev->dev.parent);
+ struct aat2870_data *aat2870 = ri->aat2870;
return aat2870->update(aat2870, ri->voltage_addr, ri->voltage_mask,
selector << ri->voltage_shift);
@@ -69,7 +69,7 @@ static int aat2870_ldo_set_voltage_sel(struct regulator_dev *rdev,
static int aat2870_ldo_get_voltage_sel(struct regulator_dev *rdev)
{
struct aat2870_regulator *ri = rdev_get_drvdata(rdev);
- struct aat2870_data *aat2870 = dev_get_drvdata(ri->pdev->dev.parent);
+ struct aat2870_data *aat2870 = ri->aat2870;
u8 val;
int ret;
@@ -83,7 +83,7 @@ static int aat2870_ldo_get_voltage_sel(struct regulator_dev *rdev)
static int aat2870_ldo_enable(struct regulator_dev *rdev)
{
struct aat2870_regulator *ri = rdev_get_drvdata(rdev);
- struct aat2870_data *aat2870 = dev_get_drvdata(ri->pdev->dev.parent);
+ struct aat2870_data *aat2870 = ri->aat2870;
return aat2870->update(aat2870, ri->enable_addr, ri->enable_mask,
ri->enable_mask);
@@ -92,7 +92,7 @@ static int aat2870_ldo_enable(struct regulator_dev *rdev)
static int aat2870_ldo_disable(struct regulator_dev *rdev)
{
struct aat2870_regulator *ri = rdev_get_drvdata(rdev);
- struct aat2870_data *aat2870 = dev_get_drvdata(ri->pdev->dev.parent);
+ struct aat2870_data *aat2870 = ri->aat2870;
return aat2870->update(aat2870, ri->enable_addr, ri->enable_mask, 0);
}
@@ -100,7 +100,7 @@ static int aat2870_ldo_disable(struct regulator_dev *rdev)
static int aat2870_ldo_is_enabled(struct regulator_dev *rdev)
{
struct aat2870_regulator *ri = rdev_get_drvdata(rdev);
- struct aat2870_data *aat2870 = dev_get_drvdata(ri->pdev->dev.parent);
+ struct aat2870_data *aat2870 = ri->aat2870;
u8 val;
int ret;
@@ -185,7 +185,7 @@ static int aat2870_regulator_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "Invalid device ID, %d\n", pdev->id);
return -EINVAL;
}
- ri->pdev = pdev;
+ ri->aat2870 = dev_get_drvdata(pdev->dev.parent);
rdev = regulator_register(&ri->desc, &pdev->dev,
pdev->dev.platform_data, ri, NULL);