regulator: as3711: Remove struct as3711_regulator_info and as3711_regulator
This driver does not really need struct as3711_regulator_info and struct as3711_regulator, remove them. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f4192c2cc9
commit
f668a1db0b
|
@ -17,14 +17,6 @@
|
||||||
#include <linux/regulator/of_regulator.h>
|
#include <linux/regulator/of_regulator.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|
||||||
struct as3711_regulator_info {
|
|
||||||
struct regulator_desc desc;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct as3711_regulator {
|
|
||||||
struct as3711_regulator_info *reg_info;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The regulator API supports 4 modes of operataion: FAST, NORMAL, IDLE and
|
* The regulator API supports 4 modes of operataion: FAST, NORMAL, IDLE and
|
||||||
* STANDBY. We map them in the following way to AS3711 SD1-4 DCDC modes:
|
* STANDBY. We map them in the following way to AS3711 SD1-4 DCDC modes:
|
||||||
|
@ -129,7 +121,6 @@ static const struct regulator_linear_range as3711_dldo_ranges[] = {
|
||||||
|
|
||||||
#define AS3711_REG(_id, _en_reg, _en_bit, _vmask, _sfx) \
|
#define AS3711_REG(_id, _en_reg, _en_bit, _vmask, _sfx) \
|
||||||
[AS3711_REGULATOR_ ## _id] = { \
|
[AS3711_REGULATOR_ ## _id] = { \
|
||||||
.desc = { \
|
|
||||||
.name = "as3711-regulator-" # _id, \
|
.name = "as3711-regulator-" # _id, \
|
||||||
.id = AS3711_REGULATOR_ ## _id, \
|
.id = AS3711_REGULATOR_ ## _id, \
|
||||||
.n_voltages = (_vmask + 1), \
|
.n_voltages = (_vmask + 1), \
|
||||||
|
@ -142,10 +133,9 @@ static const struct regulator_linear_range as3711_dldo_ranges[] = {
|
||||||
.enable_mask = BIT(_en_bit), \
|
.enable_mask = BIT(_en_bit), \
|
||||||
.linear_ranges = as3711_ ## _sfx ## _ranges, \
|
.linear_ranges = as3711_ ## _sfx ## _ranges, \
|
||||||
.n_linear_ranges = ARRAY_SIZE(as3711_ ## _sfx ## _ranges), \
|
.n_linear_ranges = ARRAY_SIZE(as3711_ ## _sfx ## _ranges), \
|
||||||
}, \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct as3711_regulator_info as3711_reg_info[] = {
|
static const struct regulator_desc as3711_reg_desc[] = {
|
||||||
AS3711_REG(SD_1, SD_CONTROL, 0, 0x7f, sd),
|
AS3711_REG(SD_1, SD_CONTROL, 0, 0x7f, sd),
|
||||||
AS3711_REG(SD_2, SD_CONTROL, 1, 0x7f, sd),
|
AS3711_REG(SD_2, SD_CONTROL, 1, 0x7f, sd),
|
||||||
AS3711_REG(SD_3, SD_CONTROL, 2, 0x7f, sd),
|
AS3711_REG(SD_3, SD_CONTROL, 2, 0x7f, sd),
|
||||||
|
@ -161,7 +151,7 @@ static struct as3711_regulator_info as3711_reg_info[] = {
|
||||||
/* StepUp output voltage depends on supplying regulator */
|
/* StepUp output voltage depends on supplying regulator */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define AS3711_REGULATOR_NUM ARRAY_SIZE(as3711_reg_info)
|
#define AS3711_REGULATOR_NUM ARRAY_SIZE(as3711_reg_desc)
|
||||||
|
|
||||||
static struct of_regulator_match
|
static struct of_regulator_match
|
||||||
as3711_regulator_matches[AS3711_REGULATOR_NUM] = {
|
as3711_regulator_matches[AS3711_REGULATOR_NUM] = {
|
||||||
|
@ -215,11 +205,8 @@ static int as3711_regulator_probe(struct platform_device *pdev)
|
||||||
struct as3711_regulator_pdata *pdata = dev_get_platdata(&pdev->dev);
|
struct as3711_regulator_pdata *pdata = dev_get_platdata(&pdev->dev);
|
||||||
struct as3711 *as3711 = dev_get_drvdata(pdev->dev.parent);
|
struct as3711 *as3711 = dev_get_drvdata(pdev->dev.parent);
|
||||||
struct regulator_config config = {.dev = &pdev->dev,};
|
struct regulator_config config = {.dev = &pdev->dev,};
|
||||||
struct as3711_regulator *reg = NULL;
|
|
||||||
struct as3711_regulator *regs;
|
|
||||||
struct device_node *of_node[AS3711_REGULATOR_NUM] = {};
|
struct device_node *of_node[AS3711_REGULATOR_NUM] = {};
|
||||||
struct regulator_dev *rdev;
|
struct regulator_dev *rdev;
|
||||||
struct as3711_regulator_info *ri;
|
|
||||||
int ret;
|
int ret;
|
||||||
int id;
|
int id;
|
||||||
|
|
||||||
|
@ -236,30 +223,20 @@ static int as3711_regulator_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
regs = devm_kcalloc(&pdev->dev,
|
for (id = 0; id < AS3711_REGULATOR_NUM; id++) {
|
||||||
AS3711_REGULATOR_NUM,
|
|
||||||
sizeof(struct as3711_regulator),
|
|
||||||
GFP_KERNEL);
|
|
||||||
if (!regs)
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
for (id = 0, ri = as3711_reg_info; id < AS3711_REGULATOR_NUM; ++id, ri++) {
|
|
||||||
reg = ®s[id];
|
|
||||||
reg->reg_info = ri;
|
|
||||||
|
|
||||||
config.init_data = pdata->init_data[id];
|
config.init_data = pdata->init_data[id];
|
||||||
config.driver_data = reg;
|
|
||||||
config.regmap = as3711->regmap;
|
config.regmap = as3711->regmap;
|
||||||
config.of_node = of_node[id];
|
config.of_node = of_node[id];
|
||||||
|
|
||||||
rdev = devm_regulator_register(&pdev->dev, &ri->desc, &config);
|
rdev = devm_regulator_register(&pdev->dev, &as3711_reg_desc[id],
|
||||||
|
&config);
|
||||||
if (IS_ERR(rdev)) {
|
if (IS_ERR(rdev)) {
|
||||||
dev_err(&pdev->dev, "Failed to register regulator %s\n",
|
dev_err(&pdev->dev, "Failed to register regulator %s\n",
|
||||||
ri->desc.name);
|
as3711_reg_desc[id].name);
|
||||||
return PTR_ERR(rdev);
|
return PTR_ERR(rdev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
platform_set_drvdata(pdev, regs);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue