On 30/05/2024 10:55, Artur Weber wrote:Assuming "this" means "erroring out if the CHARGER regulator is not
There are two charger current limit registers:
- Fast charge current limit (which controls current going from the
charger to the battery);
- CHGIN input current limit (which controls current going into the
charger through the cable, and is managed by the CHARGER regulator).
+ case POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT:
+ ret = max77693_get_input_current_limit(chg, &val->intval);
+ break;
+ case POWER_SUPPLY_PROP_CURRENT_MAX:
+ ret = max77693_get_fast_charge_current(regmap, &val->intval);
+ break;
case POWER_SUPPLY_PROP_MODEL_NAME:
val->strval = max77693_charger_model;
break;
@@ -680,6 +727,11 @@ static int max77693_charger_probe(struct platform_device *pdev)
chg->dev = &pdev->dev;
chg->max77693 = max77693;
+ chg->regu = devm_regulator_get(chg->dev, "CHARGER");
+ if (IS_ERR(chg->regu))
+ return dev_err_probe(&pdev->dev, PTR_ERR(chg->regu),
+ "failed to get charger regulator\n");\
This breaks users... and where is the binding?