Lines Matching refs:chg

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