Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

regulator: anatop: Remove unneeded fields from struct anatop_regulator

These fields are only used in anatop_regulator_probe() so use local
variables instead. The *initdata is not used so can be removed.
The *anatop is renamed to *regmap for better readability.
Use u32 instead of int for the variables used as third argument of
of_property_read_u32().

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Axel Lin and committed by
Mark Brown
f34a2692 6e1f22ee

+27 -36
+27 -36
drivers/regulator/anatop-regulator.c
··· 23 23 #define LDO_FET_FULL_ON 0x1f 24 24 25 25 struct anatop_regulator { 26 - u32 control_reg; 27 - struct regmap *anatop; 28 - int vol_bit_shift; 29 - int vol_bit_width; 30 26 u32 delay_reg; 31 27 int delay_bit_shift; 32 28 int delay_bit_width; 33 - int min_bit_val; 34 - int min_voltage; 35 - int max_voltage; 36 29 struct regulator_desc rdesc; 37 - struct regulator_init_data *initdata; 38 30 bool bypass; 39 31 int sel; 40 32 }; ··· 47 55 * to calculate how many steps LDO need to 48 56 * ramp up, and how much delay needed. (us) 49 57 */ 50 - regmap_read(anatop_reg->anatop, anatop_reg->delay_reg, &val); 58 + regmap_read(reg->regmap, anatop_reg->delay_reg, &val); 51 59 val = (val >> anatop_reg->delay_bit_shift) & 52 60 ((1 << anatop_reg->delay_bit_width) - 1); 53 61 ret = (new_sel - old_sel) * (LDO_RAMP_UP_UNIT_IN_CYCLES << ··· 162 170 struct anatop_regulator *sreg; 163 171 struct regulator_init_data *initdata; 164 172 struct regulator_config config = { }; 173 + struct regmap *regmap; 174 + u32 control_reg; 175 + u32 vol_bit_shift; 176 + u32 vol_bit_width; 177 + u32 min_bit_val; 178 + u32 min_voltage; 179 + u32 max_voltage; 165 180 int ret = 0; 166 181 u32 val; 167 182 ··· 191 192 return -ENOMEM; 192 193 193 194 initdata->supply_regulator = "vin"; 194 - sreg->initdata = initdata; 195 195 196 196 anatop_np = of_get_parent(np); 197 197 if (!anatop_np) 198 198 return -ENODEV; 199 - sreg->anatop = syscon_node_to_regmap(anatop_np); 199 + regmap = syscon_node_to_regmap(anatop_np); 200 200 of_node_put(anatop_np); 201 - if (IS_ERR(sreg->anatop)) 202 - return PTR_ERR(sreg->anatop); 201 + if (IS_ERR(regmap)) 202 + return PTR_ERR(regmap); 203 203 204 - ret = of_property_read_u32(np, "anatop-reg-offset", 205 - &sreg->control_reg); 204 + ret = of_property_read_u32(np, "anatop-reg-offset", &control_reg); 206 205 if (ret) { 207 206 dev_err(dev, "no anatop-reg-offset property set\n"); 208 207 return ret; 209 208 } 210 - ret = of_property_read_u32(np, "anatop-vol-bit-width", 211 - &sreg->vol_bit_width); 209 + ret = of_property_read_u32(np, "anatop-vol-bit-width", &vol_bit_width); 212 210 if (ret) { 213 211 dev_err(dev, "no anatop-vol-bit-width property set\n"); 214 212 return ret; 215 213 } 216 - ret = of_property_read_u32(np, "anatop-vol-bit-shift", 217 - &sreg->vol_bit_shift); 214 + ret = of_property_read_u32(np, "anatop-vol-bit-shift", &vol_bit_shift); 218 215 if (ret) { 219 216 dev_err(dev, "no anatop-vol-bit-shift property set\n"); 220 217 return ret; 221 218 } 222 - ret = of_property_read_u32(np, "anatop-min-bit-val", 223 - &sreg->min_bit_val); 219 + ret = of_property_read_u32(np, "anatop-min-bit-val", &min_bit_val); 224 220 if (ret) { 225 221 dev_err(dev, "no anatop-min-bit-val property set\n"); 226 222 return ret; 227 223 } 228 - ret = of_property_read_u32(np, "anatop-min-voltage", 229 - &sreg->min_voltage); 224 + ret = of_property_read_u32(np, "anatop-min-voltage", &min_voltage); 230 225 if (ret) { 231 226 dev_err(dev, "no anatop-min-voltage property set\n"); 232 227 return ret; 233 228 } 234 - ret = of_property_read_u32(np, "anatop-max-voltage", 235 - &sreg->max_voltage); 229 + ret = of_property_read_u32(np, "anatop-max-voltage", &max_voltage); 236 230 if (ret) { 237 231 dev_err(dev, "no anatop-max-voltage property set\n"); 238 232 return ret; ··· 239 247 of_property_read_u32(np, "anatop-delay-bit-shift", 240 248 &sreg->delay_bit_shift); 241 249 242 - rdesc->n_voltages = (sreg->max_voltage - sreg->min_voltage) / 25000 + 1 243 - + sreg->min_bit_val; 244 - rdesc->min_uV = sreg->min_voltage; 250 + rdesc->n_voltages = (max_voltage - min_voltage) / 25000 + 1 251 + + min_bit_val; 252 + rdesc->min_uV = min_voltage; 245 253 rdesc->uV_step = 25000; 246 - rdesc->linear_min_sel = sreg->min_bit_val; 247 - rdesc->vsel_reg = sreg->control_reg; 248 - rdesc->vsel_mask = ((1 << sreg->vol_bit_width) - 1) << 249 - sreg->vol_bit_shift; 254 + rdesc->linear_min_sel = min_bit_val; 255 + rdesc->vsel_reg = control_reg; 256 + rdesc->vsel_mask = ((1 << vol_bit_width) - 1) << vol_bit_shift; 250 257 rdesc->min_dropout_uV = 125000; 251 258 252 259 config.dev = &pdev->dev; 253 260 config.init_data = initdata; 254 261 config.driver_data = sreg; 255 262 config.of_node = pdev->dev.of_node; 256 - config.regmap = sreg->anatop; 263 + config.regmap = regmap; 257 264 258 265 /* Only core regulators have the ramp up delay configuration. */ 259 - if (sreg->control_reg && sreg->delay_bit_width) { 266 + if (control_reg && sreg->delay_bit_width) { 260 267 rdesc->ops = &anatop_core_rops; 261 268 262 269 ret = regmap_read(config.regmap, rdesc->vsel_reg, &val); ··· 264 273 return ret; 265 274 } 266 275 267 - sreg->sel = (val & rdesc->vsel_mask) >> sreg->vol_bit_shift; 276 + sreg->sel = (val & rdesc->vsel_mask) >> vol_bit_shift; 268 277 if (sreg->sel == LDO_FET_FULL_ON) { 269 278 sreg->sel = 0; 270 279 sreg->bypass = true; ··· 297 306 anatop_rops.disable = regulator_disable_regmap; 298 307 anatop_rops.is_enabled = regulator_is_enabled_regmap; 299 308 300 - rdesc->enable_reg = sreg->control_reg; 309 + rdesc->enable_reg = control_reg; 301 310 rdesc->enable_mask = BIT(enable_bit); 302 311 } 303 312 }