From: Hans de Goede <hdegoede@redhat.com>
To: Sebastian Reichel <sre@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>, Takashi Iwai <tiwai@suse.de>,
linux-pm@vger.kernel.org, Liam Breck <kernel@networkimprov.net>,
Tony Lindgren <tony@atomide.com>
Subject: [PATCH v2 6/7] power: supply: bq24190_charger: Cleanup error-exit labels in probe()
Date: Wed, 22 Mar 2017 15:55:35 +0100 [thread overview]
Message-ID: <20170322145536.30570-7-hdegoede@redhat.com> (raw)
In-Reply-To: <20170322145536.30570-1-hdegoede@redhat.com>
Names like out1, out2, etc. do not make it easier to follow what is
going on and make it harder (require renaming) if any steps are
later added / removed. Rename the labels to sane names.
This also folds out1 and out2 into one pm_runtime_disable step,
if pm_runtime_get_sync fails we still need to do the put, it
failing means that the device failed to resume, but the refcount
will have been incremented and we need to decrement it.
Cc: Liam Breck <kernel@networkimprov.net>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
-This is a new patch in v2 of this patch-set
---
drivers/power/supply/bq24190_charger.c | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/drivers/power/supply/bq24190_charger.c b/drivers/power/supply/bq24190_charger.c
index 351e020..5e3da66 100644
--- a/drivers/power/supply/bq24190_charger.c
+++ b/drivers/power/supply/bq24190_charger.c
@@ -1408,12 +1408,12 @@ static int bq24190_probe(struct i2c_client *client,
pm_runtime_set_autosuspend_delay(dev, 600);
ret = pm_runtime_get_sync(dev);
if (ret < 0)
- goto out1;
+ goto pm_runtime_disable;
ret = bq24190_hw_init(bdi);
if (ret < 0) {
dev_err(dev, "Hardware init failed\n");
- goto out2;
+ goto pm_runtime_disable;
}
charger_cfg.drv_data = bdi;
@@ -1424,7 +1424,7 @@ static int bq24190_probe(struct i2c_client *client,
if (IS_ERR(bdi->charger)) {
dev_err(dev, "Can't register charger\n");
ret = PTR_ERR(bdi->charger);
- goto out2;
+ goto pm_runtime_disable;
}
battery_cfg.drv_data = bdi;
@@ -1433,13 +1433,13 @@ static int bq24190_probe(struct i2c_client *client,
if (IS_ERR(bdi->battery)) {
dev_err(dev, "Can't register battery\n");
ret = PTR_ERR(bdi->battery);
- goto out3;
+ goto unregister_charger;
}
ret = bq24190_sysfs_create_group(bdi);
if (ret) {
dev_err(dev, "Can't create sysfs entries\n");
- goto out4;
+ goto unregister_battery;
}
bdi->initialized = true;
@@ -1450,7 +1450,7 @@ static int bq24190_probe(struct i2c_client *client,
"bq24190-charger", bdi);
if (ret < 0) {
dev_err(dev, "Can't set up irq handler\n");
- goto out5;
+ goto remove_sysfs_group;
}
if (bdi->extcon) {
@@ -1459,7 +1459,7 @@ static int bq24190_probe(struct i2c_client *client,
ret = devm_extcon_register_notifier(dev, bdi->extcon, -1,
&bdi->extcon_nb);
if (ret)
- goto out5;
+ goto remove_sysfs_group;
/* Sync initial cable state */
queue_delayed_work(system_wq, &bdi->extcon_work, 0);
@@ -1472,19 +1472,17 @@ static int bq24190_probe(struct i2c_client *client,
return 0;
-out5:
+remove_sysfs_group:
bq24190_sysfs_remove_group(bdi);
-out4:
+unregister_battery:
power_supply_unregister(bdi->battery);
-out3:
+unregister_charger:
power_supply_unregister(bdi->charger);
-out2:
+pm_runtime_disable:
pm_runtime_put_sync(dev);
-
-out1:
pm_runtime_dont_use_autosuspend(dev);
pm_runtime_disable(dev);
return ret;
--
2.9.3
next prev parent reply other threads:[~2017-03-22 15:02 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-22 14:55 [PATCH 0/7] power: supply: bq24190_charger: Various fixes + extcon support Hans de Goede
2017-03-22 14:55 ` [PATCH v2 1/7] power: supply: bq24190_charger: Use i2c-core irq-mapping code Hans de Goede
2017-03-22 15:37 ` Tony Lindgren
2017-03-23 11:11 ` Sebastian Reichel
2017-03-24 23:44 ` Liam Breck
2017-03-22 14:55 ` [PATCH v2 2/7] power: supply: bq24190_charger: Add support for bq24192i Hans de Goede
2017-03-23 11:12 ` Sebastian Reichel
2017-03-24 23:34 ` Liam Breck
2017-03-22 14:55 ` [PATCH v2 3/7] power: supply: bq24190_charger: Use extcon to determine ilimit, 5v boost Hans de Goede
2017-03-22 15:50 ` Tony Lindgren
2017-03-22 15:57 ` Hans de Goede
2017-03-22 18:50 ` Liam Breck
2017-03-23 8:31 ` Hans de Goede
2017-03-22 14:55 ` [PATCH v2 4/7] power: supply: bq24190_charger: Never reset the charger chip Hans de Goede
2017-03-22 15:43 ` Tony Lindgren
2017-03-22 15:45 ` Hans de Goede
2017-03-22 15:51 ` Tony Lindgren
2017-03-23 7:16 ` Liam Breck
2017-03-23 8:44 ` Hans de Goede
2017-03-23 11:36 ` Liam Breck
2017-03-23 11:44 ` Hans de Goede
2017-03-23 11:47 ` Liam Breck
2017-03-23 11:48 ` Hans de Goede
2017-03-23 20:33 ` Liam Breck
2017-03-23 22:01 ` Hans de Goede
2017-03-24 23:49 ` Liam Breck
2017-03-22 18:41 ` Liam Breck
2017-03-23 8:16 ` Hans de Goede
2017-03-23 10:59 ` Sebastian Reichel
2017-03-23 11:20 ` Sebastian Reichel
2017-03-22 14:55 ` [PATCH v2 5/7] power: supply: bq24190_charger: Don't spam the logs on charger plug / unplug Hans de Goede
2017-03-22 15:44 ` Tony Lindgren
2017-03-23 11:17 ` Sebastian Reichel
2017-03-23 13:34 ` Liam Breck
2017-03-23 21:31 ` Liam Breck
2017-03-23 22:02 ` Hans de Goede
2017-03-23 22:24 ` Liam Breck
2017-03-24 9:25 ` Sebastian Reichel
2017-03-24 23:31 ` Liam Breck
2017-03-24 10:29 ` [PATCH] power: bq24190_charger: Limit over/under voltage fault logging Liam Breck
2017-03-25 11:17 ` Hans de Goede
2017-03-25 11:24 ` [PATCH v2] " Liam Breck
2017-03-26 8:44 ` Hans de Goede
2017-03-26 10:56 ` Liam Breck
2017-03-26 11:04 ` Hans de Goede
2017-03-29 16:33 ` Tony Lindgren
2017-03-22 14:55 ` Hans de Goede [this message]
2017-03-22 15:45 ` [PATCH v2 6/7] power: supply: bq24190_charger: Cleanup error-exit labels in probe() Tony Lindgren
2017-03-22 19:09 ` Liam Breck
2017-03-23 8:37 ` Hans de Goede
2017-03-24 23:58 ` Liam Breck
2017-03-23 11:21 ` Sebastian Reichel
2017-03-23 11:46 ` Hans de Goede
2017-03-22 14:55 ` [PATCH v2 7/7] power: supply: bq24190_charger: Remove battery power_supply device Hans de Goede
2017-03-25 0:19 ` Liam Breck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170322145536.30570-7-hdegoede@redhat.com \
--to=hdegoede@redhat.com \
--cc=kernel@networkimprov.net \
--cc=linux-pm@vger.kernel.org \
--cc=sre@kernel.org \
--cc=tiwai@suse.de \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).