unsigned int set:1;
        struct soc_bytes_ext bytes_ext;
        unsigned int flags;
-       snd_ctl_elem_type_t type;
+       unsigned int type;
 };
 
 static const char *wm_adsp_mem_region_name(unsigned int type)
                                  const struct wm_adsp_alg_region *alg_region,
                                  unsigned int offset, unsigned int len,
                                  const char *subname, unsigned int subname_len,
-                                 unsigned int flags, snd_ctl_elem_type_t type)
+                                 unsigned int flags, unsigned int type)
 {
        struct wm_coeff_ctl *ctl;
        struct wmfw_ctl_work *ctl_work;
        int mem_type;
        const u8 *name;
        int name_len;
-       snd_ctl_elem_type_t ctl_type;
+       unsigned int ctl_type;
        int flags;
        int len;
 };
                blk->mem_type = le16_to_cpu(raw->hdr.type);
                blk->name = raw->name;
                blk->name_len = strlen(raw->name);
-               blk->ctl_type = (__force snd_ctl_elem_type_t)le16_to_cpu(raw->ctl_type);
+               blk->ctl_type = le16_to_cpu(raw->ctl_type);
                blk->flags = le16_to_cpu(raw->flags);
                blk->len = le32_to_cpu(raw->len);
                break;
                                                      &blk->name);
                wm_coeff_parse_string(sizeof(u8), &tmp, NULL);
                wm_coeff_parse_string(sizeof(u16), &tmp, NULL);
-               blk->ctl_type =
-                       (__force snd_ctl_elem_type_t)wm_coeff_parse_int(sizeof(raw->ctl_type),
-                                                                       &tmp);
+               blk->ctl_type = wm_coeff_parse_int(sizeof(raw->ctl_type), &tmp);
                blk->flags = wm_coeff_parse_int(sizeof(raw->flags), &tmp);
                blk->len = wm_coeff_parse_int(sizeof(raw->len), &tmp);
 
                wm_coeff_parse_coeff(dsp, &data, &coeff_blk);
 
                switch (coeff_blk.ctl_type) {
-               case SNDRV_CTL_ELEM_TYPE_BYTES:
+               case WMFW_CTL_TYPE_BYTES:
                        break;
                case WMFW_CTL_TYPE_ACKED:
                        if (coeff_blk.flags & WMFW_CTL_FLAG_SYS)
                                len *= 4;
                                wm_adsp_create_control(dsp, alg_region, 0,
                                                     len, NULL, 0, 0,
-                                                    SNDRV_CTL_ELEM_TYPE_BYTES);
+                                                    WMFW_CTL_TYPE_BYTES);
                        } else {
                                adsp_warn(dsp, "Missing length info for region DM with ID %x\n",
                                          be32_to_cpu(adsp1_alg[i].alg.id));
                                len *= 4;
                                wm_adsp_create_control(dsp, alg_region, 0,
                                                     len, NULL, 0, 0,
-                                                    SNDRV_CTL_ELEM_TYPE_BYTES);
+                                                    WMFW_CTL_TYPE_BYTES);
                        } else {
                                adsp_warn(dsp, "Missing length info for region ZM with ID %x\n",
                                          be32_to_cpu(adsp1_alg[i].alg.id));
                                len *= 4;
                                wm_adsp_create_control(dsp, alg_region, 0,
                                                     len, NULL, 0, 0,
-                                                    SNDRV_CTL_ELEM_TYPE_BYTES);
+                                                    WMFW_CTL_TYPE_BYTES);
                        } else {
                                adsp_warn(dsp, "Missing length info for region XM with ID %x\n",
                                          be32_to_cpu(adsp2_alg[i].alg.id));
                                len *= 4;
                                wm_adsp_create_control(dsp, alg_region, 0,
                                                     len, NULL, 0, 0,
-                                                    SNDRV_CTL_ELEM_TYPE_BYTES);
+                                                    WMFW_CTL_TYPE_BYTES);
                        } else {
                                adsp_warn(dsp, "Missing length info for region YM with ID %x\n",
                                          be32_to_cpu(adsp2_alg[i].alg.id));
                                len *= 4;
                                wm_adsp_create_control(dsp, alg_region, 0,
                                                     len, NULL, 0, 0,
-                                                    SNDRV_CTL_ELEM_TYPE_BYTES);
+                                                    WMFW_CTL_TYPE_BYTES);
                        } else {
                                adsp_warn(dsp, "Missing length info for region ZM with ID %x\n",
                                          be32_to_cpu(adsp2_alg[i].alg.id));