alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Mark Brown <broonie@kernel.org>, Liam Girdwood <lgirdwood@gmail.com>
Cc: alsa-devel@alsa-project.org, Lars-Peter Clausen <lars@metafoo.de>
Subject: [PATCH 00/13] ASoC: Componentization: Unified probe/remove path
Date: Tue, 19 Aug 2014 15:51:17 +0200	[thread overview]
Message-ID: <1408456290-13945-1-git-send-email-lars@metafoo.de> (raw)

This patch-set starts with consolidating the probe and remove paths of
snd_soc_codec and snd_soc_platform drivers. Once that has been done it uses the
new generic paths to also add probe and remove support to snd_soc_component
drivers. With that in place the AUX dev handling is then moved to the component
layer as there is no longer any snd_soc_codec specifics required to handle
them. The later patches in the series deal with cleaning things up and
consolidating a few code paths between CPU and CODEC DAI handling.

After this patch-set the core of the ASoC core is now fully componentized and
doesn't care anymore (except for one small hack which is documented in the
commit) about whether something is a snd_soc_codec, snd_soc_platform or
snd_soc_component. This does unfortunately not mean that componentization is
done yet. There are still a few things left to do. This includes bringing more
things to the component level for example clock and PCM handling. There is also
still the issue that we handle CPU DAIs and CODEC DAIs differently. For CODEC
DAIs the capture stream is output and the playback stream is input while it is
the other way around for CPU DAIs. Also we expect them to handle the
SND_SOC_DAIFMT_CBx_CFx settings depending on whether they are a CPU or CODEC
DAI. So we need a way to distinguish between the two.

At this point it is already possible though to convert simple snd_soc_codec
drivers that don't need any of this (e.g. some of the external amplifier
drivers) to snd_soc_components. Since the series adds a centralized path for
probing and removing it also paves the way towards easier integration of the
drivers/base/component.c framework, which in turn will allow some cleanups and
to fix some long standing bugs in the way hot-unplug is handled (or rather not
handled).

- Lars

Lars-Peter Clausen (13):
  ASoC: Move debugfs registration to the component level
  ASoC: Consolidate platform and CODEC probe/remove
  ASoC: Make rtd->codec optional
  ASoC: Add component level probe/remove support
  ASoC: Move AUX dev support to the component level
  ASoC: Pass component instead of DAPM context to AUX dev init callback
  ASoC: Move component->probed check into
    soc_{remove,probe}_component()
  ASoC: Cleanup DAI module reference counting
  ASoC: Consolidate CPU and CODEC DAI removal
  ASoC: Consolidate CPU and CODEC DAI look-up
  ASoC: Automatically initialize regmap for all components
  ASoC: Remove support for legacy snd_soc_platform IO
  ASoC: Replace list_empty(&card->codec_dev_list) with
    !card->instantiated

 include/sound/soc.h                   |  67 ++--
 sound/soc/samsung/speyside.c          |   6 +-
 sound/soc/soc-core.c                  | 667 ++++++++++++++++------------------
 sound/soc/soc-generic-dmaengine-pcm.c |   4 +-
 sound/soc/soc-io.c                    |  28 --
 5 files changed, 357 insertions(+), 415 deletions(-)

-- 
1.8.0

             reply	other threads:[~2014-08-19 13:57 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-19 13:51 Lars-Peter Clausen [this message]
2014-08-19 13:51 ` [PATCH 01/13] ASoC: Move debugfs registration to the component level Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 02/13] ASoC: Consolidate platform and CODEC probe/remove Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 03/13] ASoC: Make rtd->codec optional Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 04/13] ASoC: Add component level probe/remove support Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 05/13] ASoC: Move AUX dev support to the component level Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 06/13] ASoC: Pass component instead of DAPM context to AUX dev init callback Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 07/13] ASoC: Move component->probed check into soc_{remove, probe}_component() Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 08/13] ASoC: Cleanup DAI module reference counting Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 09/13] ASoC: Consolidate CPU and CODEC DAI removal Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 10/13] ASoC: Consolidate CPU and CODEC DAI lookup Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 11/13] ASoC: Automatically initialize regmap for all components Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 12/13] ASoC: Remove support for legacy snd_soc_platform IO Lars-Peter Clausen
2014-08-19 13:51 ` [PATCH 13/13] ASoC: Replace list_empty(&card->codec_dev_list) with !card->instantiated Lars-Peter Clausen
2014-08-19 16:01 ` [PATCH 00/13] ASoC: Componentization: Unified probe/remove path Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1408456290-13945-1-git-send-email-lars@metafoo.de \
    --to=lars@metafoo.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).