Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73d75ba9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound fixes from Takashi Iwai:
 "Two peaks in diffstat are for the audio EQ init of IDT codecs and the
  EMU2004 usb mixer addition, both of which are pretty device-specific,
  so safe to apply.  The rest are a bunch of small fixes, most of them
  are regression fixes"

* tag 'sound-fix-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (26 commits)
  ALSA: hda - load EQ params into IDT codec on HP bNB13 systems
  ASoC: cs42l52: Correct MIC CTL mask
  ASoC: wm8962: Turn on regcache_cache_only before disabling regulator
  ALSA: jack: Unregister input device at disconnection
  ALSA: pcsp: Fix the order of input device unregistration
  ASoC: fsl: imx-pcm-fiq: omit fiq counter to avoid harm in unbalanced situations
  ASoC: blackfin: Fix missing break
  ALSA: usb-audio: add front jack channel selector for EMU0204
  ALSA: hda - Don't clear the power state at snd_hda_codec_reset()
  ASoC: arizona: Fix typo in name of EQ coefficient controls
  ALSA: hda - Control EAPD for Master volume on Lenovo N100
  ALSA: hda - Don't turn off EAPD for headphone on Lenovo N100
  ALSA: isa: not allocating enough space
  ALSA: snd-aoa: two copy and paste bugs
  ASoC: wm8997: Correct typo in ISRC mux routes
  ALSA: hda - Check keep_eapd_on before inv_eapd
  ALSA: hda - Fix Line Out automute on Realtek multifunction jacks
  ALSA: msnd: Avoid duplicated driver name
  ALSA: compress_core: don't return -EBADFD from poll if paused
  ALSA: hda - hdmi: Fix wrong baseline length in ATI/AMD generated ELD
  ...
parents 71f777ed abfe69dd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -644,7 +644,7 @@ static int n##_control_put(struct snd_kcontrol *kcontrol, \
			   struct snd_ctl_elem_value *ucontrol)		\
{									\
	struct gpio_runtime *gpio = snd_kcontrol_chip(kcontrol);	\
	if (gpio->methods && gpio->methods->get_##n)			\
	if (gpio->methods && gpio->methods->set_##n)			\
		gpio->methods->set_##n(gpio,				\
			!!ucontrol->value.integer.value[0]);		\
	return 1;							\
@@ -1135,7 +1135,7 @@ static int aoa_fabric_layout_resume(struct soundbus_dev *sdev)
{
	struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev);

	if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off)
	if (ldev->gpio.methods && ldev->gpio.methods->all_amps_restore)
		ldev->gpio.methods->all_amps_restore(&ldev->gpio);

	return 0;
+1 −2
Original line number Diff line number Diff line
@@ -384,8 +384,7 @@ static unsigned int snd_compr_poll(struct file *f, poll_table *wait)
		return -EFAULT;

	mutex_lock(&stream->device->lock);
	if (stream->runtime->state == SNDRV_PCM_STATE_PAUSED ||
			stream->runtime->state == SNDRV_PCM_STATE_OPEN) {
	if (stream->runtime->state == SNDRV_PCM_STATE_OPEN) {
		retval = -EBADFD;
		goto out;
	}
+16 −3
Original line number Diff line number Diff line
@@ -34,12 +34,12 @@ static int jack_switch_types[SND_JACK_SWITCH_TYPES] = {
	SW_LINEIN_INSERT,
};

static int snd_jack_dev_free(struct snd_device *device)
static int snd_jack_dev_disconnect(struct snd_device *device)
{
	struct snd_jack *jack = device->device_data;

	if (jack->private_free)
		jack->private_free(jack);
	if (!jack->input_dev)
		return 0;

	/* If the input device is registered with the input subsystem
	 * then we need to use a different deallocator. */
@@ -47,6 +47,18 @@ static int snd_jack_dev_free(struct snd_device *device)
		input_unregister_device(jack->input_dev);
	else
		input_free_device(jack->input_dev);
	jack->input_dev = NULL;
	return 0;
}

static int snd_jack_dev_free(struct snd_device *device)
{
	struct snd_jack *jack = device->device_data;

	if (jack->private_free)
		jack->private_free(jack);

	snd_jack_dev_disconnect(device);

	kfree(jack->id);
	kfree(jack);
@@ -110,6 +122,7 @@ int snd_jack_new(struct snd_card *card, const char *id, int type,
	static struct snd_device_ops ops = {
		.dev_free = snd_jack_dev_free,
		.dev_register = snd_jack_dev_register,
		.dev_disconnect = snd_jack_dev_disconnect,
	};

	jack = kzalloc(sizeof(struct snd_jack), GFP_KERNEL);
+1 −1
Original line number Diff line number Diff line
@@ -188,8 +188,8 @@ static int pcsp_probe(struct platform_device *dev)
static int pcsp_remove(struct platform_device *dev)
{
	struct snd_pcsp *chip = platform_get_drvdata(dev);
	alsa_card_pcsp_exit(chip);
	pcspkr_input_remove(chip->input_dev);
	alsa_card_pcsp_exit(chip);
	return 0;
}

+2 −2
Original line number Diff line number Diff line
@@ -73,9 +73,11 @@
#ifdef MSND_CLASSIC
#  include "msnd_classic.h"
#  define LOGNAME			"msnd_classic"
#  define DEV_NAME			"msnd-classic"
#else
#  include "msnd_pinnacle.h"
#  define LOGNAME			"snd_msnd_pinnacle"
#  define DEV_NAME			"msnd-pinnacle"
#endif

static void set_default_audio_parameters(struct snd_msnd *chip)
@@ -1067,8 +1069,6 @@ static int snd_msnd_isa_remove(struct device *pdev, unsigned int dev)
	return 0;
}

#define DEV_NAME "msnd-pinnacle"

static struct isa_driver snd_msnd_driver = {
	.match		= snd_msnd_isa_match,
	.probe		= snd_msnd_isa_probe,
Loading