if (i >= ARRAY_SIZE(fields))
                        continue;
                snd_info_get_str(item, ptr, sizeof(item));
-               if (strict_strtoull(item, 0, &val))
+               if (kstrtoull(item, 0, &val))
                        continue;
                if (fields[i].size == sizeof(int))
                        *get_dummy_int_ptr(dummy, fields[i].offset) = val;
 
        struct snd_hwdep *hwdep = dev_get_drvdata(dev);         \
        struct hda_codec *codec = hwdep->private_data;          \
        unsigned long val;                                      \
-       int err = strict_strtoul(buf, 0, &val);                 \
+       int err = kstrtoul(buf, 0, &val);                       \
        if (err < 0)                                            \
                return err;                                     \
        codec->type = val;                                      \
        p = snd_hda_get_hint(codec, key);
        if (!p)
                ret = -ENOENT;
-       else if (strict_strtoul(p, 0, &val))
+       else if (kstrtoul(p, 0, &val))
                ret = -EINVAL;
        else {
                *valp = val;
                                 struct hda_codec **codecp) \
 { \
        unsigned long val; \
-       if (!strict_strtoul(buf, 0, &val)) \
+       if (!kstrtoul(buf, 0, &val)) \
                (*codecp)->name = val; \
 }
 
 
        long int time;
        int ret;
 
-       ret = strict_strtol(buf, 10, &time);
+       ret = kstrtol(buf, 10, &time);
        if (ret != 0)
                return ret;
 
 
        unsigned long val;                                              \
        int status;                                                     \
                                                                        \
-       status = strict_strtoul(buf, 0, &val);                          \
+       status = kstrtoul(buf, 0, &val);                                \
        if (status)                                                     \
                return status;                                          \
                                                                        \
 
        struct snd_soc_pcm_runtime *rtd = dev_get_drvdata(dev);
        int ret;
 
-       ret = strict_strtol(buf, 10, &rtd->pmdown_time);
+       ret = kstrtol(buf, 10, &rtd->pmdown_time);
        if (ret)
                return ret;
 
        char *start = buf;
        unsigned long reg, value;
        struct snd_soc_codec *codec = file->private_data;
+       int ret;
 
        buf_size = min(count, (sizeof(buf)-1));
        if (copy_from_user(buf, user_buf, buf_size))
        reg = simple_strtoul(start, &start, 16);
        while (*start == ' ')
                start++;
-       if (strict_strtoul(start, 16, &value))
-               return -EINVAL;
+       ret = kstrtoul(start, 16, &value);
+       if (ret)
+               return ret;
 
        /* Userspace has been fiddling around behind the kernel's back */
        add_taint(TAINT_USER, LOCKDEP_NOW_UNRELIABLE);