X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=drivers%2Fpower%2Fpower_supply_leds.c;h=fa3034f85c382d4a3dc3b5bdb6ed36469c46042a;hb=a1c9eea9e56a7196c6891f6426b799c4598b38e2;hp=7232490bb595f95ebd39834e9603bac6fbefc0f2;hpb=2f41fc806434f8466bb361570589a3f6099ca65d;p=powerpc.git diff --git a/drivers/power/power_supply_leds.c b/drivers/power/power_supply_leds.c index 7232490bb5..fa3034f85c 100644 --- a/drivers/power/power_supply_leds.c +++ b/drivers/power/power_supply_leds.c @@ -10,8 +10,11 @@ * You may use this code as per GPL version 2 */ +#include #include +#include "power_supply.h" + /* Battery specific LEDs triggers. */ static void power_supply_update_bat_leds(struct power_supply *psy) @@ -40,36 +43,26 @@ static void power_supply_update_bat_leds(struct power_supply *psy) led_trigger_event(psy->full_trig, LED_OFF); break; } - - return; } static int power_supply_create_bat_triggers(struct power_supply *psy) { int rc = 0; - psy->charging_full_trig_name = kmalloc(strlen(psy->name) + - sizeof("-charging-or-full"), GFP_KERNEL); + psy->charging_full_trig_name = kasprintf(GFP_KERNEL, + "%s-charging-or-full", psy->name); if (!psy->charging_full_trig_name) goto charging_full_failed; - psy->charging_trig_name = kmalloc(strlen(psy->name) + - sizeof("-charging"), GFP_KERNEL); + psy->charging_trig_name = kasprintf(GFP_KERNEL, + "%s-charging", psy->name); if (!psy->charging_trig_name) goto charging_failed; - psy->full_trig_name = kmalloc(strlen(psy->name) + - sizeof("-full"), GFP_KERNEL); + psy->full_trig_name = kasprintf(GFP_KERNEL, "%s-full", psy->name); if (!psy->full_trig_name) goto full_failed; - strcpy(psy->charging_full_trig_name, psy->name); - strcat(psy->charging_full_trig_name, "-charging-or-full"); - strcpy(psy->charging_trig_name, psy->name); - strcat(psy->charging_trig_name, "-charging"); - strcpy(psy->full_trig_name, psy->name); - strcat(psy->full_trig_name, "-full"); - led_trigger_register_simple(psy->charging_full_trig_name, &psy->charging_full_trig); led_trigger_register_simple(psy->charging_trig_name, @@ -97,7 +90,6 @@ static void power_supply_remove_bat_triggers(struct power_supply *psy) kfree(psy->full_trig_name); kfree(psy->charging_trig_name); kfree(psy->charging_full_trig_name); - return; } /* Generated power specific LEDs triggers. */ @@ -115,22 +107,16 @@ static void power_supply_update_gen_leds(struct power_supply *psy) led_trigger_event(psy->online_trig, LED_FULL); else led_trigger_event(psy->online_trig, LED_OFF); - - return; } static int power_supply_create_gen_triggers(struct power_supply *psy) { int rc = 0; - psy->online_trig_name = kmalloc(strlen(psy->name) + sizeof("-online"), - GFP_KERNEL); + psy->online_trig_name = kasprintf(GFP_KERNEL, "%s-online", psy->name); if (!psy->online_trig_name) goto online_failed; - strcpy(psy->online_trig_name, psy->name); - strcat(psy->online_trig_name, "-online"); - led_trigger_register_simple(psy->online_trig_name, &psy->online_trig); goto success; @@ -145,7 +131,6 @@ static void power_supply_remove_gen_triggers(struct power_supply *psy) { led_trigger_unregister_simple(psy->online_trig); kfree(psy->online_trig_name); - return; } /* Choice what triggers to create&update. */ @@ -156,7 +141,6 @@ void power_supply_update_leds(struct power_supply *psy) power_supply_update_bat_leds(psy); else power_supply_update_gen_leds(psy); - return; } int power_supply_create_triggers(struct power_supply *psy) @@ -172,5 +156,4 @@ void power_supply_remove_triggers(struct power_supply *psy) power_supply_remove_bat_triggers(psy); else power_supply_remove_gen_triggers(psy); - return; }