1. 15 Dec, 2011 1 commit
  2. 13 Dec, 2011 1 commit
  3. 12 Dec, 2011 1 commit
  4. 07 Dec, 2011 3 commits
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Fix lost speaker volume controls · 0a34b42b
      Takashi Iwai authored
      When there are the same or more number of HP pins are available, HP pins
      are used as the primary outputs instead of the speaker pins.  But, in
      some cases (especially with ALC663 & co), some DACs are available only
      with a later pin and it's assigned to a speaker, and since the driver
      parses the pins from the lower NID, such a DAC was skipped eventually
      without assignments.  This resulted in a regression, the missing speaker
      volume control in the new parser.
      
      As a workaround for this, now the driver retries the pin->DAC mapping
      again after restoring the speaker-pins as primary.  This is still an ad
      hoc fix, but it works so far for most of Realtek codecs.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0a34b42b
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Create "Bass Speaker" for two speaker pins · fbabc246
      Takashi Iwai authored
      On systems with two speaker pins, the secondary speaker pin is mostly
      assigned to a bass speaker instead of a surround.  Thus it makes more
      sense to rename the control properly.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fbabc246
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Don't create extra controls with channel suffix · 766ddee6
      Takashi Iwai authored
      The multiple headphone or speaker pins are usually provided to
      output the same stream unlike line-out jacks (which are supposed
      to be multi-channel surrounds).  Thus giving a mixer name like
      "Headphone Surround" is rather confusing.  Instead, when multiple
      headphone volumes are available, use index with the same "Headphone"
      name.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      766ddee6
  5. 06 Dec, 2011 5 commits
  6. 05 Dec, 2011 1 commit
  7. 04 Dec, 2011 3 commits
    • Axel Lin's avatar
      ASoC: Make SND_SOC_MX27VIS_AIC32X4 depend on I2C · 570a2429
      Axel Lin authored
      SND_SOC_MX27VIS_AIC32X4 selects SND_SOC_TLV320AIC32X4,
      but SND_SOC_TLV320AIC32X4 needs CONFIG_I2C.
      So we need to make SND_SOC_MX27VIS_AIC32X4 depend on I2C.
      otherwise I got below build error if CONFIG_I2C is not selected.
      
        CC      sound/soc/codecs/tlv320aic32x4.o
      sound/soc/codecs/tlv320aic32x4.c: In function 'aic32x4_read':
      sound/soc/codecs/tlv320aic32x4.c:323: error: implicit declaration of function 'i2c_smbus_read_byte_data'
      sound/soc/codecs/tlv320aic32x4.c: In function 'aic32x4_probe':
      sound/soc/codecs/tlv320aic32x4.c:641: error: 'i2c_master_send' undeclared (first use in this function)
      sound/soc/codecs/tlv320aic32x4.c:641: error: (Each undeclared identifier is reported only once
      sound/soc/codecs/tlv320aic32x4.c:641: error: for each function it appears in.)
      sound/soc/codecs/tlv320aic32x4.c: In function 'aic32x4_modinit':
      sound/soc/codecs/tlv320aic32x4.c:763: error: implicit declaration of function 'i2c_add_driver'
      sound/soc/codecs/tlv320aic32x4.c: In function 'aic32x4_exit':
      sound/soc/codecs/tlv320aic32x4.c:774: error: implicit declaration of function 'i2c_del_driver'
      make[3]: *** [sound/soc/codecs/tlv320aic32x4.o] Error 1
      make[2]: *** [sound/soc/codecs] Error 2
      make[1]: *** [sound/soc] Error 2
      make: *** [sound] Error 2
      Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      570a2429
    • Axel Lin's avatar
      ASoC: Fix dependency for SND_SOC_RAUMFELD and SND_PXA2XX_SOC_HX4700 · b971c370
      Axel Lin authored
      SND_SOC_RAUMFELD selects SND_SOC_CS4270 which needs CONFIG_I2C,
      and also selects SND_SOC_AK4104 which needs SPI_MASTER.
      Thus make SND_SOC_RAUMFELD depend on I2C && SPI_MASTER.
      
      Add depend on SPI_MASTER to fix below build error if CONFIG_SPI_MASTER
      is not selected.
      
        LD      .tmp_vmlinux1
      sound/built-in.o: In function `ak4104_spi_write':
      last.c:(.text+0x290cc): undefined reference to `spi_sync'
      sound/built-in.o: In function `ak4104_probe':
      last.c:(.text+0x292a0): undefined reference to `spi_write_then_read'
      sound/built-in.o: In function `ak4104_spi_probe':
      last.c:(.text+0x29398): undefined reference to `spi_setup'
      sound/built-in.o: In function `ak4104_init':
      last.c:(.init.text+0x4ec): undefined reference to `spi_register_driver'
      make: *** [.tmp_vmlinux1] Error 1
      
      Add depend on I2C to fix below build error if CONFIG_I2C is not selected:
        CC      sound/soc/codecs/cs4270.o
      sound/soc/codecs/cs4270.c: In function 'cs4270_i2c_probe':
      sound/soc/codecs/cs4270.c:657: error: implicit declaration of function 'i2c_smbus_read_byte_data'
      sound/soc/codecs/cs4270.c: In function 'cs4270_init':
      sound/soc/codecs/cs4270.c:730: error: implicit declaration of function 'i2c_add_driver'
      sound/soc/codecs/cs4270.c: In function 'cs4270_exit':
      sound/soc/codecs/cs4270.c:736: error: implicit declaration of function 'i2c_del_driver'
      make[3]: *** [sound/soc/codecs/cs4270.o] Error 1
      make[2]: *** [sound/soc/codecs] Error 2
      make[1]: *** [sound/soc] Error 2
      make: *** [sound] Error 2
      
      SND_PXA2XX_SOC_HX4700 selects SND_SOC_AK4641 which needs CONFIG_I2C.
      Thus make SND_PXA2XX_SOC_HX4700 depend on I2C.
      
      Add depend on I2C to fix below build error if CONFIG_I2C is not selected:
        CC      sound/soc/codecs/ak4641.o
      sound/soc/codecs/ak4641.c: In function 'ak4641_modinit':
      sound/soc/codecs/ak4641.c:646: error: implicit declaration of function 'i2c_add_driver'
      sound/soc/codecs/ak4641.c: In function 'ak4641_exit':
      sound/soc/codecs/ak4641.c:656: error: implicit declaration of function 'i2c_del_driver'
      make[3]: *** [sound/soc/codecs/ak4641.o] Error 1
      make[2]: *** [sound/soc/codecs] Error 2
      make[1]: *** [sound/soc] Error 2
      make: *** [sound] Error 2
      Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      b971c370
    • Axel Lin's avatar
      ASoC: uda1380: Return proper error in uda1380_modinit failure path · ef149770
      Axel Lin authored
      Return proper error for uda1380_modinit if i2c_add_driver() fails.
      Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      ef149770
  8. 03 Dec, 2011 1 commit
    • Axel Lin's avatar
      ASoC: kirkwood: Make SND_KIRKWOOD_SOC_OPENRD and SND_KIRKWOOD_SOC_T5325 depend on I2C · 36d54dc0
      Axel Lin authored
      SND_KIRKWOOD_SOC_T5325 selects SND_SOC_ALC5623, but SND_SOC_ALC5623 needs
      CONFIG_I2C. So we need to make SND_KIRKWOOD_SOC_T5325 depend on I2C,
      otherwise I got below build error if CONFIG_I2C is not selected.
      
        CC      sound/soc/codecs/alc5623.o
      sound/soc/codecs/alc5623.c: In function 'alc5623_i2c_probe':
      sound/soc/codecs/alc5623.c:1002: error: implicit declaration of function 'i2c_smbus_read_word_data'
      sound/soc/codecs/alc5623.c:1009: error: implicit declaration of function 'i2c_smbus_read_byte_data'
      sound/soc/codecs/alc5623.c: In function 'alc5623_modinit':
      sound/soc/codecs/alc5623.c:1096: error: implicit declaration of function 'i2c_add_driver'
      sound/soc/codecs/alc5623.c: In function 'alc5623_modexit':
      sound/soc/codecs/alc5623.c:1108: error: implicit declaration of function 'i2c_del_driver'
      make[3]: *** [sound/soc/codecs/alc5623.o] Error 1
      make[2]: *** [sound/soc/codecs] Error 2
      make[1]: *** [sound/soc] Error 2
      make: *** [sound] Error 2
      
      Also fix the same issue for SND_KIRKWOOD_SOC_OPENRD.
      Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      36d54dc0
  9. 02 Dec, 2011 3 commits
  10. 01 Dec, 2011 2 commits
  11. 29 Nov, 2011 6 commits
  12. 28 Nov, 2011 2 commits
  13. 27 Nov, 2011 4 commits
  14. 23 Nov, 2011 7 commits
    • Takashi Iwai's avatar
      Merge branch 'fix/asoc' into for-linus · 77088cc9
      Takashi Iwai authored
      77088cc9
    • Eric Miao's avatar
      ASoC: skip resume of soc-audio devices without codecs · 5ff1ddf2
      Eric Miao authored
      There are cases where there is no working codec on the soc-audio devices,
      and snd_soc_suspend() will skip such device when suspending. Yet its
      counterpart snd_soc_resume() does not check this, causing complaints
      about spinlock lockup:
      
      [  176.726087] BUG: spinlock lockup on CPU#0, kworker/0:2/1067, d8ab82a8
      [  176.732539] [<80014a14>] (unwind_backtrace+0x0/0xec) from [<805b3fc8>] (dump_stack+0x20/0x24)
      [  176.741082] [<805b3fc8>] (dump_stack+0x20/0x24) from [<80322208>] (do_raw_spin_lock+0x118/0x158)
      [  176.749882] [<80322208>] (do_raw_spin_lock+0x118/0x158) from [<805b7874>] (_raw_spin_lock_irqsave+0x5c/0x68)
      [  176.759723] [<805b7874>] (_raw_spin_lock_irqsave+0x5c/0x68) from [<8002a020>] (__wake_up+0x2c/0x5c)
      [  176.768781] [<8002a020>] (__wake_up+0x2c/0x5c) from [<804a6de8>] (soc_resume_deferred+0x3c/0x2b0)
      [  176.777666] [<804a6de8>] (soc_resume_deferred+0x3c/0x2b0) from [<8004ee20>] (process_one_work+0x2e8/0x50c)
      [  176.787334] [<8004ee20>] (process_one_work+0x2e8/0x50c) from [<8004fd08>] (worker_thread+0x1c8/0x2e0)
      [  176.796566] [<8004fd08>] (worker_thread+0x1c8/0x2e0) from [<80053ec8>] (kthread+0xa4/0xb0)
      [  176.804843] [<80053ec8>] (kthread+0xa4/0xb0) from [<8000ea70>] (kernel_thread_exit+0x0/0x8)
      Signed-off-by: default avatarEric Miao <eric.miao@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      5ff1ddf2
    • Axel Lin's avatar
      ASoC: cs42l51: Fix off-by-one for reg_cache_size · b284362b
      Axel Lin authored
      Just checking the code in cs42l51_fill_cache():
      The cache pointer points to codec->reg_cache + 1.
      I think it is because CS42L51_FIRSTREG is 0x01,
      so codec->reg_cache[0] is not used here.
      
      Then we read CS42L51_NUMREGS bytes to cache.
      So we need reg_cache_size to be CS42L51_NUMREGS + 1.
      Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      b284362b
    • Paul Bolle's avatar
      ASoC: drop support for PlayPaq with WM8510 · 4ca8af57
      Paul Bolle authored
      SoC Audio support for PlayPaq with WM8510 got added in commit 9aaca968
      ("[ALSA] Revised AT32 ASoC Patch"). That support depends on
      BOARD_PLAYPAQ. That Kconfig symbol didn't exist when that support got
      added in v2.6.27. It still doesn't. It has never been possible to even
      build this driver. Drop it.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      4ca8af57
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Minor cleanup · 61071594
      Takashi Iwai authored
      Use an inline function for the common pattern for assigning a capsrc.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      61071594
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Fix missing inits of item indices for auto-mic · 6759dc32
      Takashi Iwai authored
      When the imux entries are rebuilt in alc_rebuild_imux_for_auto_mic(),
      the initialization of index field is missing.  It may work without it
      casually when the original imux was created by the auto-parser, but
      it's definitely broken in the case of static configs where no imux was
      parsed beforehand.  Because of this, the auto-mic switching doesn't
      work properly on some model options.
      
      This patch adds the missing initialization of index field.
      Reported-by: default avatarDmitry Nezhevenko <dion@inhex.net>
      Cc: <stable@kernel.org> [v3.1]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6759dc32
    • Takashi Iwai's avatar
      ALSA: hda - Fix invalid pin and GPIO for Apple laptops with CS codecs · 6dfeb703
      Takashi Iwai authored
      The PCI SSID 8086:7270 is commonly used for multiple Apple machines,
      thus we can't use it as identifier for a unique model.  Because of this
      conflict, some machines show weird behavior.  For example, MacBook Air
      shows Front and Surround speakers although only Surround works due to
      the wrongly overridden pin-configuration for imac27.
      
      This patch fixes two things:
      - Stop the wrong pin-config override of imac27 by removing PCI SSID
        entry for avoiding the wrong mappings,
      - Add the generic GPIO setup for Apple machines by checking the codec
        SSID vendor bits
      Tested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Tested-by: default avatarDirk Hohndel <hohndel@infradead.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6dfeb703