struct snd_pcm_hw_params *params)
 {
        struct snd_pcm_hardware *hw;
-       struct snd_interval *i = NULL;
-       struct snd_mask *m = NULL;
+       const struct snd_interval *i;
+       const struct snd_mask *m;
        int err;
 
        params->info = 0;
                return err;
 
        if (!params->msbits) {
-               i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_SAMPLE_BITS);
+               i = hw_param_interval_c(params, SNDRV_PCM_HW_PARAM_SAMPLE_BITS);
                if (snd_interval_single(i))
                        params->msbits = snd_interval_value(i);
        }
 
        if (!params->rate_den) {
-               i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE);
+               i = hw_param_interval_c(params, SNDRV_PCM_HW_PARAM_RATE);
                if (snd_interval_single(i)) {
                        params->rate_num = snd_interval_value(i);
                        params->rate_den = 1;
                                          SNDRV_PCM_INFO_MMAP_VALID);
        }
        if (!params->fifo_size) {
-               m = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT);
-               i = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS);
+               m = hw_param_mask_c(params, SNDRV_PCM_HW_PARAM_FORMAT);
+               i = hw_param_interval_c(params, SNDRV_PCM_HW_PARAM_CHANNELS);
                if (snd_mask_single(m) && snd_interval_single(i)) {
                        err = substream->ops->ioctl(substream,
                                        SNDRV_PCM_IOCTL1_FIFO_SIZE, params);