Skip to content
sound updates for 3.15-rc1

There have been lots of changes in ALSA core, HD-audio and ASoC, also
most of PCI drivers touched by conversions of printks.  All these
resulted in a high volume and wide ranged patch sets in this release.
Many changes are fairly trivial, but also lots of nice cleanups and
refactors.  There are a few new drivers, most notably, the Intel
Haswell and Baytrail ASoC driver.

Core changes:
- A bit modernization; embed the device struct into snd_card struct,
  so that it may be referred from the beginning.  A new snd_card_new()
  function is introduced for that, and all drivers have been
  converted.

- Simplification in the device management code in ALSA core;
  now managed by a simple priority list instead

- Converted many kernel messages to use the standard dev_err() & co;
  this would be the pretty visible difference, especially for
  HD-audio.

HD-audio:
- Conexant codecs use the auto-parser as default now;
  the old static code still remains in case of regressions.
  Some old quirks have been rewritten with the fixups for auto-parser.

- C-Media codecs also use the auto-parser as default now, too.

- A device struct is assigned to each HD-audio codec, and the formerly
  hwdep attributes are accessible over the codec sysfs, too.
  hwdep attributes still remain for compatibility.

- Split the PCI-specific stuff for HD-audio controller into a separate
  module, ane make a helper module for the generic controller driver.
  This is a preliminary change for supporting Tegra HDMI controller in
  near future, which slipped from 3.15 merge.

- Device-specific fixes: mute LED support for Lenovo Ideapad,
  mic LED fix for HP laptops, more ASUS subwoofer quirks, yet more
  Dell laptop headset quirks

- Make the HD-audio codec response a bit more robust

- A few improvements on Realtek ALC282 / 283 about the pop noises

- A couple of Intel HDMI fixes

ASoC:
- Lots of cleanups for enumerations; refactored lots of error prone
  original codes to use more modern APIs

- Elimination of the ASoC level wrappers for I2C and SPI moving us
  closer to converting to regmap completely and avoiding some
  randconfig hassle

- Provide both manually and transparently locked DAPM APIs rather than
  a mix of the two fixing some concurrency issues

- Start converting CODEC drivers to use separate bus interface drivers
  rather than having them all in one file helping avoid dependency
  issues

- DPCM support for Intel Haswell and Bay Trail platforms, lots of
  fixes

- Lots of work on improvements for simple-card, DaVinci and the Renesas
  rcar drivers.

- New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the
  CSR SiRF SoC, TLV320AIC31XXX, Armada 370 DB, Cirrus cs42xx8

- Fixes for the simple-card DAI format DT mess

- DT support for a couple more devices.

- Use of the tdm_slot mapping in a few drivers

Others:
- Support of reset_resume callback for improved S4 in USB-audio driver;
  the device with boot quirks have been little tested, which we need
  to watch out in this development cycle

- Add PM support for ICE1712 driver (finally!);
  it's still pretty partial support, only for M-Audio devices