[PATCHv3 48/48] thermal: sysfs: use kcalloc() instead of kzalloc()

From: Eduardo Valentin
Date: Mon May 30 2016 - 18:18:08 EST


Simplify size computation by using kcalloc() for
allocating memory for arrays.

Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
Cc: linux-pm@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx>
---
drivers/thermal/thermal_sysfs.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c
index 10c8fe4..d208071 100644
--- a/drivers/thermal/thermal_sysfs.c
+++ b/drivers/thermal/thermal_sysfs.c
@@ -502,22 +502,25 @@ static const struct attribute_group *thermal_zone_attribute_groups[] = {
*/
static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
{
- int size = sizeof(struct thermal_attr) * tz->trips;
struct attribute **attrs;
int indx;

- tz->trip_type_attrs = kzalloc(size, GFP_KERNEL);
+ tz->trip_type_attrs = kcalloc(tz->trips, sizeof(*tz->trip_type_attrs),
+ GFP_KERNEL);
if (!tz->trip_type_attrs)
return -ENOMEM;

- tz->trip_temp_attrs = kzalloc(size, GFP_KERNEL);
+ tz->trip_temp_attrs = kcalloc(tz->trips, sizeof(*tz->trip_temp_attrs),
+ GFP_KERNEL);
if (!tz->trip_temp_attrs) {
kfree(tz->trip_type_attrs);
return -ENOMEM;
}

if (tz->ops->get_trip_hyst) {
- tz->trip_hyst_attrs = kzalloc(size, GFP_KERNEL);
+ tz->trip_hyst_attrs = kcalloc(tz->trips,
+ sizeof(*tz->trip_hyst_attrs),
+ GFP_KERNEL);
if (!tz->trip_hyst_attrs) {
kfree(tz->trip_type_attrs);
kfree(tz->trip_temp_attrs);
@@ -525,7 +528,7 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
}
}

- attrs = kzalloc(sizeof(*attrs) * tz->trips * 3, GFP_KERNEL);
+ attrs = kcalloc(tz->trips * 3, sizeof(*attrs), GFP_KERNEL);
if (!attrs) {
kfree(tz->trip_type_attrs);
kfree(tz->trip_temp_attrs);
--
2.1.4