Commit 464069ca authored by Viresh Kumar's avatar Viresh Kumar Committed by Sebastian Reichel

power-supply: Avoid unnecessary 'goto' statements

Using 'goto' statements for freeing resources on failures is a good choice as it
makes code very clean, and reduces the chances of human errors.

Though in most cases compiler may take care of this. But adding unnecessary
'goto' statements wouldn't make anything better. Code becomes less readable
actually.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
parent 73b4a087
......@@ -599,7 +599,7 @@ static int __power_supply_register(struct device *parent,
power_supply_changed(psy);
goto success;
return 0;
create_triggers_failed:
psy_unregister_cooler(psy);
......@@ -612,7 +612,6 @@ static int __power_supply_register(struct device *parent,
check_supplies_failed:
dev_set_name_failed:
put_device(dev);
success:
return rc;
}
......
......@@ -57,8 +57,6 @@ static void power_supply_update_bat_leds(struct power_supply *psy)
static int power_supply_create_bat_triggers(struct power_supply *psy)
{
int rc = 0;
psy->charging_full_trig_name = kasprintf(GFP_KERNEL,
"%s-charging-or-full", psy->name);
if (!psy->charging_full_trig_name)
......@@ -87,7 +85,7 @@ static int power_supply_create_bat_triggers(struct power_supply *psy)
led_trigger_register_simple(psy->charging_blink_full_solid_trig_name,
&psy->charging_blink_full_solid_trig);
goto success;
return 0;
charging_blink_full_solid_failed:
kfree(psy->full_trig_name);
......@@ -96,9 +94,7 @@ static int power_supply_create_bat_triggers(struct power_supply *psy)
charging_failed:
kfree(psy->charging_full_trig_name);
charging_full_failed:
rc = -ENOMEM;
success:
return rc;
return -ENOMEM;
}
static void power_supply_remove_bat_triggers(struct power_supply *psy)
......@@ -132,20 +128,13 @@ static void power_supply_update_gen_leds(struct power_supply *psy)
static int power_supply_create_gen_triggers(struct power_supply *psy)
{
int rc = 0;
psy->online_trig_name = kasprintf(GFP_KERNEL, "%s-online", psy->name);
if (!psy->online_trig_name)
goto online_failed;
return -ENOMEM;
led_trigger_register_simple(psy->online_trig_name, &psy->online_trig);
goto success;
online_failed:
rc = -ENOMEM;
success:
return rc;
return 0;
}
static void power_supply_remove_gen_triggers(struct power_supply *psy)
......
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