Lines Matching defs:ltc3589

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