Lines Matching refs:hook
2083 struct hda_vmaster_mute_hook *hook = snd_kcontrol_chip(kcontrol); in vmaster_mute_mode_get() local
2084 ucontrol->value.enumerated.item[0] = hook->mute_mode; in vmaster_mute_mode_get()
2091 struct hda_vmaster_mute_hook *hook = snd_kcontrol_chip(kcontrol); in vmaster_mute_mode_put() local
2092 unsigned int old_mode = hook->mute_mode; in vmaster_mute_mode_put()
2094 hook->mute_mode = ucontrol->value.enumerated.item[0]; in vmaster_mute_mode_put()
2095 if (hook->mute_mode > HDA_VMUTE_FOLLOW_MASTER) in vmaster_mute_mode_put()
2096 hook->mute_mode = HDA_VMUTE_FOLLOW_MASTER; in vmaster_mute_mode_put()
2097 if (old_mode == hook->mute_mode) in vmaster_mute_mode_put()
2099 snd_hda_sync_vmaster_hook(hook); in vmaster_mute_mode_put()
2114 struct hda_vmaster_mute_hook *hook = private_data; in vmaster_hook() local
2116 if (hook->mute_mode != HDA_VMUTE_FOLLOW_MASTER) in vmaster_hook()
2117 enabled = hook->mute_mode; in vmaster_hook()
2118 hook->hook(hook->codec, enabled); in vmaster_hook()
2132 struct hda_vmaster_mute_hook *hook, in snd_hda_add_vmaster_hook() argument
2137 if (!hook->hook || !hook->sw_kctl) in snd_hda_add_vmaster_hook()
2139 hook->codec = codec; in snd_hda_add_vmaster_hook()
2140 hook->mute_mode = HDA_VMUTE_FOLLOW_MASTER; in snd_hda_add_vmaster_hook()
2141 snd_ctl_add_vmaster_hook(hook->sw_kctl, vmaster_hook, hook); in snd_hda_add_vmaster_hook()
2144 kctl = snd_ctl_new1(&vmaster_mute_mode, hook); in snd_hda_add_vmaster_hook()
2158 void snd_hda_sync_vmaster_hook(struct hda_vmaster_mute_hook *hook) in snd_hda_sync_vmaster_hook() argument
2160 if (!hook->hook || !hook->codec) in snd_hda_sync_vmaster_hook()
2165 if (hook->codec->bus->shutdown) in snd_hda_sync_vmaster_hook()
2167 snd_ctl_sync_vmaster_hook(hook->sw_kctl); in snd_hda_sync_vmaster_hook()