]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
power-supply: Avoid unnecessary 'goto' statements
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 4 Sep 2014 12:01:35 +0000 (17:31 +0530)
committerSebastian Reichel <sre@kernel.org>
Tue, 16 Sep 2014 09:01:37 +0000 (11:01 +0200)
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: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/power/power_supply_core.c
drivers/power/power_supply_leds.c

index 376464e33fc8b9803d27352e18eebe8f54f5e31b..81177e299230d38b7afb26bcb0a1021fde380c1d 100644 (file)
@@ -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 @@ wakeup_init_failed:
 check_supplies_failed:
 dev_set_name_failed:
        put_device(dev);
-success:
        return rc;
 }
 
index 995f966ed5b7a8be444e99ed0dff6d1b22d5934c..effa093c37b0ac7042351aa7acc9118613bf74e5 100644 (file)
@@ -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 @@ full_failed:
 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)