Merge branch 'for-linus' into for-next
This commit is contained in:
commit
00833d70ca
8 changed files with 50 additions and 2 deletions
|
@ -141,6 +141,8 @@ struct snd_soc_tplg_ops {
|
|||
int io_ops_count;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_SND_SOC_TOPOLOGY
|
||||
|
||||
/* gets a pointer to data from the firmware block header */
|
||||
static inline const void *snd_soc_tplg_get_data(struct snd_soc_tplg_hdr *hdr)
|
||||
{
|
||||
|
@ -165,4 +167,14 @@ int snd_soc_tplg_widget_bind_event(struct snd_soc_dapm_widget *w,
|
|||
const struct snd_soc_tplg_widget_events *events, int num_events,
|
||||
u16 event_type);
|
||||
|
||||
#else
|
||||
|
||||
static inline int snd_soc_tplg_component_remove(struct snd_soc_component *comp,
|
||||
u32 index)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -18,6 +18,12 @@
|
|||
#include <linux/types.h>
|
||||
#include <sound/asound.h>
|
||||
|
||||
#ifndef __KERNEL__
|
||||
#error This API is an early revision and not enabled in the current
|
||||
#error kernel release, it will be enabled in a future kernel version
|
||||
#error with incompatible changes to what is here.
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Maximum number of channels topology kcontrol can represent.
|
||||
*/
|
||||
|
|
|
@ -200,12 +200,33 @@ static int cx_auto_init(struct hda_codec *codec)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#define cx_auto_free snd_hda_gen_free
|
||||
static void cx_auto_reboot_notify(struct hda_codec *codec)
|
||||
{
|
||||
struct conexant_spec *spec = codec->spec;
|
||||
|
||||
if (codec->core.vendor_id != 0x14f150f2)
|
||||
return;
|
||||
|
||||
/* Turn the CX20722 codec into D3 to avoid spurious noises
|
||||
from the internal speaker during (and after) reboot */
|
||||
cx_auto_turn_eapd(codec, spec->num_eapds, spec->eapds, false);
|
||||
|
||||
snd_hda_codec_set_power_to_all(codec, codec->core.afg, AC_PWRST_D3);
|
||||
snd_hda_codec_write(codec, codec->core.afg, 0,
|
||||
AC_VERB_SET_POWER_STATE, AC_PWRST_D3);
|
||||
}
|
||||
|
||||
static void cx_auto_free(struct hda_codec *codec)
|
||||
{
|
||||
cx_auto_reboot_notify(codec);
|
||||
snd_hda_gen_free(codec);
|
||||
}
|
||||
|
||||
static const struct hda_codec_ops cx_auto_patch_ops = {
|
||||
.build_controls = cx_auto_build_controls,
|
||||
.build_pcms = snd_hda_gen_build_pcms,
|
||||
.init = cx_auto_init,
|
||||
.reboot_notify = cx_auto_reboot_notify,
|
||||
.free = cx_auto_free,
|
||||
.unsol_event = snd_hda_jack_unsol_event,
|
||||
#ifdef CONFIG_PM
|
||||
|
|
|
@ -5190,6 +5190,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x1028, 0x06d9, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1028, 0x06da, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC292_FIXUP_DISABLE_AAMIX),
|
||||
SND_PCI_QUIRK(0x1028, 0x06db, "Dell", ALC292_FIXUP_DISABLE_AAMIX),
|
||||
SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),
|
||||
|
@ -5291,6 +5292,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x17aa, 0x220c, "Thinkpad T440s", ALC292_FIXUP_TPT440_DOCK),
|
||||
SND_PCI_QUIRK(0x17aa, 0x220e, "Thinkpad T440p", ALC292_FIXUP_TPT440_DOCK),
|
||||
SND_PCI_QUIRK(0x17aa, 0x2210, "Thinkpad T540p", ALC292_FIXUP_TPT440_DOCK),
|
||||
SND_PCI_QUIRK(0x17aa, 0x2211, "Thinkpad W541", ALC292_FIXUP_TPT440_DOCK),
|
||||
SND_PCI_QUIRK(0x17aa, 0x2212, "Thinkpad T440", ALC292_FIXUP_TPT440_DOCK),
|
||||
SND_PCI_QUIRK(0x17aa, 0x2214, "Thinkpad X240", ALC292_FIXUP_TPT440_DOCK),
|
||||
SND_PCI_QUIRK(0x17aa, 0x2215, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
|
||||
|
|
|
@ -30,6 +30,9 @@ config SND_SOC_GENERIC_DMAENGINE_PCM
|
|||
bool
|
||||
select SND_DMAENGINE_PCM
|
||||
|
||||
config SND_SOC_TOPOLOGY
|
||||
bool
|
||||
|
||||
# All the supported SoCs
|
||||
source "sound/soc/adi/Kconfig"
|
||||
source "sound/soc/atmel/Kconfig"
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
snd-soc-core-objs := soc-core.o soc-dapm.o soc-jack.o soc-cache.o soc-utils.o
|
||||
snd-soc-core-objs += soc-pcm.o soc-compress.o soc-io.o soc-devres.o soc-ops.o
|
||||
|
||||
ifneq ($(CONFIG_SND_SOC_TOPOLOGY),)
|
||||
snd-soc-core-objs += soc-topology.o
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM),)
|
||||
snd-soc-core-objs += soc-generic-dmaengine-pcm.o
|
||||
|
|
|
@ -638,7 +638,7 @@ int snd_usb_autoresume(struct snd_usb_audio *chip)
|
|||
int err = -ENODEV;
|
||||
|
||||
down_read(&chip->shutdown_rwsem);
|
||||
if (chip->probing && chip->in_pm)
|
||||
if (chip->probing || chip->in_pm)
|
||||
err = 0;
|
||||
else if (!chip->shutdown)
|
||||
err = usb_autopm_get_interface(chip->pm_intf);
|
||||
|
|
|
@ -1268,6 +1268,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
|
|||
return SNDRV_PCM_FMTBIT_DSD_U32_BE;
|
||||
break;
|
||||
|
||||
case USB_ID(0x20b1, 0x000a): /* Gustard DAC-X20U */
|
||||
case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
|
||||
case USB_ID(0x20b1, 0x2023): /* JLsounds I2SoverUSB */
|
||||
if (fp->altsetting == 3)
|
||||
|
|
Loading…
Reference in a new issue