Alsa-Devel Archive on lore.kernel.org
 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/11] ASoC: Add support for DAPM at the component level
Date: Sun, 18 May 2014 14:24:07 +0200	[thread overview]
Message-ID: <1400415858-11025-1-git-send-email-lars@metafoo.de> (raw)

Hi,

This series is the next step in componentization. It moves the DAPM support to
the component level. This will allow any component to have DAPM widgets and
routes, which was previously only possible for CODECs, and will allow any
component to have DAPM widgets with controls (i.e. Mixers and MUXs), which was
previously only possible for CODECs. At the end of this patchset the DAPM code
will have (almost) no dependency on snd_soc_codec or snd_soc_platform and the
dependency on snd_soc_component is confined to 4 small helper functions. The
only reason why there is still snd_soc_codec/snd_soc_platform dependent code is
because there are still a lot of drivers which use widget->codec/platform and
dapm->codec/platform. So those still need to be initialized. This will be
cleaned up in a separate series and once that's done the codec and platform
fields will be removed from the widget and DAPM context struct.

One of the major problems of moving DAPM to the component level is that the DAPM
context is directly embedded in the snd_soc_codec and snd_soc_platform structs
and there are many drivers directly accessing that embedded field. This means it
is not possible to move the field without causing a bit of code churn in the
drivers. The patch series solves this by adding two fields to the component
struct. One pointer to a DAPM context, which points to the DAPM context that is
used by the component. And one DAPM context, which is used as the default if no
other DAPM context was provided. Neither of the fields is accessed directly,
instead a inline helper function is added that returns the DAPM context for a
component. This will make it possible to eventually seamlessly switch over once
all direct references to CODEC and platform DAPM contexts have been eliminated.

Depends on topic/component, topic/core, topic/dapm and topic/dt

- Lars

Lars-Peter Clausen (11):
  ASoC: Move name_prefix from CODEC to component
  ASoC: Move name and id from CODEC/platform to component
  ASoC: Split component registration into two steps
  ASoC: Auto disconnect pins from all DAPM contexts
  ASoC: Add helper functions to cast from DAPM context to
    CODEC/platform
  ASoC: Add a set_bias_level() callback to the DAPM context struct
  ASoC: Add DAPM support at the component level
  ASoC: Use component DAPM context for platforms
  ASoC: Add component level stream_event() and seq_notifier() support
  ASoC: Add component level set_bias_level() support
  ASoC: dapm: Remove DAI DAPM context

 include/sound/soc-dai.h        |   1 -
 include/sound/soc-dapm.h       |   6 +-
 include/sound/soc.h            |  78 ++++++++--
 include/trace/events/asoc.h    |   6 +-
 sound/soc/codecs/tlv320dac33.c |   2 +-
 sound/soc/soc-cache.c          |   7 +-
 sound/soc/soc-compress.c       |   8 +-
 sound/soc/soc-core.c           | 328 ++++++++++++++++++++++-------------------
 sound/soc/soc-dapm.c           | 180 ++++++++++++----------
 sound/soc/soc-pcm.c            |   4 +-
 10 files changed, 365 insertions(+), 255 deletions(-)

-- 
1.8.0

             reply	other threads:[~2014-05-18 12:24 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-18 12:24 Lars-Peter Clausen [this message]
2014-05-18 12:24 ` [PATCH 01/11] ASoC: Move name_prefix from CODEC to component Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 02/11] ASoC: Move name and id from CODEC/platform " Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 03/11] ASoC: Split component registration into two steps Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 04/11] ASoC: Auto disconnect pins from all DAPM contexts Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 05/11] ASoC: Add helper functions to cast from DAPM context to CODEC/platform Lars-Peter Clausen
2014-05-26 19:36   ` Lars-Peter Clausen
2014-06-01 18:18     ` Mark Brown
2014-06-06  5:47     ` Vinod Koul
2014-06-06  6:20       ` Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 06/11] ASoC: Add a set_bias_level() callback to the DAPM context struct Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 07/11] ASoC: Add DAPM support at the component level Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 08/11] ASoC: Use component DAPM context for platforms Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 09/11] ASoC: Add component level stream_event() and seq_notifier() support Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 10/11] ASoC: Add component level set_bias_level() support Lars-Peter Clausen
2014-05-18 12:24 ` [PATCH 11/11] ASoC: dapm: Remove DAI DAPM context Lars-Peter Clausen

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=1400415858-11025-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