Lines Matching refs:ltc3589

79 struct ltc3589 {  struct
101 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev); in ltc3589_set_suspend_voltage() local
109 return regmap_update_bits(ltc3589->regmap, rdev->desc->vsel_reg + 1, in ltc3589_set_suspend_voltage()
116 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev); in ltc3589_set_suspend_mode() local
127 return regmap_update_bits(ltc3589->regmap, LTC3589_VCCR, mask, bit); in ltc3589_set_suspend_mode()
181 struct ltc3589 *ltc3589 = config->driver_data; in ltc3589_of_parse_cb() local
182 struct regulator_desc *rdesc = &ltc3589->regulator_descs[desc->id]; in ltc3589_of_parse_cb()
192 dev_err(ltc3589->dev, "Failed to parse voltage divider: %d\n", in ltc3589_of_parse_cb()
355 struct ltc3589 *ltc3589 = dev_id; in ltc3589_isr() local
358 regmap_read(ltc3589->regmap, LTC3589_IRQSTAT, &irqstat); in ltc3589_isr()
363 regulator_notifier_call_chain(ltc3589->regulators[i], in ltc3589_isr()
370 regulator_notifier_call_chain(ltc3589->regulators[i], in ltc3589_isr()
375 regmap_write(ltc3589->regmap, LTC3589_CLIRQ, 0); in ltc3589_isr()
385 struct ltc3589 *ltc3589; in ltc3589_probe() local
388 ltc3589 = devm_kzalloc(dev, sizeof(*ltc3589), GFP_KERNEL); in ltc3589_probe()
389 if (!ltc3589) in ltc3589_probe()
392 i2c_set_clientdata(client, ltc3589); in ltc3589_probe()
394 ltc3589->variant = (uintptr_t)of_device_get_match_data(&client->dev); in ltc3589_probe()
396 ltc3589->variant = id->driver_data; in ltc3589_probe()
397 ltc3589->dev = dev; in ltc3589_probe()
399 descs = ltc3589->regulator_descs; in ltc3589_probe()
401 if (ltc3589->variant == LTC3589) { in ltc3589_probe()
409 ltc3589->regmap = devm_regmap_init_i2c(client, &ltc3589_regmap_config); in ltc3589_probe()
410 if (IS_ERR(ltc3589->regmap)) { in ltc3589_probe()
411 ret = PTR_ERR(ltc3589->regmap); in ltc3589_probe()
417 struct regulator_desc *desc = &ltc3589->regulator_descs[i]; in ltc3589_probe()
421 config.driver_data = ltc3589; in ltc3589_probe()
423 ltc3589->regulators[i] = devm_regulator_register(dev, desc, in ltc3589_probe()
425 if (IS_ERR(ltc3589->regulators[i])) { in ltc3589_probe()
426 ret = PTR_ERR(ltc3589->regulators[i]); in ltc3589_probe()
437 client->name, ltc3589); in ltc3589_probe()