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 04/13] ASoC: Move IO functions to soc-io.c
Date: Tue, 18 Mar 2014 09:02:07 +0100 [thread overview]
Message-ID: <1395129736-11938-5-git-send-email-lars@metafoo.de> (raw)
In-Reply-To: <1395129736-11938-1-git-send-email-lars@metafoo.de>
soc-core.c is getting quite crowded. Move all IO related functions that are
still in soc-core.c to soc-io.c
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
sound/soc/soc-core.c | 144 ---------------------------------------------------
sound/soc/soc-io.c | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 144 insertions(+), 144 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 0a39031..b66ccce 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -2039,38 +2039,6 @@ int snd_soc_codec_writable_register(struct snd_soc_codec *codec,
}
EXPORT_SYMBOL_GPL(snd_soc_codec_writable_register);
-int snd_soc_platform_read(struct snd_soc_platform *platform,
- unsigned int reg)
-{
- unsigned int ret;
-
- if (!platform->driver->read) {
- dev_err(platform->dev, "ASoC: platform has no read back\n");
- return -1;
- }
-
- ret = platform->driver->read(platform, reg);
- dev_dbg(platform->dev, "read %x => %x\n", reg, ret);
- trace_snd_soc_preg_read(platform, reg, ret);
-
- return ret;
-}
-EXPORT_SYMBOL_GPL(snd_soc_platform_read);
-
-int snd_soc_platform_write(struct snd_soc_platform *platform,
- unsigned int reg, unsigned int val)
-{
- if (!platform->driver->write) {
- dev_err(platform->dev, "ASoC: platform has no write back\n");
- return -1;
- }
-
- dev_dbg(platform->dev, "write %x = %x\n", reg, val);
- trace_snd_soc_preg_write(platform, reg, val);
- return platform->driver->write(platform, reg, val);
-}
-EXPORT_SYMBOL_GPL(snd_soc_platform_write);
-
/**
* snd_soc_new_ac97_codec - initailise AC97 device
* @codec: audio codec
@@ -2289,118 +2257,6 @@ void snd_soc_free_ac97_codec(struct snd_soc_codec *codec)
}
EXPORT_SYMBOL_GPL(snd_soc_free_ac97_codec);
-unsigned int snd_soc_read(struct snd_soc_codec *codec, unsigned int reg)
-{
- unsigned int ret;
-
- ret = codec->read(codec, reg);
- dev_dbg(codec->dev, "read %x => %x\n", reg, ret);
- trace_snd_soc_reg_read(codec, reg, ret);
-
- return ret;
-}
-EXPORT_SYMBOL_GPL(snd_soc_read);
-
-unsigned int snd_soc_write(struct snd_soc_codec *codec,
- unsigned int reg, unsigned int val)
-{
- dev_dbg(codec->dev, "write %x = %x\n", reg, val);
- trace_snd_soc_reg_write(codec, reg, val);
- return codec->write(codec, reg, val);
-}
-EXPORT_SYMBOL_GPL(snd_soc_write);
-
-/**
- * snd_soc_update_bits - update codec register bits
- * @codec: audio codec
- * @reg: codec register
- * @mask: register mask
- * @value: new value
- *
- * Writes new register value.
- *
- * Returns 1 for change, 0 for no change, or negative error code.
- */
-int snd_soc_update_bits(struct snd_soc_codec *codec, unsigned short reg,
- unsigned int mask, unsigned int value)
-{
- bool change;
- unsigned int old, new;
- int ret;
-
- if (codec->using_regmap) {
- ret = regmap_update_bits_check(codec->control_data, reg,
- mask, value, &change);
- } else {
- ret = snd_soc_read(codec, reg);
- if (ret < 0)
- return ret;
-
- old = ret;
- new = (old & ~mask) | (value & mask);
- change = old != new;
- if (change)
- ret = snd_soc_write(codec, reg, new);
- }
-
- if (ret < 0)
- return ret;
-
- return change;
-}
-EXPORT_SYMBOL_GPL(snd_soc_update_bits);
-
-/**
- * snd_soc_update_bits_locked - update codec register bits
- * @codec: audio codec
- * @reg: codec register
- * @mask: register mask
- * @value: new value
- *
- * Writes new register value, and takes the codec mutex.
- *
- * Returns 1 for change else 0.
- */
-int snd_soc_update_bits_locked(struct snd_soc_codec *codec,
- unsigned short reg, unsigned int mask,
- unsigned int value)
-{
- int change;
-
- mutex_lock(&codec->mutex);
- change = snd_soc_update_bits(codec, reg, mask, value);
- mutex_unlock(&codec->mutex);
-
- return change;
-}
-EXPORT_SYMBOL_GPL(snd_soc_update_bits_locked);
-
-/**
- * snd_soc_test_bits - test register for change
- * @codec: audio codec
- * @reg: codec register
- * @mask: register mask
- * @value: new value
- *
- * Tests a register with a new value and checks if the new value is
- * different from the old value.
- *
- * Returns 1 for change else 0.
- */
-int snd_soc_test_bits(struct snd_soc_codec *codec, unsigned short reg,
- unsigned int mask, unsigned int value)
-{
- int change;
- unsigned int old, new;
-
- old = snd_soc_read(codec, reg);
- new = (old & ~mask) | value;
- change = old != new;
-
- return change;
-}
-EXPORT_SYMBOL_GPL(snd_soc_test_bits);
-
/**
* snd_soc_cnew - create new control
* @_template: control template
diff --git a/sound/soc/soc-io.c b/sound/soc/soc-io.c
index 8aa0869..de1e496 100644
--- a/sound/soc/soc-io.c
+++ b/sound/soc/soc-io.c
@@ -19,6 +19,150 @@
#include <trace/events/asoc.h>
+unsigned int snd_soc_read(struct snd_soc_codec *codec, unsigned int reg)
+{
+ unsigned int ret;
+
+ ret = codec->read(codec, reg);
+ dev_dbg(codec->dev, "read %x => %x\n", reg, ret);
+ trace_snd_soc_reg_read(codec, reg, ret);
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(snd_soc_read);
+
+unsigned int snd_soc_write(struct snd_soc_codec *codec,
+ unsigned int reg, unsigned int val)
+{
+ dev_dbg(codec->dev, "write %x = %x\n", reg, val);
+ trace_snd_soc_reg_write(codec, reg, val);
+ return codec->write(codec, reg, val);
+}
+EXPORT_SYMBOL_GPL(snd_soc_write);
+
+/**
+ * snd_soc_update_bits - update codec register bits
+ * @codec: audio codec
+ * @reg: codec register
+ * @mask: register mask
+ * @value: new value
+ *
+ * Writes new register value.
+ *
+ * Returns 1 for change, 0 for no change, or negative error code.
+ */
+int snd_soc_update_bits(struct snd_soc_codec *codec, unsigned short reg,
+ unsigned int mask, unsigned int value)
+{
+ bool change;
+ unsigned int old, new;
+ int ret;
+
+ if (codec->using_regmap) {
+ ret = regmap_update_bits_check(codec->control_data, reg,
+ mask, value, &change);
+ } else {
+ ret = snd_soc_read(codec, reg);
+ if (ret < 0)
+ return ret;
+
+ old = ret;
+ new = (old & ~mask) | (value & mask);
+ change = old != new;
+ if (change)
+ ret = snd_soc_write(codec, reg, new);
+ }
+
+ if (ret < 0)
+ return ret;
+
+ return change;
+}
+EXPORT_SYMBOL_GPL(snd_soc_update_bits);
+
+/**
+ * snd_soc_update_bits_locked - update codec register bits
+ * @codec: audio codec
+ * @reg: codec register
+ * @mask: register mask
+ * @value: new value
+ *
+ * Writes new register value, and takes the codec mutex.
+ *
+ * Returns 1 for change else 0.
+ */
+int snd_soc_update_bits_locked(struct snd_soc_codec *codec,
+ unsigned short reg, unsigned int mask,
+ unsigned int value)
+{
+ int change;
+
+ mutex_lock(&codec->mutex);
+ change = snd_soc_update_bits(codec, reg, mask, value);
+ mutex_unlock(&codec->mutex);
+
+ return change;
+}
+EXPORT_SYMBOL_GPL(snd_soc_update_bits_locked);
+
+/**
+ * snd_soc_test_bits - test register for change
+ * @codec: audio codec
+ * @reg: codec register
+ * @mask: register mask
+ * @value: new value
+ *
+ * Tests a register with a new value and checks if the new value is
+ * different from the old value.
+ *
+ * Returns 1 for change else 0.
+ */
+int snd_soc_test_bits(struct snd_soc_codec *codec, unsigned short reg,
+ unsigned int mask, unsigned int value)
+{
+ int change;
+ unsigned int old, new;
+
+ old = snd_soc_read(codec, reg);
+ new = (old & ~mask) | value;
+ change = old != new;
+
+ return change;
+}
+EXPORT_SYMBOL_GPL(snd_soc_test_bits);
+
+int snd_soc_platform_read(struct snd_soc_platform *platform,
+ unsigned int reg)
+{
+ unsigned int ret;
+
+ if (!platform->driver->read) {
+ dev_err(platform->dev, "ASoC: platform has no read back\n");
+ return -1;
+ }
+
+ ret = platform->driver->read(platform, reg);
+ dev_dbg(platform->dev, "read %x => %x\n", reg, ret);
+ trace_snd_soc_preg_read(platform, reg, ret);
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(snd_soc_platform_read);
+
+int snd_soc_platform_write(struct snd_soc_platform *platform,
+ unsigned int reg, unsigned int val)
+{
+ if (!platform->driver->write) {
+ dev_err(platform->dev, "ASoC: platform has no write back\n");
+ return -1;
+ }
+
+ dev_dbg(platform->dev, "write %x = %x\n", reg, val);
+ trace_snd_soc_preg_write(platform, reg, val);
+ return platform->driver->write(platform, reg, val);
+}
+EXPORT_SYMBOL_GPL(snd_soc_platform_write);
+
#ifdef CONFIG_REGMAP
static int hw_write(struct snd_soc_codec *codec, unsigned int reg,
unsigned int value)
--
1.8.0
next prev parent 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 [PATCH 00/13] ASoC: Move IO and kcontrols to the component level Lars-Peter Clausen
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 ` Lars-Peter Clausen [this message]
2014-03-19 11:10 ` [PATCH 04/13] ASoC: Move IO functions to soc-io.c 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-5-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