From: Luca Ceresoli <luca.ceresoli@bootlin.com>
To: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Jonathan Corbet <corbet@lwn.net>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
linux-sound@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
Luca Ceresoli <luca.ceresoli@bootlin.com>
Subject: [PATCH 09/12] ASoC: doc: dapm: fix and improve section "Registering DAPM controls"
Date: Tue, 16 Apr 2024 07:56:15 +0200 [thread overview]
Message-ID: <20240416-dapm-docs-v1-9-a818d2819bf6@bootlin.com> (raw)
In-Reply-To: <20240416-dapm-docs-v1-0-a818d2819bf6@bootlin.com>
Extend the first paragraph to mention the {,num_}dapm_routes fields just
like the widget conterparts. Mention the route fields also in the code
example. Fix "at build time", this really means "at probe time".
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Documentation/sound/soc/dapm.rst | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/Documentation/sound/soc/dapm.rst b/Documentation/sound/soc/dapm.rst
index 3aca913c99fc..ab7d48582cf7 100644
--- a/Documentation/sound/soc/dapm.rst
+++ b/Documentation/sound/soc/dapm.rst
@@ -254,12 +254,17 @@ This can be used to merge two signal paths together in software.
Registering DAPM controls
=========================
-In many cases the DAPM widgets implemented statically in a ``static const
-struct snd_soc_dapm_widget`` array and the routes connecting them in a
-``static const struct snd_soc_dapm_route`` array in a codec driver, and
-simply declared via the ``dapm_widgets`` and ``num_dapm_widgets`` fields of
-the ``struct snd_soc_component_driver`` so the driver registration will
-take care of populating them::
+In many cases the DAPM widgets are implemented statically in a ``static
+const struct snd_soc_dapm_widget`` array in a codec driver, and simply
+declared via the ``dapm_widgets`` and ``num_dapm_widgets`` fields of the
+``struct snd_soc_component_driver``.
+
+Similarly, routes connecting them are implemented statically in a ``static
+const struct snd_soc_dapm_route`` array and declared via the
+``dapm_routes`` and ``num_dapm_routes`` fields of the same struct.
+
+With the above declared, the driver registration will take care of
+populating them::
static const struct snd_soc_dapm_widget wm2000_dapm_widgets[] = {
SND_SOC_DAPM_OUTPUT("SPKN"),
@@ -278,11 +283,13 @@ take care of populating them::
...
.dapm_widgets = wm2000_dapm_widgets,
.num_dapm_widgets = ARRAY_SIZE(wm2000_dapm_widgets),
+ .dapm_routes = wm2000_audio_map,
+ .num_dapm_routes = ARRAY_SIZE(wm2000_audio_map),
...
};
In more complex cases the list of DAPM widgets and/or routes can be only
-known at build time. This happens for example when a driver supports
+known at probe time. This happens for example when a driver supports
different models having a different set of features. In those cases
separate widgets and routes arrays implementing the case-specific features
can be registered programmatically by calling snd_soc_dapm_new_controls()
--
2.34.1
next prev parent reply other threads:[~2024-04-16 5:57 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-16 5:56 [PATCH 00/12] ASoC: doc: dapm: various improvements Luca Ceresoli
2024-04-16 5:56 ` [PATCH 01/12] ASoC: doc: dapm: fix typos Luca Ceresoli
2024-04-17 3:49 ` Bagas Sanjaya
2024-04-16 5:56 ` [PATCH 02/12] ASoC: doc: dapm: fix struct name Luca Ceresoli
2024-04-16 5:56 ` [PATCH 03/12] ASoC: doc: dapm: minor rewording Luca Ceresoli
2024-04-17 3:54 ` Bagas Sanjaya
2024-04-16 5:56 ` [PATCH 04/12] ASoC: doc: dapm: remove dash after colon Luca Ceresoli
2024-04-16 5:56 ` [PATCH 05/12] ASoC: doc: dapm: clarify it's an internal API Luca Ceresoli
2024-04-17 3:57 ` Bagas Sanjaya
2024-04-16 5:56 ` [PATCH 06/12] ASoC: doc: dapm: replace "map" with "graph" Luca Ceresoli
2024-04-16 5:56 ` [PATCH 07/12] ASoC: doc: dapm: extend initial descrption Luca Ceresoli
2024-04-17 4:05 ` Bagas Sanjaya
2024-04-16 5:56 ` [PATCH 08/12] ASoC: doc: dapm: describe how widgets and routes are registered Luca Ceresoli
2024-04-17 4:12 ` Bagas Sanjaya
2024-04-16 5:56 ` Luca Ceresoli [this message]
2024-04-17 4:16 ` [PATCH 09/12] ASoC: doc: dapm: fix and improve section "Registering DAPM controls" Bagas Sanjaya
2024-04-16 5:56 ` [PATCH 10/12] ASoC: doc: dapm: improve section "Codec/DSP Widget Interconnections" Luca Ceresoli
2024-04-17 4:33 ` Bagas Sanjaya
2024-04-17 5:08 ` Luca Ceresoli
2024-04-16 5:56 ` [PATCH 11/12] ASoC: doc: dapm: update section "DAPM Widget Events" Luca Ceresoli
2024-04-16 5:56 ` [PATCH 12/12] ASoC: doc: dapm: update event types Luca Ceresoli
2024-04-16 21:23 ` [PATCH 00/12] ASoC: doc: dapm: various improvements Alexandre Belloni
2024-04-17 5:07 ` Luca Ceresoli
2024-04-17 23:30 ` Luca Ceresoli
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=20240416-dapm-docs-v1-9-a818d2819bf6@bootlin.com \
--to=luca.ceresoli@bootlin.com \
--cc=alexandre.belloni@bootlin.com \
--cc=broonie@kernel.org \
--cc=corbet@lwn.net \
--cc=lgirdwood@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=thomas.petazzoni@bootlin.com \
--cc=tiwai@suse.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.