From: Lars-Peter Clausen <lars@metafoo.de>
To: Mark Brown <broonie@kernel.org>, Liam Girdwood <lgirdwood@gmail.com>
Cc: Brian Austin <brian.austin@cirrus.com>,
Lars-Peter Clausen <lars@metafoo.de>,
patches@opensource.wolfsonmicro.com, alsa-devel@alsa-project.org,
Paul Handrigan <Paul.Handrigan@cirrus.com>,
Kuninori Morimoto <kuninori.morimoto.gx@gmail.com>,
Peter Ujfalusi <peter.ujfalusi@ti.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Subject: [PATCH 00/13] ASoC: Move IO and kcontrols to the component level
Date: Tue, 18 Mar 2014 09:02:03 +0100 [thread overview]
Message-ID: <1395129736-11938-1-git-send-email-lars@metafoo.de> (raw)
Hi,
This series is the first step towards full componentisation of the ASoC core. It
moves both the IO abstraction layers within ASoC as well as the standard set of
kcontrols to the component level. This for example means we can get rid of
constructs like
if (w->codec)
snd_soc_read(....)
else if(w->platform)
snd_soc_platform_read(...)
Moving the kcontrols to the component level means we can use the same
implementation also for other non-CODEC components. E.g. there seems to be an
increasing amount of CPU components that have basic signal processing and things
like volume controls etc. whose register layout is similar to those used in
CODECs. Currently each CPU component driver re-implements these controls by
hand.
The first two patches introduce two new helper functions which hide the actual
implementation on how the CODEC or platform struct that register a control can
be obtained from the control. This means that when the actual implementation is
changed only the two helper functions need to be updated and not every single
driver. The patches that follow that are just cleanups removing unused IO stuff
and move all IO functions to soc-io.c. The next step is to make platforms also
components. And then finally first the IO abstraction layers in ASoC are unified
at the component level and then on top of that the kcontrol helpers are moved to
the component level.
The series depends on quite a few topic branches related to changes to the core
and cleanups for individual drivers. It is probably best to place it on top of
asoc-v3.15-2. The patch that moves the kcontrols to the component level also has
a runtime dependency on the not yet applied patches that move the ams-delta and
mfld_machine controls to the card level.
- Lars
Lars-Peter Clausen (13):
ASoC: Add snd_soc_kcontrol_codec() helper function
ASoC: Add snd_soc_kcontrol_platform() helper function
ASoC: Prepare SOC_SINGLE_XR_SX controls for regmap
ASoC: Move IO functions to soc-io.c
ASoC: Drop ASoC level caching from hw_write/hw_read
ASoC: Remove IO register modifier callbacks
ASoC: Add helper function to cast component back to CODEC
ASoC: Track which components have been registered with
snd_soc_register_component()
ASoC: Let snd_soc_platform subclass snd_soc_component
ASoC: Move IO abstraction to the component level
ASoC: Move standard kcontrol helpers to the component level
ASoC: Remove snd_soc_update_bits_locked()
ASoC: dapm: Rename soc_widget_update_bits_locked() to
soc_widget_update_bits()
include/sound/soc-dapm.h | 1 +
include/sound/soc.h | 114 +++++++--
sound/soc/codecs/88pm860x-codec.c | 8 +-
sound/soc/codecs/ab8500-codec.c | 12 +-
sound/soc/codecs/adav80x.c | 4 +-
sound/soc/codecs/ak4641.c | 4 +-
sound/soc/codecs/cs4270.c | 2 +-
sound/soc/codecs/cs4271.c | 4 +-
sound/soc/codecs/cs42l51.c | 4 +-
sound/soc/codecs/da7210.c | 4 +-
sound/soc/codecs/da7213.c | 4 +-
sound/soc/codecs/da732x.c | 4 +-
sound/soc/codecs/da9055.c | 2 +-
sound/soc/codecs/lm4857.c | 4 +-
sound/soc/codecs/max9768.c | 4 +-
sound/soc/codecs/max98088.c | 12 +-
sound/soc/codecs/max98090.c | 4 +-
sound/soc/codecs/max98095.c | 16 +-
sound/soc/codecs/pcm1681.c | 4 +-
sound/soc/codecs/rt5631.c | 4 +-
sound/soc/codecs/sgtl5000.c | 4 +-
sound/soc/codecs/sta32x.c | 4 +-
sound/soc/codecs/tas5086.c | 4 +-
sound/soc/codecs/tlv320aic23.c | 4 +-
sound/soc/codecs/tlv320dac33.c | 4 +-
sound/soc/codecs/twl4030.c | 10 +-
sound/soc/codecs/twl6040.c | 8 +-
sound/soc/codecs/wl1273.c | 12 +-
sound/soc/codecs/wm2000.c | 8 +-
sound/soc/codecs/wm8350.c | 4 +-
sound/soc/codecs/wm8400.c | 2 +-
sound/soc/codecs/wm8580.c | 2 +-
sound/soc/codecs/wm8731.c | 4 +-
sound/soc/codecs/wm8753.c | 4 +-
sound/soc/codecs/wm8804.c | 4 +-
sound/soc/codecs/wm8903.c | 4 +-
sound/soc/codecs/wm8904.c | 14 +-
sound/soc/codecs/wm8955.c | 4 +-
sound/soc/codecs/wm8958-dsp2.c | 32 +--
sound/soc/codecs/wm8960.c | 4 +-
sound/soc/codecs/wm8962.c | 8 +-
sound/soc/codecs/wm8983.c | 4 +-
sound/soc/codecs/wm8985.c | 4 +-
sound/soc/codecs/wm8990.c | 2 +-
sound/soc/codecs/wm8991.c | 2 +-
sound/soc/codecs/wm8994.c | 10 +-
sound/soc/codecs/wm8996.c | 4 +-
sound/soc/codecs/wm9081.c | 4 +-
sound/soc/codecs/wm_adsp.c | 4 +-
sound/soc/codecs/wm_hubs.c | 2 +-
sound/soc/intel/sst-haswell-pcm.c | 8 +-
sound/soc/soc-cache.c | 2 -
sound/soc/soc-core.c | 520 ++++++++++++++++----------------------
sound/soc/soc-dapm.c | 91 +------
sound/soc/soc-io.c | 220 +++++++++++++---
55 files changed, 644 insertions(+), 592 deletions(-)
--
1.8.0
next reply other threads:[~2014-03-18 8:01 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-18 8:02 Lars-Peter Clausen [this message]
2014-03-18 8:02 ` [PATCH 01/13] ASoC: Add snd_soc_kcontrol_codec() helper function Lars-Peter Clausen
2014-03-24 10:57 ` Charles Keepax
2014-03-18 8:02 ` [PATCH 02/13] ASoC: Add snd_soc_kcontrol_platform() " Lars-Peter Clausen
2014-03-18 8:02 ` [PATCH 03/13] ASoC: Prepare SOC_SINGLE_XR_SX controls for regmap Lars-Peter Clausen
2014-03-18 8:02 ` [PATCH 04/13] ASoC: Move IO functions to soc-io.c Lars-Peter Clausen
2014-03-19 11:10 ` Mark Brown
2014-03-19 11:47 ` Lars-Peter Clausen
2014-03-19 11:53 ` Mark Brown
2014-03-19 11:57 ` Lars-Peter Clausen
2014-03-19 12:01 ` Mark Brown
2014-03-19 12:11 ` Lars-Peter Clausen
2014-03-18 8:02 ` [PATCH 05/13] ASoC: Drop ASoC level caching from hw_write/hw_read Lars-Peter Clausen
2014-03-19 12:58 ` Mark Brown
2014-03-19 13:01 ` Lars-Peter Clausen
2014-03-18 8:02 ` [PATCH 06/13] ASoC: Remove IO register modifier callbacks Lars-Peter Clausen
2014-03-18 8:02 ` [PATCH 07/13] ASoC: Add helper function to cast component back to CODEC Lars-Peter Clausen
2014-03-19 13:08 ` Mark Brown
2014-03-18 8:02 ` [PATCH 08/13] ASoC: Track which components have been registered with snd_soc_register_component() Lars-Peter Clausen
2014-03-24 11:18 ` Charles Keepax
2014-03-24 11:33 ` Mark Brown
2014-03-24 11:40 ` Lars-Peter Clausen
2014-03-24 11:48 ` Mark Brown
2014-03-24 12:07 ` Lars-Peter Clausen
2014-03-24 12:26 ` Mark Brown
2014-03-18 8:02 ` [PATCH 09/13] ASoC: Let snd_soc_platform subclass snd_soc_component Lars-Peter Clausen
2014-03-18 8:02 ` [PATCH 10/13] ASoC: Move IO abstraction to the component level Lars-Peter Clausen
2014-04-02 18:23 ` Mark Brown
2014-03-18 8:02 ` [PATCH 11/13] ASoC: Move standard kcontrol helpers " Lars-Peter Clausen
2014-03-18 8:02 ` [PATCH 12/13] ASoC: Remove snd_soc_update_bits_locked() Lars-Peter Clausen
2014-03-18 8:02 ` [PATCH 13/13] ASoC: dapm: Rename soc_widget_update_bits_locked() to soc_widget_update_bits() Lars-Peter Clausen
2014-03-18 8:06 ` [PATCH 00/13] ASoC: Move IO and kcontrols to the component level Takashi Iwai
2014-03-18 8:25 ` Lars-Peter Clausen
2014-03-18 14:17 ` Brian Austin
2014-03-18 14:20 ` 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=1395129736-11938-1-git-send-email-lars@metafoo.de \
--to=lars@metafoo.de \
--cc=Paul.Handrigan@cirrus.com \
--cc=alsa-devel@alsa-project.org \
--cc=brian.austin@cirrus.com \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.wolfsonmicro.com \
--cc=kuninori.morimoto.gx@gmail.com \
--cc=lgirdwood@gmail.com \
--cc=maxime.ripard@free-electrons.com \
--cc=patches@opensource.wolfsonmicro.com \
--cc=peter.ujfalusi@ti.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