Lines Matching defs:chg

124 static int max77976_get_status(struct max77976 *chg, int *val)
129 err = regmap_field_read(chg->rfield[CHG_DTLS], &regval);
162 static int max77976_get_charge_type(struct max77976 *chg, int *val)
167 err = regmap_field_read(chg->rfield[CHG_DTLS], &regval);
200 static int max77976_get_health(struct max77976 *chg, int *val)
205 err = regmap_field_read(chg->rfield[BAT_DTLS], &regval);
234 static int max77976_get_online(struct max77976 *chg, int *val)
239 err = regmap_field_read(chg->rfield[CHGIN_OK], &regval);
248 static int max77976_get_integer(struct max77976 *chg, enum max77976_field_idx fidx,
255 err = regmap_field_read(chg->rfield[fidx], &regval);
264 static int max77976_set_integer(struct max77976 *chg, enum max77976_field_idx fidx,
272 return regmap_field_write(chg->rfield[fidx], regval);
279 struct max77976 *chg = power_supply_get_drvdata(psy);
284 err = max77976_get_status(chg, &val->intval);
287 err = max77976_get_charge_type(chg, &val->intval);
290 err = max77976_get_health(chg, &val->intval);
293 err = max77976_get_online(chg, &val->intval);
299 err = max77976_get_integer(chg, CHG_CC,
306 err = max77976_get_integer(chg, CHGIN_ILIM,
329 struct max77976 *chg = power_supply_get_drvdata(psy);
334 err = max77976_set_integer(chg, CHG_CC,
341 err = max77976_set_integer(chg, CHGIN_ILIM,
392 static int max77976_detect(struct max77976 *chg)
394 struct device *dev = &chg->client->dev;
398 err = regmap_read(chg->regmap, MAX77976_REG_CHIP_ID, &id);
405 err = regmap_field_read(chg->rfield[VERSION], &ver);
407 err = regmap_field_read(chg->rfield[REVISION], &rev);
416 static int max77976_configure(struct max77976 *chg)
418 struct device *dev = &chg->client->dev;
422 err = regmap_field_write(chg->rfield[CHGPROT], 0x3);
430 err = regmap_field_write(chg->rfield[MODE], MAX77976_MODE_CHARGER_BUCK);
445 struct max77976 *chg;
449 chg = devm_kzalloc(dev, sizeof(*chg), GFP_KERNEL);
450 if (!chg)
453 i2c_set_clientdata(client, chg);
454 psy_cfg.drv_data = chg;
455 chg->client = client;
457 chg->regmap = devm_regmap_init_i2c(client, &max77976_regmap_config);
458 if (IS_ERR(chg->regmap))
459 return dev_err_probe(dev, PTR_ERR(chg->regmap),
463 chg->rfield[i] = devm_regmap_field_alloc(dev, chg->regmap,
465 if (IS_ERR(chg->rfield[i]))
466 return dev_err_probe(dev, PTR_ERR(chg->rfield[i]),
470 err = max77976_detect(chg);
474 err = max77976_configure(chg);