Lines Matching defs:ltc3589
18 #define DRIVER_NAME "ltc3589"
75 struct ltc3589 {
93 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev);
105 return regmap_update_bits(ltc3589->regmap,
115 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev);
123 return regmap_update_bits(ltc3589->regmap, rdev->desc->vsel_reg + 1,
130 struct ltc3589 *ltc3589 = rdev_get_drvdata(rdev);
141 return regmap_update_bits(ltc3589->regmap, LTC3589_VCCR, mask, bit);
195 struct ltc3589 *ltc3589 = config->driver_data;
196 struct regulator_desc *rdesc = <c3589->regulator_descs[desc->id];
206 dev_err(ltc3589->dev, "Failed to parse voltage divider: %d\n",
353 struct ltc3589 *ltc3589 = dev_id;
356 regmap_read(ltc3589->regmap, LTC3589_IRQSTAT, &irqstat);
361 regulator_notifier_call_chain(ltc3589->regulators[i],
368 regulator_notifier_call_chain(ltc3589->regulators[i],
373 regmap_write(ltc3589->regmap, LTC3589_CLIRQ, 0);
383 struct ltc3589 *ltc3589;
386 ltc3589 = devm_kzalloc(dev, sizeof(*ltc3589), GFP_KERNEL);
387 if (!ltc3589)
390 i2c_set_clientdata(client, ltc3589);
392 ltc3589->variant = (enum ltc3589_variant)
395 ltc3589->variant = id->driver_data;
396 ltc3589->dev = dev;
398 descs = ltc3589->regulator_descs;
400 if (ltc3589->variant == LTC3589) {
408 ltc3589->regmap = devm_regmap_init_i2c(client, <c3589_regmap_config);
409 if (IS_ERR(ltc3589->regmap)) {
410 ret = PTR_ERR(ltc3589->regmap);
416 struct regulator_desc *desc = <c3589->regulator_descs[i];
420 config.driver_data = ltc3589;
422 ltc3589->regulators[i] = devm_regulator_register(dev, desc,
424 if (IS_ERR(ltc3589->regulators[i])) {
425 ret = PTR_ERR(ltc3589->regulators[i]);
436 client->name, ltc3589);
447 { "ltc3589", LTC3589 },
448 { "ltc3589-1", LTC3589_1 },
449 { "ltc3589-2", LTC3589_2 },
456 .compatible = "lltc,ltc3589",
460 .compatible = "lltc,ltc3589-1",
464 .compatible = "lltc,ltc3589-2",