return err;
        isight->gain_max = be32_to_cpu(value);
 
-       isight->gain_tlv[0] = SNDRV_CTL_TLVT_DB_MINMAX;
-       isight->gain_tlv[1] = 2 * sizeof(unsigned int);
+       isight->gain_tlv[SNDRV_CTL_TLVO_TYPE] = SNDRV_CTL_TLVT_DB_MINMAX;
+       isight->gain_tlv[SNDRV_CTL_TLVO_LEN] = 2 * sizeof(unsigned int);
 
        err = reg_read(isight, REG_GAIN_DB_START, &value);
        if (err < 0)
                return err;
-       isight->gain_tlv[2] = (s32)be32_to_cpu(value) * 100;
+       isight->gain_tlv[SNDRV_CTL_TLVO_DB_MINMAX_MIN] =
+                                               (s32)be32_to_cpu(value) * 100;
 
        err = reg_read(isight, REG_GAIN_DB_END, &value);
        if (err < 0)
                return err;
-       isight->gain_tlv[3] = (s32)be32_to_cpu(value) * 100;
+       isight->gain_tlv[SNDRV_CTL_TLVO_DB_MINMAX_MAX] =
+                                               (s32)be32_to_cpu(value) * 100;
 
        ctl = snd_ctl_new1(&gain_control, isight);
        if (ctl)