Lines Matching refs:ltc3676
66 struct ltc3676 { struct
75 struct ltc3676 *ltc3676 = rdev_get_drvdata(rdev); in ltc3676_set_suspend_voltage() argument
76 struct device *dev = ltc3676->dev; in ltc3676_set_suspend_voltage()
86 return regmap_update_bits(ltc3676->regmap, rdev->desc->vsel_reg + 1, in ltc3676_set_suspend_voltage()
93 struct ltc3676 *ltc3676= rdev_get_drvdata(rdev); in ltc3676_set_suspend_mode() local
94 struct device *dev = ltc3676->dev; in ltc3676_set_suspend_mode()
114 return regmap_update_bits(ltc3676->regmap, rdev->desc->vsel_reg, in ltc3676_set_suspend_mode()
120 struct ltc3676 *ltc3676 = rdev_get_drvdata(rdev); in ltc3676_set_voltage_sel() local
121 struct device *dev = ltc3676->dev; in ltc3676_set_voltage_sel()
126 ret = regmap_update_bits(ltc3676->regmap, rdev->desc->vsel_reg + 1, in ltc3676_set_voltage_sel()
149 struct ltc3676 *ltc3676 = config->driver_data; in ltc3676_of_parse_cb() local
150 struct regulator_desc *rdesc = <c3676->regulator_descs[desc->id]; in ltc3676_of_parse_cb()
160 dev_err(ltc3676->dev, "Failed to parse voltage divider: %d\n", in ltc3676_of_parse_cb()
269 struct ltc3676 *ltc3676 = dev_id; in ltc3676_isr() local
270 struct device *dev = ltc3676->dev; in ltc3676_isr()
273 regmap_read(ltc3676->regmap, LTC3676_IRQSTAT, &irqstat); in ltc3676_isr()
280 regulator_notifier_call_chain(ltc3676->regulators[i], in ltc3676_isr()
288 regulator_notifier_call_chain(ltc3676->regulators[i], in ltc3676_isr()
293 regmap_write(ltc3676->regmap, LTC3676_CLIRQ, 0); in ltc3676_isr()
303 struct ltc3676 *ltc3676; in ltc3676_regulator_probe() local
306 ltc3676 = devm_kzalloc(dev, sizeof(*ltc3676), GFP_KERNEL); in ltc3676_regulator_probe()
307 if (!ltc3676) in ltc3676_regulator_probe()
310 i2c_set_clientdata(client, ltc3676); in ltc3676_regulator_probe()
311 ltc3676->dev = dev; in ltc3676_regulator_probe()
313 descs = ltc3676->regulator_descs; in ltc3676_regulator_probe()
317 ltc3676->regmap = devm_regmap_init_i2c(client, <c3676_regmap_config); in ltc3676_regulator_probe()
318 if (IS_ERR(ltc3676->regmap)) { in ltc3676_regulator_probe()
319 ret = PTR_ERR(ltc3676->regmap); in ltc3676_regulator_probe()
325 struct regulator_desc *desc = <c3676->regulator_descs[i]; in ltc3676_regulator_probe()
332 config.driver_data = ltc3676; in ltc3676_regulator_probe()
334 ltc3676->regulators[i] = devm_regulator_register(dev, desc, in ltc3676_regulator_probe()
336 if (IS_ERR(ltc3676->regulators[i])) { in ltc3676_regulator_probe()
337 ret = PTR_ERR(ltc3676->regulators[i]); in ltc3676_regulator_probe()
344 regmap_write(ltc3676->regmap, LTC3676_CLIRQ, 0); in ltc3676_regulator_probe()
349 client->name, ltc3676); in ltc3676_regulator_probe()