From a39f75f7907fa3a708751dc283e3ab3e7da526b8 Mon Sep 17 00:00:00 2001
From: Xiubo Li
Date: Wed, 26 Mar 2014 13:40:23 +0800
Subject: ASoC: core: Move the default regmap I/O setting to
snd_soc_register_codec()
Add the default regmap I/O setting to snd_soc_register_codec() while
the CODEC is initialising, which will be called by CODEC driver device
probe(), and then we can make XXX_set_cache_io() go away entirely from each
CODEC ASoC probe.
Signed-off-by: Xiubo Li
Signed-off-by: Mark Brown
---
include/sound/soc.h | 1 +
1 file changed, 1 insertion(+)
(limited to 'include/sound/soc.h')
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 0b83168d8ff4..2f62436026d2 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -754,6 +754,7 @@ struct snd_soc_codec_driver {
unsigned int freq_in, unsigned int freq_out);
/* codec IO */
+ struct regmap *(*get_regmap)(struct device *);
unsigned int (*read)(struct snd_soc_codec *, unsigned int);
int (*write)(struct snd_soc_codec *, unsigned int, unsigned int);
int (*display_register)(struct snd_soc_codec *, char *,
--
cgit v1.2.3
From 1a39019e939f620f39a1b914231ab6ba9013b208 Mon Sep 17 00:00:00 2001
From: Bard Liao
Date: Tue, 8 Apr 2014 11:18:10 +0800
Subject: ASoC: core: Allow snd_soc_update_bits use 32 bits register
Change reg's type from unsigned short to unsigned int. So that we can use
32 bits reg value in snd_soc_update_bits.
Signed-off-by: Bard Liao
Signed-off-by: Mark Brown
---
include/sound/soc.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'include/sound/soc.h')
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 0b83168d8ff4..4ed706bf11d1 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -469,12 +469,12 @@ static inline void snd_soc_jack_free_gpios(struct snd_soc_jack *jack, int count,
#endif
/* codec register bit access */
-int snd_soc_update_bits(struct snd_soc_codec *codec, unsigned short reg,
+int snd_soc_update_bits(struct snd_soc_codec *codec, unsigned int reg,
unsigned int mask, unsigned int value);
int snd_soc_update_bits_locked(struct snd_soc_codec *codec,
- unsigned short reg, unsigned int mask,
+ unsigned int reg, unsigned int mask,
unsigned int value);
-int snd_soc_test_bits(struct snd_soc_codec *codec, unsigned short reg,
+int snd_soc_test_bits(struct snd_soc_codec *codec, unsigned int reg,
unsigned int mask, unsigned int value);
int snd_soc_new_ac97_codec(struct snd_soc_codec *codec,
--
cgit v1.2.3
From ab2874a8faac9db00eb03ec831b9a983627fb2d1 Mon Sep 17 00:00:00 2001
From: Lars-Peter Clausen
Date: Sat, 19 Apr 2014 10:43:57 +0200
Subject: ASoC: Change return type of snd_soc_write() to int
The CODEC's write callback can return a negative error code, make sure to pass
that on correctly.
Signed-off-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
---
include/sound/soc.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'include/sound/soc.h')
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 81bc331c520f..192ddc40ae0a 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1125,8 +1125,8 @@ static inline struct snd_soc_platform *snd_soc_component_to_platform(
/* codec IO */
unsigned int snd_soc_read(struct snd_soc_codec *codec, unsigned int reg);
-unsigned int snd_soc_write(struct snd_soc_codec *codec,
- unsigned int reg, unsigned int val);
+int snd_soc_write(struct snd_soc_codec *codec, unsigned int reg,
+ unsigned int val);
/* device driver data */
--
cgit v1.2.3