Lines Matching refs:ltc3589

78 struct ltc3589 {  struct
99 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev); in ltc3589_set_suspend_voltage() argument
107 return regmap_update_bits(ltc3589->regmap, rdev->desc->vsel_reg + 1, in ltc3589_set_suspend_voltage()
114 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev); in ltc3589_set_suspend_mode() local
125 return regmap_update_bits(ltc3589->regmap, LTC3589_VCCR, mask, bit); in ltc3589_set_suspend_mode()
179 struct ltc3589 *ltc3589 = config->driver_data; in ltc3589_of_parse_cb() local
180 struct regulator_desc *rdesc = &ltc3589->regulator_descs[desc->id]; in ltc3589_of_parse_cb()
190 dev_err(ltc3589->dev, "Failed to parse voltage divider: %d\n", in ltc3589_of_parse_cb()
353 struct ltc3589 *ltc3589 = dev_id; in ltc3589_isr() local
356 regmap_read(ltc3589->regmap, LTC3589_IRQSTAT, &irqstat); in ltc3589_isr()
361 regulator_notifier_call_chain(ltc3589->regulators[i], in ltc3589_isr()
368 regulator_notifier_call_chain(ltc3589->regulators[i], in ltc3589_isr()
373 regmap_write(ltc3589->regmap, LTC3589_CLIRQ, 0); in ltc3589_isr()
383 struct ltc3589 *ltc3589; in ltc3589_probe() local
386 ltc3589 = devm_kzalloc(dev, sizeof(*ltc3589), GFP_KERNEL); in ltc3589_probe()
387 if (!ltc3589) in ltc3589_probe()
390 i2c_set_clientdata(client, ltc3589); in ltc3589_probe()
392 ltc3589->dev = dev; in ltc3589_probe()
394 descs = ltc3589->regulator_descs; in ltc3589_probe()
399 ltc3589->regmap = devm_regmap_init_i2c(client, &ltc3589_regmap_config); in ltc3589_probe()
400 if (IS_ERR(ltc3589->regmap)) { in ltc3589_probe()
401 ret = PTR_ERR(ltc3589->regmap); in ltc3589_probe()
407 struct regulator_desc *desc = &ltc3589->regulator_descs[i]; in ltc3589_probe()
411 config.driver_data = ltc3589; in ltc3589_probe()
413 ltc3589->regulators[i] = devm_regulator_register(dev, desc, in ltc3589_probe()
415 if (IS_ERR(ltc3589->regulators[i])) { in ltc3589_probe()
416 ret = PTR_ERR(ltc3589->regulators[i]); in ltc3589_probe()
427 client->name, ltc3589); in ltc3589_probe()