summaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/hi6421-regulator.c31
1 files changed, 4 insertions, 27 deletions
diff --git a/drivers/regulator/hi6421-regulator.c b/drivers/regulator/hi6421-regulator.c
index b0de92bee4a2..e3899201cd7e 100644
--- a/drivers/regulator/hi6421-regulator.c
+++ b/drivers/regulator/hi6421-regulator.c
@@ -17,19 +17,13 @@
#include <linux/device.h>
#include <linux/module.h>
#include <linux/err.h>
-#include <linux/io.h>
-#include <linux/jiffies.h>
#include <linux/platform_device.h>
#include <linux/of.h>
-#include <linux/of_device.h>
-#include <linux/of_address.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/of_regulator.h>
#include <linux/mfd/hi6421-pmic.h>
-#include <linux/delay.h>
-#include <linux/time.h>
/*
* struct hi6421_regulator_pdata - Hi6421 regulator data of platform device
@@ -41,20 +35,14 @@ struct hi6421_regulator_pdata {
/*
* struct hi6421_regulator_info - hi6421 regulator information
- * @dev: device pointer
* @desc: regulator description
- * @regulator: regulator device
* @mode_mask: ECO mode bitmask of LDOs; for BUCKs, this masks sleep
* @eco_microamp: eco mode load upper limit (in mA), valid for LDOs only
- * @valid_modes_mask: valid operating modes
*/
struct hi6421_regulator_info {
- struct device *dev;
struct regulator_desc desc;
- struct regulator_dev *regulator;
u8 mode_mask;
u32 eco_microamp;
- unsigned int valid_modes_mask;
};
/* HI6421 regulators */
@@ -198,8 +186,6 @@ static const struct regulator_ops hi6421_buck345_ops;
}, \
.mode_mask = ecomask, \
.eco_microamp = ecoamp, \
- .valid_modes_mask = (REGULATOR_MODE_NORMAL \
- | REGULATOR_MODE_IDLE), \
}
/* HI6421 LDO1~3 are linear voltage regulators at fixed uV_step
@@ -237,8 +223,6 @@ static const struct regulator_ops hi6421_buck345_ops;
}, \
.mode_mask = ecomask, \
.eco_microamp = ecoamp, \
- .valid_modes_mask = (REGULATOR_MODE_NORMAL \
- | REGULATOR_MODE_IDLE), \
}
/* HI6421 LDOAUDIO is a linear voltage regulator with two 4-step ranges
@@ -276,8 +260,6 @@ static const struct regulator_ops hi6421_buck345_ops;
}, \
.mode_mask = ecomask, \
.eco_microamp = ecoamp, \
- .valid_modes_mask = (REGULATOR_MODE_NORMAL \
- | REGULATOR_MODE_IDLE), \
}
/* HI6421 BUCK0/1/2 are linear voltage regulators at fixed uV_step
@@ -311,8 +293,6 @@ static const struct regulator_ops hi6421_buck345_ops;
.off_on_delay = odelay, \
}, \
.mode_mask = sleepmask, \
- .valid_modes_mask = (REGULATOR_MODE_NORMAL \
- | REGULATOR_MODE_STANDBY), \
}
/* HI6421 BUCK3/4/5 share similar configurations as LDOs, with exception
@@ -346,8 +326,6 @@ static const struct regulator_ops hi6421_buck345_ops;
.off_on_delay = odelay, \
}, \
.mode_mask = sleepmask, \
- .valid_modes_mask = (REGULATOR_MODE_NORMAL \
- | REGULATOR_MODE_STANDBY), \
}
/* HI6421 regulator information */
@@ -580,10 +558,10 @@ static int hi6421_regulator_register(struct platform_device *pdev,
{
struct hi6421_regulator_info *info = NULL;
struct regulator_config config = { };
+ struct regulator_dev *rdev;
/* assign per-regulator data */
info = &hi6421_regulator_info[id];
- info->dev = &pdev->dev;
config.dev = &pdev->dev;
config.init_data = init_data;
@@ -592,12 +570,11 @@ static int hi6421_regulator_register(struct platform_device *pdev,
config.of_node = np;
/* register regulator with framework */
- info->regulator = devm_regulator_register(&pdev->dev, &info->desc,
- &config);
- if (IS_ERR(info->regulator)) {
+ rdev = devm_regulator_register(&pdev->dev, &info->desc, &config);
+ if (IS_ERR(rdev)) {
dev_err(&pdev->dev, "failed to register regulator %s\n",
info->desc.name);
- return PTR_ERR(info->regulator);
+ return PTR_ERR(rdev);
}
return 0;
OpenPOWER on IntegriCloud