/* Bytes ext operations, for TLV byte controls */
 struct snd_soc_tplg_bytes_ext_ops {
        u32 id;
-       int (*get)(unsigned int __user *bytes, unsigned int size);
-       int (*put)(const unsigned int __user *bytes, unsigned int size);
+       int (*get)(struct snd_kcontrol *kcontrol, unsigned int __user *bytes,
+                                                       unsigned int size);
+       int (*put)(struct snd_kcontrol *kcontrol,
+                       const unsigned int __user *bytes, unsigned int size);
 };
 
 /*
 
        struct snd_soc_dobj dobj;
 
        /* used for TLV byte control */
-       int (*get)(unsigned int __user *bytes, unsigned int size);
-       int (*put)(const unsigned int __user *bytes, unsigned int size);
+       int (*get)(struct snd_kcontrol *kcontrol, unsigned int __user *bytes,
+                       unsigned int size);
+       int (*put)(struct snd_kcontrol *kcontrol, const unsigned int __user *bytes,
+                       unsigned int size);
 };
 
 /* multi register control */
 
        switch (op_flag) {
        case SNDRV_CTL_TLV_OP_READ:
                if (params->get)
-                       ret = params->get(tlv, count);
+                       ret = params->get(kcontrol, tlv, count);
                break;
        case SNDRV_CTL_TLV_OP_WRITE:
                if (params->put)
-                       ret = params->put(tlv, count);
+                       ret = params->put(kcontrol, tlv, count);
                break;
        }
        return ret;