diff options
Diffstat (limited to 'drivers/power/power_supply_leds.c')
-rw-r--r-- | drivers/power/power_supply_leds.c | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/drivers/power/power_supply_leds.c b/drivers/power/power_supply_leds.c index 80ca28840b1a..fa3034f85c38 100644 --- a/drivers/power/power_supply_leds.c +++ b/drivers/power/power_supply_leds.c | |||
@@ -10,6 +10,7 @@ | |||
10 | * You may use this code as per GPL version 2 | 10 | * You may use this code as per GPL version 2 |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/kernel.h> | ||
13 | #include <linux/power_supply.h> | 14 | #include <linux/power_supply.h> |
14 | 15 | ||
15 | #include "power_supply.h" | 16 | #include "power_supply.h" |
@@ -48,28 +49,20 @@ static int power_supply_create_bat_triggers(struct power_supply *psy) | |||
48 | { | 49 | { |
49 | int rc = 0; | 50 | int rc = 0; |
50 | 51 | ||
51 | psy->charging_full_trig_name = kmalloc(strlen(psy->name) + | 52 | psy->charging_full_trig_name = kasprintf(GFP_KERNEL, |
52 | sizeof("-charging-or-full"), GFP_KERNEL); | 53 | "%s-charging-or-full", psy->name); |
53 | if (!psy->charging_full_trig_name) | 54 | if (!psy->charging_full_trig_name) |
54 | goto charging_full_failed; | 55 | goto charging_full_failed; |
55 | 56 | ||
56 | psy->charging_trig_name = kmalloc(strlen(psy->name) + | 57 | psy->charging_trig_name = kasprintf(GFP_KERNEL, |
57 | sizeof("-charging"), GFP_KERNEL); | 58 | "%s-charging", psy->name); |
58 | if (!psy->charging_trig_name) | 59 | if (!psy->charging_trig_name) |
59 | goto charging_failed; | 60 | goto charging_failed; |
60 | 61 | ||
61 | psy->full_trig_name = kmalloc(strlen(psy->name) + | 62 | psy->full_trig_name = kasprintf(GFP_KERNEL, "%s-full", psy->name); |
62 | sizeof("-full"), GFP_KERNEL); | ||
63 | if (!psy->full_trig_name) | 63 | if (!psy->full_trig_name) |
64 | goto full_failed; | 64 | goto full_failed; |
65 | 65 | ||
66 | strcpy(psy->charging_full_trig_name, psy->name); | ||
67 | strcat(psy->charging_full_trig_name, "-charging-or-full"); | ||
68 | strcpy(psy->charging_trig_name, psy->name); | ||
69 | strcat(psy->charging_trig_name, "-charging"); | ||
70 | strcpy(psy->full_trig_name, psy->name); | ||
71 | strcat(psy->full_trig_name, "-full"); | ||
72 | |||
73 | led_trigger_register_simple(psy->charging_full_trig_name, | 66 | led_trigger_register_simple(psy->charging_full_trig_name, |
74 | &psy->charging_full_trig); | 67 | &psy->charging_full_trig); |
75 | led_trigger_register_simple(psy->charging_trig_name, | 68 | led_trigger_register_simple(psy->charging_trig_name, |
@@ -120,14 +113,10 @@ static int power_supply_create_gen_triggers(struct power_supply *psy) | |||
120 | { | 113 | { |
121 | int rc = 0; | 114 | int rc = 0; |
122 | 115 | ||
123 | psy->online_trig_name = kmalloc(strlen(psy->name) + sizeof("-online"), | 116 | psy->online_trig_name = kasprintf(GFP_KERNEL, "%s-online", psy->name); |
124 | GFP_KERNEL); | ||
125 | if (!psy->online_trig_name) | 117 | if (!psy->online_trig_name) |
126 | goto online_failed; | 118 | goto online_failed; |
127 | 119 | ||
128 | strcpy(psy->online_trig_name, psy->name); | ||
129 | strcat(psy->online_trig_name, "-online"); | ||
130 | |||
131 | led_trigger_register_simple(psy->online_trig_name, &psy->online_trig); | 120 | led_trigger_register_simple(psy->online_trig_name, &psy->online_trig); |
132 | 121 | ||
133 | goto success; | 122 | goto success; |