Skip to contentSkip to conversation

pda_power: remove ac_draw_failed goto and label

PATCH In review Paul Parsons 2 participants 3 messages Sep 21, 2012 – Sep 22, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 pda_power: remove ac_draw_failed goto and label

A previous patch added the ac_draw_failed goto and label to pda_power_probe(). The goto would be invoked after a failed call to regulator_get().

However the way ac_draw is used - always after a check for NULL - suggests that a failed call to regulator_get() was not fatal.

This patch removes the ac_draw_failed goto and label, partly reverting the previous patch.

This patch also removes the assignment of an error code to ret after a failed call to regulator_get(), since the error code is now never used.

---
 drivers/power/pda_power.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)
drivers/power/pda_power.c +0 -3
index d3be834d..7df7c5f 100644
@@ -284,9 +284,7 @@ static int pda_power_probe(struct platform_device *pdev)
 	ac_draw = regulator_get(dev, "ac_draw");
 	if (IS_ERR(ac_draw)) {
 		dev_dbg(dev, "couldn't get ac_draw regulator\n");
-		ret = PTR_ERR(ac_draw);
 		ac_draw = NULL;
-		goto ac_draw_failed;
 	}
 
 	update_status();
@@ -416,7 +414,6 @@ ac_supply_failed:
 		regulator_put(ac_draw);
 		ac_draw = NULL;
 	}
-ac_draw_failed:
 	if (pdata->exit)
 		pdata->exit(dev);
 init_failed:
Signature · 1 line
1.7.8.6
#1 lore raw
Quoted 24 lines · Paul Parsons

A previous patch added the ac_draw_failed goto and label to pda_power_probe(). The goto would be invoked after a failed call to regulator_get().

However the way ac_draw is used - always after a check for NULL - suggests that a failed call to regulator_get() was not fatal.

This patch removes the ac_draw_failed goto and label, partly reverting the previous patch.

This patch also removes the assignment of an error code to ret after a failed call to regulator_get(), since the error code is now never used.

---
 drivers/power/pda_power.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)
drivers/power/pda_power.c +0 -0
index d3be834d..7df7c5f 100644

drivers/power/pda_power.c static int pda_power_probe(struct platform_device *pdev) · line 289

Quoted 6 lines
drivers/power/pda_power.c +0 -2
@@ -284,9 +284,7 @@ static int pda_power_probe(struct platform_device *pdev)
 	ac_draw = regulator_get(dev, "ac_draw");
 	if (IS_ERR(ac_draw)) {
 		dev_dbg(dev, "couldn't get ac_draw regulator\n");
-		ret = PTR_ERR(ac_draw);
 		ac_draw = NULL;
-		goto ac_draw_failed;

For some reason you have a bit different code, so your patch is not based on the battery tree. (In my tree ret and ac_draw assignments are swapped.) Maybe that's because I had to manually redo your first patch...

Anyway, I repeated your patch by hand again and thus applied it.

Thank you!

Quoted 13 lines
drivers/power/pda_power.c +0 -1
 	}
 
 	update_status();
@@ -416,7 +414,6 @@ ac_supply_failed:
 		regulator_put(ac_draw);
 		ac_draw = NULL;
 	}
-ac_draw_failed:
 	if (pdata->exit)
 		pdata->exit(dev);
 init_failed:
Signature · 1 line
1.7.8.6
#2 lore raw

Hello Anton,

Quoted 36 lines · Anton Vorontsov
Quoted 24 lines · Paul Parsons

A previous patch added the ac_draw_failed goto and label to pda_power_probe(). The goto would be invoked after a failed call to regulator_get().

However the way ac_draw is used - always after a check for NULL - suggests that a failed call to regulator_get() was not fatal.

This patch removes the ac_draw_failed goto and label, partly reverting the previous patch.

This patch also removes the assignment of an error code to ret after a failed call to regulator_get(), since the error code is now never used.

---
  drivers/power/pda_power.c |    3 ---
  1 files changed, 0 insertions(+), 3 deletions(-)
drivers/power/pda_power.c +0 -0
index d3be834d..7df7c5f 100644

drivers/power/pda_power.c static int pda_power_probe(struct platform_device *pdev) · line 289

Quoted 6 lines
drivers/power/pda_power.c +0 -2
@@ -284,9 +284,7 @@ static int pda_power_probe(struct platform_device *pdev)
  	ac_draw = regulator_get(dev, "ac_draw");
  	if (IS_ERR(ac_draw)) {
  		dev_dbg(dev, "couldn't get ac_draw regulator\n");
-		ret = PTR_ERR(ac_draw);
  		ac_draw = NULL;
-		goto ac_draw_failed;

For some reason you have a bit different code, so your patch is not based on the battery tree. (In my tree ret and ac_draw assignments are swapped.) Maybe that's because I had to manually redo your first patch...

Quoted 1 line

Anyway, I repeated your patch by hand again and thus applied it.

Yes, in my first patch I had swapped the ret and ac_draw assignments when I moved the regulator_get() call to before the update_charger() call. This was because the original order of the assignments:

ac_draw = NULL;
ret = PTR_ERR(ac_draw);

is obviously incorrect; the ac_draw assignment overwrites the error code that should be returned by PTR_ERR().

Anyway, thank you for sorting this out!

Regards,
Paul

Quoted 15 lines

Thank you!

Quoted 13 lines
drivers/power/pda_power.c +0 -2
  	}
 
  	update_status();
@@ -416,7 +414,6 @@ ac_supply_failed:
  		regulator_put(ac_draw);
  		ac_draw = NULL;
  	}
-ac_draw_failed:
  	if (pdata->exit)
  		pdata->exit(dev);
  init_failed:
--

1.7.8.6