Lines Matching refs:ltc3589

94 struct ltc3589 {  struct
112 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev); in ltc3589_set_ramp_delay() argument
124 return regmap_update_bits(ltc3589->regmap, in ltc3589_set_ramp_delay()
134 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev); in ltc3589_set_suspend_voltage() local
142 return regmap_update_bits(ltc3589->regmap, rdev->desc->vsel_reg + 1, in ltc3589_set_suspend_voltage()
149 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev); in ltc3589_set_suspend_mode() local
160 return regmap_update_bits(ltc3589->regmap, LTC3589_VCCR, mask, bit); in ltc3589_set_suspend_mode()
252 static int ltc3589_parse_regulators_dt(struct ltc3589 *ltc3589) in ltc3589_parse_regulators_dt() argument
254 struct device *dev = ltc3589->dev; in ltc3589_parse_regulators_dt()
279 struct ltc3589_regulator *desc = &ltc3589->regulator_descs[i]; in ltc3589_parse_regulators_dt()
308 static inline int ltc3589_parse_regulators_dt(struct ltc3589 *ltc3589) in ltc3589_parse_regulators_dt() argument
413 struct ltc3589 *ltc3589 = dev_id; in ltc3589_isr() local
416 regmap_read(ltc3589->regmap, LTC3589_IRQSTAT, &irqstat); in ltc3589_isr()
421 regulator_notifier_call_chain(ltc3589->regulators[i], in ltc3589_isr()
428 regulator_notifier_call_chain(ltc3589->regulators[i], in ltc3589_isr()
433 regmap_write(ltc3589->regmap, LTC3589_CLIRQ, 0); in ltc3589_isr()
465 struct ltc3589 *ltc3589; in ltc3589_probe() local
468 ltc3589 = devm_kzalloc(dev, sizeof(*ltc3589), GFP_KERNEL); in ltc3589_probe()
469 if (!ltc3589) in ltc3589_probe()
472 i2c_set_clientdata(client, ltc3589); in ltc3589_probe()
473 ltc3589->variant = id->driver_data; in ltc3589_probe()
474 ltc3589->dev = dev; in ltc3589_probe()
476 descs = ltc3589->regulator_descs; in ltc3589_probe()
478 if (ltc3589->variant == LTC3589) { in ltc3589_probe()
486 ltc3589->regmap = devm_regmap_init_i2c(client, &ltc3589_regmap_config); in ltc3589_probe()
487 if (IS_ERR(ltc3589->regmap)) { in ltc3589_probe()
488 ret = PTR_ERR(ltc3589->regmap); in ltc3589_probe()
493 ret = ltc3589_parse_regulators_dt(ltc3589); in ltc3589_probe()
498 struct ltc3589_regulator *rdesc = &ltc3589->regulator_descs[i]; in ltc3589_probe()
510 config.driver_data = ltc3589; in ltc3589_probe()
513 ltc3589->regulators[i] = devm_regulator_register(dev, desc, in ltc3589_probe()
515 if (IS_ERR(ltc3589->regulators[i])) { in ltc3589_probe()
516 ret = PTR_ERR(ltc3589->regulators[i]); in ltc3589_probe()
525 client->name, ltc3589); in ltc3589_probe()