return err;
 }
 
-static void
-mlxsw_thermal_module_temp_and_thresholds_get(struct mlxsw_core *core,
-                                            u8 slot_index, u16 sensor_index,
-                                            int *p_temp, int *p_crit_temp,
-                                            int *p_emerg_temp)
-{
-       char mtmp_pl[MLXSW_REG_MTMP_LEN];
-       int err;
-
-       /* Read module temperature and thresholds. */
-       mlxsw_reg_mtmp_pack(mtmp_pl, slot_index, sensor_index,
-                           false, false);
-       err = mlxsw_reg_query(core, MLXSW_REG(mtmp), mtmp_pl);
-       if (err) {
-               /* Set temperature and thresholds to zero to avoid passing
-                * uninitialized data back to the caller.
-                */
-               *p_temp = 0;
-               *p_crit_temp = 0;
-               *p_emerg_temp = 0;
-
-               return;
-       }
-       mlxsw_reg_mtmp_unpack(mtmp_pl, p_temp, NULL, p_crit_temp, p_emerg_temp,
-                             NULL);
-}
-
 static int mlxsw_thermal_module_temp_get(struct thermal_zone_device *tzdev,
                                         int *p_temp)
 {
        struct mlxsw_thermal_module *tz = tzdev->devdata;
        struct mlxsw_thermal *thermal = tz->parent;
-       int temp, crit_temp, emerg_temp;
+       char mtmp_pl[MLXSW_REG_MTMP_LEN];
        u16 sensor_index;
+       int err;
 
        sensor_index = MLXSW_REG_MTMP_MODULE_INDEX_MIN + tz->module;
-
-       /* Read module temperature and thresholds. */
-       mlxsw_thermal_module_temp_and_thresholds_get(thermal->core,
-                                                    tz->slot_index,
-                                                    sensor_index, &temp,
-                                                    &crit_temp, &emerg_temp);
-       *p_temp = temp;
-
+       mlxsw_reg_mtmp_pack(mtmp_pl, tz->slot_index, sensor_index,
+                           false, false);
+       err = mlxsw_reg_query(thermal->core, MLXSW_REG(mtmp), mtmp_pl);
+       if (err)
+               return err;
+       mlxsw_reg_mtmp_unpack(mtmp_pl, p_temp, NULL, NULL, NULL, NULL);
        return 0;
 }