sound fixes for 4.2-final

Here are a small collecton of sound fix patches.  The most significant
 one is the disablement of newly introduced topology API.  Its ABI
 couldn't be stabilized enough, so we decided to delay for 4.3 in the
 end.  Other than that, all oneliner fixes: a USB-audio runtime PM fix
 and a couple of HD-audio quirks.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJV1WX/AAoJEGwxgFQ9KSmkrJwQALdpqWsGXRELI/YC9BXNj1fM
 m+IlVl+/zi4U3PYbWR28vPPn4FTLSkobiAj7M/dD8UyAxvB+KJsZ8Kz0ZXu77M29
 2HO1Ho3l7c2xb2+jKoNKziANVe1Hogo/GEhsnnoVhcATZloc+lRWkIbMYJzJ+VDY
 JVLIjC8PSZoS3OOUgQzmd9Ah+FNPrO2KB0gTZY0hT3DhELm77CWci3ZKxP58Qab0
 OlOc2n8xvOCwHD+2FG2XF6eJIjc6L9fJG4m7NTToHyuOmqZqCo8aotkpD2ANNpVd
 PL5afoUpB74ZnJ7uXw/+LL4fWxlPAszBTKeMcZYBf1nwqhwaJTY2POcxAgRMd8/m
 6Zo+3XeaGFzVLH+0EwLbBCnGV6KToIfLR5yGR2cuwe7F+XmCCrRLbkOj7oNdJiW1
 hbTmbanwZv0NkFfzDMgJPBvW9KlMO9Bk2VDl3jIIC+1qTGl8lWFAWwWPWub2hiAP
 Cuz6LPpQvCvaGov9xcTFpUSpvZs/8OZwpmgEfdAxxY4vN0HAB6k+tRe+R+y+e5Oe
 hia6HG/U6lYOXjxN0L1PcT6I2ujuqzCqdbDQ28lRH9AtQacPkMYZTxLB7fd1keFA
 oaI2k0GfRLqcngTNjeyABIi4Xk1C1XEMtDXvX2vlQglAfsSFyJ1DAg6DtbhulrRk
 t/UQdHWblX/XhPinPSSe
 =c+1+
 -----END PGP SIGNATURE-----

Merge tag 'sound-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "Here are a small collecton of sound fix patches.

  The most significant one is the disablement of newly introduced
  topology API.  Its ABI couldn't be stabilized enough, so we decided to
  delay for 4.3 in the end.  Other than that, all oneliner fixes: a
  USB-audio runtime PM fix and a couple of HD-audio quirks"

* tag 'sound-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: hda - Add dock support for Thinkpad W541 (17aa:2211)
  ALSA: usb-audio: Fix runtime PM unbalance
  ASoC: topology: Disable use from userspace
  ASoC: topology: Add Kconfig option for topology
  ALSA: hda - Fix the white noise on Dell laptop
This commit is contained in:
Linus Torvalds 2015-08-20 12:08:38 -07:00
commit a971dbcab9
6 changed files with 27 additions and 1 deletions

View file

@ -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

View file

@ -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.
*/

View file

@ -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),

View file

@ -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"

View file

@ -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

View file

@ -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);