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>
        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]++;