[alsa-devel] [PATCH 00/11] ASoC: Untangle AC'97 support form the core

Lars-Peter Clausen lars at metafoo.de
Mon Nov 10 22:41:42 CET 2014


The AC'97 support has had a special role within the ASoC framework with it
being (in contrast to other audio buses) tightly integrated into the core.
This patch series creates a clean separation between the core and the AC'97
support making AC'97 from the point of view of the core just another bus.
Some of the changes in this series are required for the upcoming conversion
of the AC'97 drivers to regmap, the other changes just fit nicely with the
idea of componentization and having a generic ASoC core.

The series starts with moving AC'97 support to its own file and doing a few
general cleanups. After that it drops support of two features which were
mainly responsible for the tight integration but are seemingly unused.
This is
a) Delaying the initialization and registration of the AC'97 device until
   after the card has been registered. There doesn't seem to be a good
   reason to delay to registration, all the information we need to register
   the device is available at the time when the device is created.
   Furthermore this will be needed for regmap.
b) Setting platform data for the AC'97 via the CPU DAI. This hasn't been
   used in the last 5 years and doesn't seem to be that useful in general.

If we should ever have a need for those features again they can still be
implemented on top of the current code while keeping the clean separation.
But for the time being it is simpler to just drop unused code rather than
restructuring it.

Finally the series pushes the pointer to the AC'97 device from the
snd_soc_codec struct out to the driver private structs.

Depends on asoc/topic/ad1980, asoc/topic/wm9705 and asoc/topic/wm971x

- Lars

Lars-Peter Clausen (11):
  ASoC: mpc5200_psc_ac97: Remove unused on-stack snd_ac97 device
  ASoC: mpc5200_dma: Don't overwrite ac97 device private_data
  ASoC: Properly handle AC'97 device lifetime management
  ASoC: Move AC'97 support to its own file
  ASoC: ac97: Use static ac97_bus
  ASoC: ac97: Merge
    soc_ac97_dev_{un,}register()/soc_{un,}register_ac97_codec()
  ASoC: ac97: Drop support for setting platform data via the CPU DAI
  ASoC: ac97: Drop delayed device registration
  ASoC: Drop ac97_control initialization from CODEC driver DAIs
  ASoC: Rename snd_soc_dai_driver struct ac97_control field to
    bus_control
  ASoC: ac97: Push snd_ac97 pointer to the driver level

 include/sound/soc-dai.h          |   4 +-
 include/sound/soc.h              |  25 ++-
 sound/soc/Makefile               |   4 +
 sound/soc/au1x/ac97c.c           |   2 +-
 sound/soc/au1x/psc-ac97.c        |   2 +-
 sound/soc/blackfin/bf5xx-ac97.c  |   2 +-
 sound/soc/cirrus/ep93xx-ac97.c   |   2 +-
 sound/soc/codecs/ac97.c          |  18 +-
 sound/soc/codecs/ad1980.c        |  28 +--
 sound/soc/codecs/stac9766.c      |  40 +++--
 sound/soc/codecs/wm9705.c        |  32 ++--
 sound/soc/codecs/wm9712.c        |  33 ++--
 sound/soc/codecs/wm9713.c        |  32 ++--
 sound/soc/fsl/fsl_ssi.c          |   2 +-
 sound/soc/fsl/imx-ssi.c          |   2 +-
 sound/soc/fsl/mpc5200_dma.c      |   3 -
 sound/soc/fsl/mpc5200_psc_ac97.c |   6 +-
 sound/soc/nuc900/nuc900-ac97.c   |   2 +-
 sound/soc/pxa/pxa2xx-ac97.c      |   6 +-
 sound/soc/samsung/ac97.c         |   4 +-
 sound/soc/sh/hac.c               |   2 +-
 sound/soc/soc-ac97.c             | 256 +++++++++++++++++++++++++++
 sound/soc/soc-core.c             | 372 ++-------------------------------------
 sound/soc/tegra/tegra20_ac97.c   |   2 +-
 sound/soc/txx9/txx9aclc-ac97.c   |   2 +-
 25 files changed, 428 insertions(+), 455 deletions(-)
 create mode 100644 sound/soc/soc-ac97.c

-- 
1.8.0



More information about the Alsa-devel mailing list