aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator/rc5t583-regulator.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/regulator/rc5t583-regulator.c')
-rw-r--r--drivers/regulator/rc5t583-regulator.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/regulator/rc5t583-regulator.c b/drivers/regulator/rc5t583-regulator.c
index b58affb33143..4c414ae109ae 100644
--- a/drivers/regulator/rc5t583-regulator.c
+++ b/drivers/regulator/rc5t583-regulator.c
@@ -119,7 +119,6 @@ static int rc5t583_regulator_probe(struct platform_device *pdev)
119{ 119{
120 struct rc5t583 *rc5t583 = dev_get_drvdata(pdev->dev.parent); 120 struct rc5t583 *rc5t583 = dev_get_drvdata(pdev->dev.parent);
121 struct rc5t583_platform_data *pdata = dev_get_platdata(rc5t583->dev); 121 struct rc5t583_platform_data *pdata = dev_get_platdata(rc5t583->dev);
122 struct regulator_init_data *reg_data;
123 struct regulator_config config = { }; 122 struct regulator_config config = { };
124 struct rc5t583_regulator *reg = NULL; 123 struct rc5t583_regulator *reg = NULL;
125 struct rc5t583_regulator *regs; 124 struct rc5t583_regulator *regs;
@@ -135,19 +134,11 @@ static int rc5t583_regulator_probe(struct platform_device *pdev)
135 134
136 regs = devm_kzalloc(&pdev->dev, RC5T583_REGULATOR_MAX * 135 regs = devm_kzalloc(&pdev->dev, RC5T583_REGULATOR_MAX *
137 sizeof(struct rc5t583_regulator), GFP_KERNEL); 136 sizeof(struct rc5t583_regulator), GFP_KERNEL);
138 if (!regs) { 137 if (!regs)
139 dev_err(&pdev->dev, "Memory allocation failed exiting..\n");
140 return -ENOMEM; 138 return -ENOMEM;
141 }
142 139
143 140
144 for (id = 0; id < RC5T583_REGULATOR_MAX; ++id) { 141 for (id = 0; id < RC5T583_REGULATOR_MAX; ++id) {
145 reg_data = pdata->reg_init_data[id];
146
147 /* No need to register if there is no regulator data */
148 if (!reg_data)
149 continue;
150
151 reg = &regs[id]; 142 reg = &regs[id];
152 ri = &rc5t583_reg_info[id]; 143 ri = &rc5t583_reg_info[id];
153 reg->reg_info = ri; 144 reg->reg_info = ri;
@@ -169,7 +160,7 @@ static int rc5t583_regulator_probe(struct platform_device *pdev)
169 160
170skip_ext_pwr_config: 161skip_ext_pwr_config:
171 config.dev = &pdev->dev; 162 config.dev = &pdev->dev;
172 config.init_data = reg_data; 163 config.init_data = pdata->reg_init_data[id];
173 config.driver_data = reg; 164 config.driver_data = reg;
174 config.regmap = rc5t583->regmap; 165 config.regmap = rc5t583->regmap;
175 166