Skip to content

Commit

Permalink
power: supply: ab8500: Call battery population once
Browse files Browse the repository at this point in the history
[ Upstream commit 7e2bb83 ]

The code was calling ab8500_bm_of_probe() in four different
spots effectively overwriting the same configuration three
times. This was done because probe order was uncertain.

Since we now used componentized probe, call it only once
while probing the main charging component.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
linusw authored and gregkh committed Aug 8, 2021
1 parent 5a40048 commit af88840
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 20 deletions.
7 changes: 0 additions & 7 deletions drivers/power/supply/ab8500_btemp.c
Expand Up @@ -983,7 +983,6 @@ static const struct component_ops ab8500_btemp_component_ops = {

static int ab8500_btemp_probe(struct platform_device *pdev)
{
struct device_node *np = pdev->dev.of_node;
struct power_supply_config psy_cfg = {};
struct device *dev = &pdev->dev;
struct ab8500_btemp *di;
Expand All @@ -996,12 +995,6 @@ static int ab8500_btemp_probe(struct platform_device *pdev)

di->bm = &ab8500_bm_data;

ret = ab8500_bm_of_probe(dev, np, di->bm);
if (ret) {
dev_err(dev, "failed to get battery information\n");
return ret;
}

/* get parent data */
di->dev = dev;
di->parent = dev_get_drvdata(pdev->dev.parent);
Expand Down
6 changes: 0 additions & 6 deletions drivers/power/supply/ab8500_fg.c
Expand Up @@ -3058,12 +3058,6 @@ static int ab8500_fg_probe(struct platform_device *pdev)

di->bm = &ab8500_bm_data;

ret = ab8500_bm_of_probe(dev, np, di->bm);
if (ret) {
dev_err(dev, "failed to get battery information\n");
return ret;
}

mutex_init(&di->cc_lock);

/* get parent data */
Expand Down
7 changes: 0 additions & 7 deletions drivers/power/supply/abx500_chargalg.c
Expand Up @@ -2002,7 +2002,6 @@ static const struct component_ops abx500_chargalg_component_ops = {
static int abx500_chargalg_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct device_node *np = dev->of_node;
struct power_supply_config psy_cfg = {};
struct abx500_chargalg *di;
int ret = 0;
Expand All @@ -2013,12 +2012,6 @@ static int abx500_chargalg_probe(struct platform_device *pdev)

di->bm = &ab8500_bm_data;

ret = ab8500_bm_of_probe(dev, np, di->bm);
if (ret) {
dev_err(dev, "failed to get battery information\n");
return ret;
}

/* get device struct and parent */
di->dev = dev;
di->parent = dev_get_drvdata(pdev->dev.parent);
Expand Down

0 comments on commit af88840

Please sign in to comment.