aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2014-09-04 08:01:35 -0400
committerSebastian Reichel <sre@kernel.org>2014-09-16 05:01:37 -0400
commit464069cae95f71ba670c7e3a90d919b18fb48d66 (patch)
treed7f57742c9af811a0bcc593697b7c9b026f37dd5
parent73b4a087ba4c0d0d52519769320fa684185c563e (diff)
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: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Sebastian Reichel <sre@kernel.org>
-rw-r--r--drivers/power/power_supply_core.c3
-rw-r--r--drivers/power/power_supply_leds.c19
2 files changed, 5 insertions, 17 deletions
diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
index 376464e33fc8..81177e299230 100644
--- a/drivers/power/power_supply_core.c
+++ b/drivers/power/power_supply_core.c
@@ -599,7 +599,7 @@ static int __power_supply_register(struct device *parent,
599 599
600 power_supply_changed(psy); 600 power_supply_changed(psy);
601 601
602 goto success; 602 return 0;
603 603
604create_triggers_failed: 604create_triggers_failed:
605 psy_unregister_cooler(psy); 605 psy_unregister_cooler(psy);
@@ -612,7 +612,6 @@ wakeup_init_failed:
612check_supplies_failed: 612check_supplies_failed:
613dev_set_name_failed: 613dev_set_name_failed:
614 put_device(dev); 614 put_device(dev);
615success:
616 return rc; 615 return rc;
617} 616}
618 617
diff --git a/drivers/power/power_supply_leds.c b/drivers/power/power_supply_leds.c
index 995f966ed5b7..effa093c37b0 100644
--- a/drivers/power/power_supply_leds.c
+++ b/drivers/power/power_supply_leds.c
@@ -57,8 +57,6 @@ static void power_supply_update_bat_leds(struct power_supply *psy)
57 57
58static int power_supply_create_bat_triggers(struct power_supply *psy) 58static int power_supply_create_bat_triggers(struct power_supply *psy)
59{ 59{
60 int rc = 0;
61
62 psy->charging_full_trig_name = kasprintf(GFP_KERNEL, 60 psy->charging_full_trig_name = kasprintf(GFP_KERNEL,
63 "%s-charging-or-full", psy->name); 61 "%s-charging-or-full", psy->name);
64 if (!psy->charging_full_trig_name) 62 if (!psy->charging_full_trig_name)
@@ -87,7 +85,7 @@ static int power_supply_create_bat_triggers(struct power_supply *psy)
87 led_trigger_register_simple(psy->charging_blink_full_solid_trig_name, 85 led_trigger_register_simple(psy->charging_blink_full_solid_trig_name,
88 &psy->charging_blink_full_solid_trig); 86 &psy->charging_blink_full_solid_trig);
89 87
90 goto success; 88 return 0;
91 89
92charging_blink_full_solid_failed: 90charging_blink_full_solid_failed:
93 kfree(psy->full_trig_name); 91 kfree(psy->full_trig_name);
@@ -96,9 +94,7 @@ full_failed:
96charging_failed: 94charging_failed:
97 kfree(psy->charging_full_trig_name); 95 kfree(psy->charging_full_trig_name);
98charging_full_failed: 96charging_full_failed:
99 rc = -ENOMEM; 97 return -ENOMEM;
100success:
101 return rc;
102} 98}
103 99
104static void power_supply_remove_bat_triggers(struct power_supply *psy) 100static 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)
132 128
133static int power_supply_create_gen_triggers(struct power_supply *psy) 129static int power_supply_create_gen_triggers(struct power_supply *psy)
134{ 130{
135 int rc = 0;
136
137 psy->online_trig_name = kasprintf(GFP_KERNEL, "%s-online", psy->name); 131 psy->online_trig_name = kasprintf(GFP_KERNEL, "%s-online", psy->name);
138 if (!psy->online_trig_name) 132 if (!psy->online_trig_name)
139 goto online_failed; 133 return -ENOMEM;
140 134
141 led_trigger_register_simple(psy->online_trig_name, &psy->online_trig); 135 led_trigger_register_simple(psy->online_trig_name, &psy->online_trig);
142 136
143 goto success; 137 return 0;
144
145online_failed:
146 rc = -ENOMEM;
147success:
148 return rc;
149} 138}
150 139
151static void power_supply_remove_gen_triggers(struct power_supply *psy) 140static void power_supply_remove_gen_triggers(struct power_supply *psy)