13 Aug, 2011

2 commits


12 Aug, 2011

2 commits


11 Aug, 2011

3 commits


10 Aug, 2011

4 commits


09 Aug, 2011

6 commits

  • Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • As we had no id_table only the driver name would be matched against
    meaning that WM8987 devices wouldn't be bound.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • The I2C address is misformatted and would never match.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood
    Cc: stable@kernel.org

    Mark Brown
     
  • Without this, request_irq on subsequent device initialization fails, and
    the codec cannot be used.

    Signed-off-by: Stephen Warren
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Stephen Warren
     
  • Two issues were preventing module snd-soc-tegra-wm8903.ko from being
    removed and re-inserted:

    a) The speaker-enable GPIO is hosted by the WM8903 chip. This GPIO must
    be freed before snd_soc_unregister_card() is called, because that
    triggers wm8903.c:wm8903_remove(), which calls gpiochip_remove(), which
    then fails if any of the GPIOs are in use. To solve this, free all GPIOs
    first, so the code doesn't care where they come from.

    b) We need to call snd_soc_jack_free_gpios() to match the call to
    snd_soc_jack_add_gpios() during initialization. Without this, the
    call to snd_soc_jack_add_gpios() fails during any subsequent modprobe
    and initialization, since the GPIO and IRQ are already registered. In
    turn, this causes the headphone state not to be monitored, so the
    headphone is assumed not to be plugged in, and the audio path to it is
    never enabled.

    Signed-off-by: Stephen Warren
    Cc: stable@kernel.org
    Signed-off-by: Mark Brown

    Stephen Warren
     
  • Not all PCM devices have all sub-streams. Specifically, the SPDIF driver
    only supports playback and hence has no capture substream. Check whether
    a substream exists before dereferencing it, when de-allocating DMA
    buffers in tegra_pcm_deallocate_dma_buffer.

    Signed-off-by: Stephen Warren
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Stephen Warren
     

08 Aug, 2011

8 commits


07 Aug, 2011

2 commits

  • CONFIG_SND_TEA575X is enabled by RADIO_SF16FMR2, but the latter one is
    no PCI device. Since tea575x-tuner itself is independent from the board
    bus type, the config should be moved out of SND_PCI dependency.

    Reported-by: Randy Dunlap
    Acked-by: Randy Dunlap
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Use kzalloc rather than kmalloc followed by memset with 0

    This considers some simple cases that are common and easy to validate
    Note in particular that there are no ...s in the rule, so all of the
    matched code has to be contiguous

    The semantic patch that makes this output is available
    in scripts/coccinelle/api/alloc/kzalloc-simple.cocci.

    More information about semantic patching is available at
    http://coccinelle.lip6.fr/

    Signed-off-by: Thomas Meyer
    Signed-off-by: Takashi Iwai

    Thomas Meyer
     

06 Aug, 2011

2 commits


05 Aug, 2011

3 commits


04 Aug, 2011

6 commits


03 Aug, 2011

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: asihpi - Clarify adapter index validity check
    ALSA: asihpi - Don't leak firmware if mem alloc fails
    ALSA: rtctimer.c needs module.h
    ASoC: Fix txx9aclc.c build
    ALSA: hdspm - Add firmware revision 0xcc for RME MADI
    ALSA: hdspm - Fix reported external sample rate on RME MADI and MADIface
    ALSA: hdspm - Provide MADI speed mode selector on RME MADI and MADIface
    ALSA: sound/core/pcm_compat.c: adjust array index

    Linus Torvalds
     
  • Cache handling in this driver is broken. The chip has 16-bit registers, yet the
    register numbers also increase by 2 per register, i.e. there are only
    even-numbered registers. The cache in this driver, though, simply increments
    register numbers, so it does need some mapping as seen in
    sgtl5000_restore_regs(), note the '>> 1':

    snd_soc_write(codec, SGTL5000_CHIP_LINREG_CTRL,
    cache[SGTL5000_CHIP_LINREG_CTRL >> 1]);

    That, of course, won't work with snd_soc_update_bits(). (Thus, we won't even
    notice the missing register 0x1c in the default regs which shifted all follwing
    registers to wrong values.) Noticed on the MX28EVK where enabling the regulators
    simply locked up the chip.

    Refactor the routines and use a properly sized default_regs array which matches
    the register layout of the underlying chip, i.e. create a truly flat cache.
    This also saves some code which should make up for the bigger array a little.
    When soc-core will somewhen have another cache type which handles a step size,
    this conversion will also ease the transition.

    Signed-off-by: Wolfram Sang
    Tested-by: Dong Aisheng
    Tested-by: Shawn Guo
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Wolfram Sang