hwmon: (asus_wmi_sensors) Save a few bytes of memory
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 2 Jul 2022 06:05:54 +0000 (08:05 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 13 Jul 2022 15:39:42 +0000 (08:39 -0700)
The first 'for' loop of asus_wmi_configure_sensor_setup() only computes
the number and type of sensors that exist in the system.

Here, the 'temp_sensor' structure is only used to store the data collected
by asus_wmi_sensor_info(). There is no point in using a devm_ variant for
this allocation. This wastes some memory for no good reason.

Use the stack instead.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/e23cea6c489fabb109a61e8a33d146a6b74c0529.1656741926.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/asus_wmi_sensors.c

index 9e935e34c9983b8726d28dd17703fcb5b24506eb..6e8a908171f0aa99396454fff3c3a5042dde6b41 100644 (file)
@@ -514,22 +514,20 @@ static int asus_wmi_configure_sensor_setup(struct device *dev,
        int i, idx;
        int err;
 
-       temp_sensor = devm_kcalloc(dev, 1, sizeof(*temp_sensor), GFP_KERNEL);
-       if (!temp_sensor)
-               return -ENOMEM;
-
        for (i = 0; i < sensor_data->wmi.sensor_count; i++) {
-               err = asus_wmi_sensor_info(i, temp_sensor);
+               struct asus_wmi_sensor_info sensor;
+
+               err = asus_wmi_sensor_info(i, &sensor);
                if (err)
                        return err;
 
-               switch (temp_sensor->data_type) {
+               switch (sensor.data_type) {
                case TEMPERATURE_C:
                case VOLTAGE:
                case CURRENT:
                case FAN_RPM:
                case WATER_FLOW:
-                       type = asus_data_types[temp_sensor->data_type];
+                       type = asus_data_types[sensor.data_type];
                        if (!nr_count[type])
                                nr_types++;
                        nr_count[type]++;