Loading Documentation/sound/alsa/HD-Audio-Models.txt +1 −14 Original line number Diff line number Diff line Loading @@ -42,19 +42,7 @@ ALC260 ALC262 ====== fujitsu Fujitsu Laptop benq Benq ED8 benq-t31 Benq T31 hippo Hippo (ATI) with jack detection, Sony UX-90s hippo_1 Hippo (Benq) with jack detection toshiba-s06 Toshiba S06 toshiba-rx1 Toshiba RX1 tyan Tyan Thunder n6650W (S2915-E) ultra Samsung Q1 Ultra Vista model lenovo-3000 Lenovo 3000 y410 nec NEC Versa S9100 basic fixed pin assignment w/o SPDIF auto auto-config reading BIOS (default) N/A ALC267/268 ========== Loading Loading @@ -350,7 +338,6 @@ STAC92HD83* mic-ref Reference board with power management for ports dell-s14 Dell laptop dell-vostro-3500 Dell Vostro 3500 laptop hp HP laptops with (inverted) mute-LED hp-dv7-4000 HP dv-7 4000 auto BIOS setup (default) Loading include/sound/control.h +8 −0 Original line number Diff line number Diff line Loading @@ -227,4 +227,12 @@ snd_ctl_add_slave_uncached(struct snd_kcontrol *master, return _snd_ctl_add_slave(master, slave, SND_CTL_SLAVE_NEED_UPDATE); } /* * Helper functions for jack-detection controls */ struct snd_kcontrol * snd_kctl_jack_new(const char *name, int idx, void *private_data); void snd_kctl_jack_report(struct snd_card *card, struct snd_kcontrol *kctl, bool status); #endif /* __SOUND_CONTROL_H */ sound/core/Kconfig +3 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,9 @@ config SND_PCM_XRUN_DEBUG config SND_VMASTER bool config SND_KCTL_JACK bool config SND_DMA_SGBUF def_bool y depends on X86 Loading sound/core/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ snd-y := sound.o init.o memory.o info.o control.o misc.o device.o snd-$(CONFIG_ISA_DMA_API) += isadma.o snd-$(CONFIG_SND_OSSEMUL) += sound_oss.o info_oss.o snd-$(CONFIG_SND_VMASTER) += vmaster.o snd-$(CONFIG_SND_KCTL_JACK) += ctljack.o snd-$(CONFIG_SND_JACK) += jack.o snd-pcm-objs := pcm.o pcm_native.o pcm_lib.o pcm_timer.o pcm_misc.o \ Loading sound/core/ctljack.c 0 → 100644 +56 −0 Original line number Diff line number Diff line /* * Helper functions for jack-detection kcontrols * * Copyright (c) 2011 Takashi Iwai <tiwai@suse.de> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) * any later version. */ #include <linux/kernel.h> #include <linux/export.h> #include <sound/core.h> #include <sound/control.h> #define jack_detect_kctl_info snd_ctl_boolean_mono_info static int jack_detect_kctl_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { ucontrol->value.integer.value[0] = kcontrol->private_value; return 0; } static struct snd_kcontrol_new jack_detect_kctl = { /* name is filled later */ .iface = SNDRV_CTL_ELEM_IFACE_CARD, .access = SNDRV_CTL_ELEM_ACCESS_READ, .info = jack_detect_kctl_info, .get = jack_detect_kctl_get, }; struct snd_kcontrol * snd_kctl_jack_new(const char *name, int idx, void *private_data) { struct snd_kcontrol *kctl; kctl = snd_ctl_new1(&jack_detect_kctl, private_data); if (!kctl) return NULL; snprintf(kctl->id.name, sizeof(kctl->id.name), "%s Jack", name); kctl->id.index = idx; kctl->private_value = 0; return kctl; } EXPORT_SYMBOL_GPL(snd_kctl_jack_new); void snd_kctl_jack_report(struct snd_card *card, struct snd_kcontrol *kctl, bool status) { if (kctl->private_value == status) return; kctl->private_value = status; snd_ctl_notify(card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id); } EXPORT_SYMBOL_GPL(snd_kctl_jack_report); Loading
Documentation/sound/alsa/HD-Audio-Models.txt +1 −14 Original line number Diff line number Diff line Loading @@ -42,19 +42,7 @@ ALC260 ALC262 ====== fujitsu Fujitsu Laptop benq Benq ED8 benq-t31 Benq T31 hippo Hippo (ATI) with jack detection, Sony UX-90s hippo_1 Hippo (Benq) with jack detection toshiba-s06 Toshiba S06 toshiba-rx1 Toshiba RX1 tyan Tyan Thunder n6650W (S2915-E) ultra Samsung Q1 Ultra Vista model lenovo-3000 Lenovo 3000 y410 nec NEC Versa S9100 basic fixed pin assignment w/o SPDIF auto auto-config reading BIOS (default) N/A ALC267/268 ========== Loading Loading @@ -350,7 +338,6 @@ STAC92HD83* mic-ref Reference board with power management for ports dell-s14 Dell laptop dell-vostro-3500 Dell Vostro 3500 laptop hp HP laptops with (inverted) mute-LED hp-dv7-4000 HP dv-7 4000 auto BIOS setup (default) Loading
include/sound/control.h +8 −0 Original line number Diff line number Diff line Loading @@ -227,4 +227,12 @@ snd_ctl_add_slave_uncached(struct snd_kcontrol *master, return _snd_ctl_add_slave(master, slave, SND_CTL_SLAVE_NEED_UPDATE); } /* * Helper functions for jack-detection controls */ struct snd_kcontrol * snd_kctl_jack_new(const char *name, int idx, void *private_data); void snd_kctl_jack_report(struct snd_card *card, struct snd_kcontrol *kctl, bool status); #endif /* __SOUND_CONTROL_H */
sound/core/Kconfig +3 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,9 @@ config SND_PCM_XRUN_DEBUG config SND_VMASTER bool config SND_KCTL_JACK bool config SND_DMA_SGBUF def_bool y depends on X86 Loading
sound/core/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ snd-y := sound.o init.o memory.o info.o control.o misc.o device.o snd-$(CONFIG_ISA_DMA_API) += isadma.o snd-$(CONFIG_SND_OSSEMUL) += sound_oss.o info_oss.o snd-$(CONFIG_SND_VMASTER) += vmaster.o snd-$(CONFIG_SND_KCTL_JACK) += ctljack.o snd-$(CONFIG_SND_JACK) += jack.o snd-pcm-objs := pcm.o pcm_native.o pcm_lib.o pcm_timer.o pcm_misc.o \ Loading
sound/core/ctljack.c 0 → 100644 +56 −0 Original line number Diff line number Diff line /* * Helper functions for jack-detection kcontrols * * Copyright (c) 2011 Takashi Iwai <tiwai@suse.de> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) * any later version. */ #include <linux/kernel.h> #include <linux/export.h> #include <sound/core.h> #include <sound/control.h> #define jack_detect_kctl_info snd_ctl_boolean_mono_info static int jack_detect_kctl_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { ucontrol->value.integer.value[0] = kcontrol->private_value; return 0; } static struct snd_kcontrol_new jack_detect_kctl = { /* name is filled later */ .iface = SNDRV_CTL_ELEM_IFACE_CARD, .access = SNDRV_CTL_ELEM_ACCESS_READ, .info = jack_detect_kctl_info, .get = jack_detect_kctl_get, }; struct snd_kcontrol * snd_kctl_jack_new(const char *name, int idx, void *private_data) { struct snd_kcontrol *kctl; kctl = snd_ctl_new1(&jack_detect_kctl, private_data); if (!kctl) return NULL; snprintf(kctl->id.name, sizeof(kctl->id.name), "%s Jack", name); kctl->id.index = idx; kctl->private_value = 0; return kctl; } EXPORT_SYMBOL_GPL(snd_kctl_jack_new); void snd_kctl_jack_report(struct snd_card *card, struct snd_kcontrol *kctl, bool status) { if (kctl->private_value == status) return; kctl->private_value = status; snd_ctl_notify(card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id); } EXPORT_SYMBOL_GPL(snd_kctl_jack_report);