Lines Matching refs:di

98 	struct fan53555_device_info *di = rdev_get_drvdata(rdev);  in fan53555_set_suspend_voltage()  local
101 if (di->sleep_vol_cache == uV) in fan53555_set_suspend_voltage()
106 ret = regmap_update_bits(di->regmap, di->sleep_reg, in fan53555_set_suspend_voltage()
112 di->sleep_vol_cache = uV; in fan53555_set_suspend_voltage()
119 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_mode() local
123 regmap_update_bits(di->regmap, di->vol_reg, in fan53555_set_mode()
127 regmap_update_bits(di->regmap, di->vol_reg, VSEL_MODE, 0); in fan53555_set_mode()
137 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_get_mode() local
141 ret = regmap_read(di->regmap, di->vol_reg, &val); in fan53555_get_mode()
163 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_ramp() local
174 dev_err(di->dev, "unsupported ramp value %d\n", ramp); in fan53555_set_ramp()
178 return regmap_update_bits(di->regmap, FAN53555_CONTROL, in fan53555_set_ramp()
196 static int fan53555_voltages_setup_fairchild(struct fan53555_device_info *di) in fan53555_voltages_setup_fairchild() argument
199 switch (di->chip_id) { in fan53555_voltages_setup_fairchild()
204 di->vsel_min = 600000; in fan53555_voltages_setup_fairchild()
205 di->vsel_step = 10000; in fan53555_voltages_setup_fairchild()
208 di->vsel_min = 603000; in fan53555_voltages_setup_fairchild()
209 di->vsel_step = 12826; in fan53555_voltages_setup_fairchild()
212 dev_err(di->dev, in fan53555_voltages_setup_fairchild()
213 "Chip ID %d not supported!\n", di->chip_id); in fan53555_voltages_setup_fairchild()
220 static int fan53555_voltages_setup_silergy(struct fan53555_device_info *di) in fan53555_voltages_setup_silergy() argument
223 switch (di->chip_id) { in fan53555_voltages_setup_silergy()
225 di->vsel_min = 712500; in fan53555_voltages_setup_silergy()
226 di->vsel_step = 12500; in fan53555_voltages_setup_silergy()
229 dev_err(di->dev, in fan53555_voltages_setup_silergy()
230 "Chip ID %d not supported!\n", di->chip_id); in fan53555_voltages_setup_silergy()
242 static int fan53555_device_setup(struct fan53555_device_info *di, in fan53555_device_setup() argument
250 di->sleep_reg = FAN53555_VSEL0; in fan53555_device_setup()
251 di->vol_reg = FAN53555_VSEL1; in fan53555_device_setup()
254 di->sleep_reg = FAN53555_VSEL1; in fan53555_device_setup()
255 di->vol_reg = FAN53555_VSEL0; in fan53555_device_setup()
258 dev_err(di->dev, "Invalid VSEL ID!\n"); in fan53555_device_setup()
262 switch (di->vendor) { in fan53555_device_setup()
264 ret = fan53555_voltages_setup_fairchild(di); in fan53555_device_setup()
267 ret = fan53555_voltages_setup_silergy(di); in fan53555_device_setup()
270 dev_err(di->dev, "vendor %d not supported!\n", di->vendor); in fan53555_device_setup()
277 static int fan53555_regulator_register(struct fan53555_device_info *di, in fan53555_regulator_register() argument
280 struct regulator_desc *rdesc = &di->desc; in fan53555_regulator_register()
287 rdesc->enable_reg = di->vol_reg; in fan53555_regulator_register()
289 rdesc->min_uV = di->vsel_min; in fan53555_regulator_register()
290 rdesc->uV_step = di->vsel_step; in fan53555_regulator_register()
291 rdesc->vsel_reg = di->vol_reg; in fan53555_regulator_register()
295 di->rdev = devm_regulator_register(di->dev, &di->desc, config); in fan53555_regulator_register()
296 return PTR_ERR_OR_ZERO(di->rdev); in fan53555_regulator_register()
345 struct fan53555_device_info *di; in fan53555_regulator_probe() local
351 di = devm_kzalloc(&client->dev, sizeof(struct fan53555_device_info), in fan53555_regulator_probe()
353 if (!di) in fan53555_regulator_probe()
358 pdata = fan53555_parse_dt(&client->dev, np, &di->desc); in fan53555_regulator_probe()
365 di->regulator = pdata->regulator; in fan53555_regulator_probe()
374 di->vendor = (unsigned long) match->data; in fan53555_regulator_probe()
377 if (!di->regulator->constraints.ramp_delay) { in fan53555_regulator_probe()
381 di->regulator->constraints.ramp_delay in fan53555_regulator_probe()
385 di->vendor = id->driver_data; in fan53555_regulator_probe()
388 di->regmap = devm_regmap_init_i2c(client, &fan53555_regmap_config); in fan53555_regulator_probe()
389 if (IS_ERR(di->regmap)) { in fan53555_regulator_probe()
391 return PTR_ERR(di->regmap); in fan53555_regulator_probe()
393 di->dev = &client->dev; in fan53555_regulator_probe()
394 i2c_set_clientdata(client, di); in fan53555_regulator_probe()
396 ret = regmap_read(di->regmap, FAN53555_ID1, &val); in fan53555_regulator_probe()
401 di->chip_id = val & DIE_ID; in fan53555_regulator_probe()
403 ret = regmap_read(di->regmap, FAN53555_ID2, &val); in fan53555_regulator_probe()
408 di->chip_rev = val & DIE_REV; in fan53555_regulator_probe()
410 di->chip_id, di->chip_rev); in fan53555_regulator_probe()
412 ret = fan53555_device_setup(di, pdata); in fan53555_regulator_probe()
418 config.dev = di->dev; in fan53555_regulator_probe()
419 config.init_data = di->regulator; in fan53555_regulator_probe()
420 config.regmap = di->regmap; in fan53555_regulator_probe()
421 config.driver_data = di; in fan53555_regulator_probe()
424 ret = fan53555_regulator_register(di, &config); in fan53555_regulator_probe()