Lines Matching defs:kctl

1646  * @kctl: the control element to assign
1659 * specifies if kctl->private_value is a HDA amplifier value.
1662 struct snd_kcontrol *kctl)
1668 if (kctl->id.subdevice & HDA_SUBDEV_AMP_FLAG) {
1671 nid = get_amp_nid_(kctl->private_value);
1673 if ((kctl->id.subdevice & HDA_SUBDEV_NID_FLAG) != 0 && nid == 0)
1674 nid = kctl->id.subdevice & 0xffff;
1675 if (kctl->id.subdevice & (HDA_SUBDEV_NID_FLAG|HDA_SUBDEV_AMP_FLAG))
1676 kctl->id.subdevice = 0;
1677 err = snd_ctl_add(codec->card, kctl);
1683 item->kctl = kctl;
1694 * @kctl: the control element to assign
1695 * @index: index to kctl
1701 int snd_hda_add_nid(struct hda_codec *codec, struct snd_kcontrol *kctl,
1710 item->kctl = kctl;
1716 kctl->id.name, kctl->id.index, index);
1732 snd_ctl_remove(codec->card, items[i].kctl);
1828 struct snd_kcontrol *sctl = items[i].kctl;
1856 /* call kctl->put with the given value(s) */
1857 static int put_kctl_with_value(struct snd_kcontrol *kctl, int val)
1865 kctl->put(kctl, ucontrol);
1877 struct snd_kcontrol *kctl,
1886 if (kctl->vd[0].access & SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK) {
1887 if (kctl->tlv.c != snd_hda_mixer_amp_tlv) {
1890 kctl->id.name, kctl->id.index);
1893 get_ctl_amp_tlv(kctl, _tlv);
1895 } else if (kctl->vd[0].access & SNDRV_CTL_ELEM_ACCESS_TLV_READ)
1896 tlv = kctl->tlv.p;
1924 struct snd_kcontrol *kctl,
1960 struct snd_kcontrol *kctl;
1971 kctl = snd_ctl_make_virtual_master(name, tlv);
1972 if (!kctl)
1974 err = snd_hda_ctl_add(codec, 0, kctl);
1978 err = map_followers(codec, followers, suffix, add_follower, kctl);
1983 put_kctl_with_value(kctl, 0);
1989 snd_ctl_apply_vmaster_followers(kctl,
1995 *ctl_ret = kctl;
2060 * Add a mute-LED hook with the given vmaster switch kctl.
2068 struct snd_kcontrol *kctl;
2077 kctl = snd_ctl_new1(&vmaster_mute_mode, hook);
2078 if (!kctl)
2080 return snd_hda_ctl_add(codec, 0, kctl);
2460 struct snd_kcontrol *kctl;
2475 kctl = find_mixer_ctl(codec, dig_mix->name, 0, 0);
2476 if (!kctl)
2478 kctl->id.index = spdif_index;
2494 kctl = snd_ctl_new1(dig_mix, codec);
2495 if (!kctl)
2497 kctl->id.index = idx;
2498 kctl->private_value = codec->spdif_out.used - 1;
2499 err = snd_hda_ctl_add(codec, associated_nid, kctl);
2614 struct snd_kcontrol *kctl;
2619 kctl = snd_ctl_new1(&spdif_share_sw, mout);
2620 if (!kctl)
2623 return snd_hda_ctl_add(codec, mout->dig_out_nid, kctl);
2710 struct snd_kcontrol *kctl;
2720 kctl = snd_ctl_new1(dig_mix, codec);
2721 if (!kctl)
2723 kctl->private_value = nid;
2724 err = snd_hda_ctl_add(codec, nid, kctl);
3368 struct snd_kcontrol *kctl;
3373 kctl = snd_ctl_new1(knew, codec);
3374 if (!kctl)
3377 kctl->id.device = addr;
3379 kctl->id.index = idx;
3380 err = snd_hda_ctl_add(codec, 0, kctl);