Commit 571650b3 authored by Hans de Goede's avatar Hans de Goede Committed by Sebastian Reichel

power: supply: bq25890: Only use pdata->regulator_init_data for vbus

bq25890_platform_data.regulator_init_data is intended to only provide
regulator init_data for the vbus regulator.

Remove this from the regulator_config before registering the vsys
regulator. Otherwise the regulator_register() call for vsys will fail
because it tries to register duplicate consumer_dev_name + supply
names from init_data->consumer_supplies[], leading to the entire
probe of the bq25890 driver failing:

[   32.017501] bq25890-charger i2c-bq25892_main: Failed to set supply vbus
[   32.017525] bq25890-charger i2c-bq25892_main: error -EBUSY: registering vsys regulator
[   32.124978] bq25890-charger: probe of i2c-bq25892_main failed with error -16

Fixes: 14a3d159 ("power: supply: bq25890: Add Vsys regulator")
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarMarek Vasut <marex@denx.de>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent c4d33381
...@@ -1161,6 +1161,8 @@ static int bq25890_register_regulator(struct bq25890_device *bq) ...@@ -1161,6 +1161,8 @@ static int bq25890_register_regulator(struct bq25890_device *bq)
"registering vbus regulator"); "registering vbus regulator");
} }
/* pdata->regulator_init_data is for vbus only */
cfg.init_data = NULL;
reg = devm_regulator_register(bq->dev, &bq25890_vsys_desc, &cfg); reg = devm_regulator_register(bq->dev, &bq25890_vsys_desc, &cfg);
if (IS_ERR(reg)) { if (IS_ERR(reg)) {
return dev_err_probe(bq->dev, PTR_ERR(reg), return dev_err_probe(bq->dev, PTR_ERR(reg),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment