struct snd_soc_card card;
        int num_dapm_routes;
        u32 asrc_rate;
-       u32 asrc_format;
+       snd_pcm_format_t asrc_format;
 };
 
 static struct imx_akcodec_fs_mul ak4458_fs_mul[] = {
 
        mask = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT);
        snd_mask_none(mask);
-       snd_mask_set(mask, data->asrc_format);
+       snd_mask_set(mask, (__force unsigned int)data->asrc_format);
 
        return 0;
 }
        struct dai_link_data *link_data;
        struct of_phandle_args args;
        int ret, num_links;
+       u32 asrc_fmt = 0;
        u32 width;
 
        ret = snd_soc_of_parse_card_name(card, "model");
                                goto err;
                        }
 
-                       ret = of_property_read_u32(args.np, "fsl,asrc-format", &data->asrc_format);
+                       ret = of_property_read_u32(args.np, "fsl,asrc-format", &asrc_fmt);
+                       data->asrc_format = (__force snd_pcm_format_t)asrc_fmt;
                        if (ret) {
                                /* Fallback to old binding; translate to asrc_format */
                                ret = of_property_read_u32(args.np, "fsl,asrc-width", &width);