Lines Matching refs:ltc3676

75 struct ltc3676 {  struct
84 struct ltc3676 *ltc3676 = rdev_get_drvdata(rdev); in ltc3676_set_suspend_voltage() argument
85 struct device *dev = ltc3676->dev; in ltc3676_set_suspend_voltage()
95 return regmap_update_bits(ltc3676->regmap, rdev->desc->vsel_reg + 1, in ltc3676_set_suspend_voltage()
102 struct ltc3676 *ltc3676= rdev_get_drvdata(rdev); in ltc3676_set_suspend_mode() local
103 struct device *dev = ltc3676->dev; in ltc3676_set_suspend_mode()
123 return regmap_update_bits(ltc3676->regmap, rdev->desc->vsel_reg, in ltc3676_set_suspend_mode()
129 struct ltc3676 *ltc3676 = rdev_get_drvdata(rdev); in ltc3676_set_voltage_sel() local
130 struct device *dev = ltc3676->dev; in ltc3676_set_voltage_sel()
135 ret = regmap_update_bits(ltc3676->regmap, rdev->desc->vsel_reg + 1, in ltc3676_set_voltage_sel()
158 struct ltc3676 *ltc3676 = config->driver_data; in ltc3676_of_parse_cb() local
159 struct regulator_desc *rdesc = &ltc3676->regulator_descs[desc->id]; in ltc3676_of_parse_cb()
169 dev_err(ltc3676->dev, "Failed to parse voltage divider: %d\n", in ltc3676_of_parse_cb()
330 struct ltc3676 *ltc3676 = dev_id; in ltc3676_isr() local
331 struct device *dev = ltc3676->dev; in ltc3676_isr()
334 regmap_read(ltc3676->regmap, LTC3676_IRQSTAT, &irqstat); in ltc3676_isr()
341 regulator_notifier_call_chain(ltc3676->regulators[i], in ltc3676_isr()
349 regulator_notifier_call_chain(ltc3676->regulators[i], in ltc3676_isr()
354 regmap_write(ltc3676->regmap, LTC3676_CLIRQ, 0); in ltc3676_isr()
365 struct ltc3676 *ltc3676; in ltc3676_regulator_probe() local
368 ltc3676 = devm_kzalloc(dev, sizeof(*ltc3676), GFP_KERNEL); in ltc3676_regulator_probe()
369 if (!ltc3676) in ltc3676_regulator_probe()
372 i2c_set_clientdata(client, ltc3676); in ltc3676_regulator_probe()
373 ltc3676->dev = dev; in ltc3676_regulator_probe()
375 descs = ltc3676->regulator_descs; in ltc3676_regulator_probe()
379 ltc3676->regmap = devm_regmap_init_i2c(client, &ltc3676_regmap_config); in ltc3676_regulator_probe()
380 if (IS_ERR(ltc3676->regmap)) { in ltc3676_regulator_probe()
381 ret = PTR_ERR(ltc3676->regmap); in ltc3676_regulator_probe()
387 struct regulator_desc *desc = &ltc3676->regulator_descs[i]; in ltc3676_regulator_probe()
394 config.driver_data = ltc3676; in ltc3676_regulator_probe()
396 ltc3676->regulators[i] = devm_regulator_register(dev, desc, in ltc3676_regulator_probe()
398 if (IS_ERR(ltc3676->regulators[i])) { in ltc3676_regulator_probe()
399 ret = PTR_ERR(ltc3676->regulators[i]); in ltc3676_regulator_probe()
406 regmap_write(ltc3676->regmap, LTC3676_CLIRQ, 0); in ltc3676_regulator_probe()
411 client->name, ltc3676); in ltc3676_regulator_probe()