1. 12 12月, 2011 1 次提交
  2. 08 12月, 2011 4 次提交
    • T
      Merge branch 'fix/hda' into topic/hda · ffe7e406
      Takashi Iwai 提交于
      Conflicts:
      	sound/pci/hda/patch_realtek.c
      ffe7e406
    • T
      ALSA: hda/realtek - Fix lost speaker volume controls · 0a34b42b
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      0a34b42b
    • T
      ALSA: hda/realtek - Create "Bass Speaker" for two speaker pins · fbabc246
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      fbabc246
    • T
      ALSA: hda/realtek - Don't create extra controls with channel suffix · 766ddee6
      Takashi Iwai 提交于
      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: NTakashi Iwai <tiwai@suse.de>
      766ddee6
  3. 06 12月, 2011 6 次提交
  4. 05 12月, 2011 3 次提交
    • A
      ASoC: Make SND_SOC_MX27VIS_AIC32X4 depend on I2C · 570a2429
      Axel Lin 提交于
      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: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      570a2429
    • A
      ASoC: Fix dependency for SND_SOC_RAUMFELD and SND_PXA2XX_SOC_HX4700 · b971c370
      Axel Lin 提交于
      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: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      b971c370
    • A
      ASoC: uda1380: Return proper error in uda1380_modinit failure path · ef149770
      Axel Lin 提交于
      Return proper error for uda1380_modinit if i2c_add_driver() fails.
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      ef149770
  5. 03 12月, 2011 2 次提交
    • A
      ASoC: kirkwood: Make SND_KIRKWOOD_SOC_OPENRD and SND_KIRKWOOD_SOC_T5325 depend on I2C · 36d54dc0
      Axel Lin 提交于
      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: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      36d54dc0
    • M
      ASoC: Mark WM8994 ADC muxes as virtual · 87b86ade
      Mark Brown 提交于
      Since they don't actually have power bits but do have events associated
      with them it's important that we bootstrap their state properly which
      making them virtual does.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      87b86ade
  6. 02 12月, 2011 2 次提交
  7. 01 12月, 2011 3 次提交
  8. 29 11月, 2011 8 次提交
  9. 28 11月, 2011 4 次提交
  10. 26 11月, 2011 2 次提交
    • T
      ALSA: hda - Increase the max number of coverters/pins in patch_hdmi.c · a4567cb3
      Takashi Iwai 提交于
      The new hardware tends to have more and more.  As a temporary fix, just
      increase the number for now.
      
      For a long-term solution, we should assign the cvts/pins dynamically.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      a4567cb3
    • T
      ALSA: hda - Supports more audio streams · 01b65bfb
      Takashi Iwai 提交于
      So far, the driver supports up to 10 streams.  This is a restriction in
      hda_intel.c and hda_codec.c: in the former, the fixed array size limits
      the amount, and in the latter, the fixed device-number assignment table
      (in get_empty_pcm_device()) limits the possibility.
      
      This patch reduces the restriction by
      - using linked list for managing PCM instances in hda_intel.c, and
      - assigning non-fixed device numbers for the extra devices
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      01b65bfb
  11. 24 11月, 2011 2 次提交
  12. 23 11月, 2011 3 次提交
    • E
      ASoC: skip resume of soc-audio devices without codecs · 5ff1ddf2
      Eric Miao 提交于
      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: NEric Miao <eric.miao@linaro.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      5ff1ddf2
    • A
      ASoC: cs42l51: Fix off-by-one for reg_cache_size · b284362b
      Axel Lin 提交于
      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: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      b284362b
    • P
      ASoC: drop support for PlayPaq with WM8510 · 4ca8af57
      Paul Bolle 提交于
      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: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      4ca8af57