thermal: sysfs: use kcalloc() instead of kzalloc()
authorEduardo Valentin <edubezval@gmail.com>
Tue, 8 Nov 2016 05:09:26 +0000 (21:09 -0800)
committerZhang Rui <rui.zhang@intel.com>
Wed, 23 Nov 2016 02:06:12 +0000 (10:06 +0800)
Simplify size computation by using kcalloc() for
allocating memory for arrays.

Cc: Zhang Rui <rui.zhang@intel.com>
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/thermal_sysfs.c

index 4807015c26de9fa07b77b9e26fe3c06fcc2b8964..a694de907a266b6c9661545d77de513c0e890365 100644 (file)
@@ -511,7 +511,6 @@ 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;
 
@@ -519,18 +518,22 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
        if (tz->trips <= 0)
                return -EINVAL;
 
-       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);
@@ -538,7 +541,7 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
                }
        }
 
-       attrs = kzalloc(sizeof(*attrs) * tz->trips * 3 + 1, GFP_KERNEL);
+       attrs = kcalloc(tz->trips * 3 + 1, sizeof(*attrs), GFP_KERNEL);
        if (!attrs) {
                kfree(tz->trip_type_attrs);
                kfree(tz->trip_temp_attrs);