Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d24473c authored by Akinobu Mita's avatar Akinobu Mita Committed by Anton Vorontsov
Browse files

[BATTERY] power_supply_leds: use kasprintf



Use kasprintf instead of kmalloc()-strcpy()-strcat().

Cc: Anton Vorontsov <cbou@mail.ru>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: default avatarAnton Vorontsov <cbou@mail.ru>
parent 25f12141
Loading
Loading
Loading
Loading
+7 −18
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
 *  You may use this code as per GPL version 2
 */

#include <linux/kernel.h>
#include <linux/power_supply.h>

#include "power_supply.h"
@@ -48,28 +49,20 @@ 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,
@@ -120,14 +113,10 @@ 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;