Skip to contentSkip to conversation

V3, Convert bitfields in ASOC into full int width

PATCH In review Jon Smirl 2 participants 3 messages Jul 23, 2008

Subsystems (2)
lore
Share & tools
lore

Jon Smirl

author
#0 lore raw

PATCH 1/1 V3, Convert bitfields in ASOC into full int width

Convert bitfields in ASOC into full int width. This is a simple mechanical conversion. Two places in the DAPM code were fixed to properly use mask. Missing header for dapm_reg_event added. All codecs can build.

---

 include/sound/soc-dapm.h |    2 +
 include/sound/soc.h      |   50 +++++++++++++++++----------
 sound/soc/soc-core.c     |   86 ++++++++++++++++++++++++++++------------------
 sound/soc/soc-dapm.c     |   52 +++++++++++++++++-----------
 4 files changed, 116 insertions(+), 74 deletions(-)
include/sound/soc-dapm.h +2 -0
index 3030fdc..0b0eff2 100644
@@ -226,6 +226,8 @@ int snd_soc_dapm_add_routes(struct snd_soc_codec *codec,
 			    const struct snd_soc_dapm_route *route, int num);
 
 /* dapm events */
+int dapm_reg_event(struct snd_soc_dapm_widget *w,
+                  struct snd_kcontrol *kcontrol, int event);
 int snd_soc_dapm_stream_event(struct snd_soc_codec *codec, char *stream,
 	int event);
 int snd_soc_dapm_set_bias_level(struct snd_soc_device *socdev,
include/sound/soc.h +31 -19

92 lines not on this page · raw message

sound/soc/soc-core.c +52 -34

146 lines not on this page · raw message

sound/soc/soc-dapm.c +31 -21

80 lines not on this page · raw message

#1 lore raw
Quoted 4 lines · Jon Smirl

Convert bitfields in ASOC into full int width. This is a simple mechanical conversion. Two places in the DAPM code were fixed to properly use mask. Missing header for dapm_reg_event added. All codecs can build.

AFAICT there are no substantial changes on top of what I already applied?

author
#2 lore raw
Quoted 8 lines · Mark Brown
Quoted 4 lines · Jon Smirl

Convert bitfields in ASOC into full int width. This is a simple mechanical conversion. Two places in the DAPM code were fixed to properly use mask. Missing header for dapm_reg_event added. All codecs can build.

AFAICT there are no substantial changes on top of what I already applied?

There are two more fixes in there in addition to the \.

tlv320aic3x uses a macro that exposed this missing header:

/* dapm events */
+int dapm_reg_event(struct snd_soc_dapm_widget *w,
+ struct snd_kcontrol *kcontrol, int event);
int snd_soc_dapm_stream_event(struct snd_soc_codec *codec, char *stream,

       int event);

int snd_soc_dapm_set_bias_level(struct snd_soc_device *socdev,

And this one in my changes that I missed:

       .put = snd_soc_put_volsw, \
       .private_value = (unsigned long)&(struct soc_mixer_control) \
-               {.reg = xreg, .shift = shift_left, .rshift = right_shift, \
+               {.reg = xreg, .shift = shift_left, .rshift = shift_right, \
                .max = xmax, .invert = xinvert} }
Signature · 2 lines
Jon Smirl
[email protected]