[alsa-devel] [PATCH] Clean up ASOC functions to support 32b values instead of 16b

Jon Smirl jonsmirl at gmail.com
Thu Jul 24 01:36:35 CEST 2008


Clean up ASOC functions to support 32b values instead of 16b

Signed-off-by: Jon Smirl <jonsmirl at gmail.com>
---

 include/sound/soc.h  |   22 +++++++++++-----------
 sound/soc/soc-core.c |   35 +++++++++++++++++------------------
 sound/soc/soc-dapm.c |   32 ++++++++++++++++----------------
 3 files changed, 44 insertions(+), 45 deletions(-)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 412cd83..ac59506 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -253,10 +253,10 @@ int snd_soc_set_runtime_hwparams(struct snd_pcm_substream *substream,
 #define snd_soc_write(codec, reg, value) codec->write(codec, reg, value)
 
 /* codec register bit access */
-int snd_soc_update_bits(struct snd_soc_codec *codec, unsigned short reg,
-				unsigned short mask, unsigned short value);
-int snd_soc_test_bits(struct snd_soc_codec *codec, unsigned short reg,
-				unsigned short mask, unsigned short value);
+int snd_soc_update_bits(struct snd_soc_codec *codec, uint reg,
+				uint mask, uint value);
+int snd_soc_test_bits(struct snd_soc_codec *codec, uint reg,
+				uint mask, uint value);
 
 int snd_soc_new_ac97_codec(struct snd_soc_codec *codec,
 	struct snd_ac97_bus_ops *ops, int num);
@@ -419,8 +419,8 @@ struct snd_soc_codec {
 	hw_write_t hw_write;
 	hw_read_t hw_read;
 	void *reg_cache;
-	short reg_cache_size;
-	short reg_cache_step;
+	uint reg_cache_size;
+	uint reg_cache_step;
 
 	/* dapm */
 	struct list_head dapm_widgets;
@@ -530,11 +530,11 @@ struct soc_mixer_control {
 
 /* enumerated kcontrol */
 struct soc_enum {
-	unsigned short reg;
-	unsigned short reg2;
-	unsigned char shift_l;
-	unsigned char shift_r;
-	unsigned int max;
+	uint reg;
+	uint reg2;
+	uint shift_l;
+	uint shift_r;
+	uint max;
 	const char **texts;
 	void *dapm;
 };
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index c0e6ab4..358aa95 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -961,7 +961,7 @@ static ssize_t codec_reg_show(struct device *dev,
 {
 	struct snd_soc_device *devdata = dev_get_drvdata(dev);
 	struct snd_soc_codec *codec = devdata->codec;
-	int i, step = 1, count = 0;
+	uint i, step = 1, count = 0;
 
 	if (!codec->reg_cache_size)
 		return 0;
@@ -1039,11 +1039,11 @@ EXPORT_SYMBOL_GPL(snd_soc_free_ac97_codec);
  *
  * Returns 1 for change else 0.
  */
-int snd_soc_update_bits(struct snd_soc_codec *codec, unsigned short reg,
-				unsigned short mask, unsigned short value)
+int snd_soc_update_bits(struct snd_soc_codec *codec, u32 reg,
+				u32 mask, u32 value)
 {
 	int change;
-	unsigned short old, new;
+	u32 old, new;
 
 	mutex_lock(&io_mutex);
 	old = snd_soc_read(codec, reg);
@@ -1069,11 +1069,11 @@ EXPORT_SYMBOL_GPL(snd_soc_update_bits);
  *
  * Returns 1 for change else 0.
  */
-int snd_soc_test_bits(struct snd_soc_codec *codec, unsigned short reg,
-				unsigned short mask, unsigned short value)
+int snd_soc_test_bits(struct snd_soc_codec *codec, u32 reg,
+				u32 mask, u32 value)
 {
 	int change;
-	unsigned short old, new;
+	u32 old, new;
 
 	mutex_lock(&io_mutex);
 	old = snd_soc_read(codec, reg);
@@ -1320,7 +1320,7 @@ int snd_soc_get_enum_double(struct snd_kcontrol *kcontrol,
 {
 	struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
 	struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
-	unsigned short val, bitmask;
+	u32 val, bitmask;
 
 	for (bitmask = 1; bitmask < e->max; bitmask <<= 1)
 		;
@@ -1349,8 +1349,7 @@ int snd_soc_put_enum_double(struct snd_kcontrol *kcontrol,
 {
 	struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
 	struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
-	unsigned short val;
-	unsigned short mask, bitmask;
+	u32 val, mask, bitmask;
 
 	for (bitmask = 1; bitmask < e->max; bitmask <<= 1)
 		;
@@ -1512,7 +1511,7 @@ int snd_soc_put_volsw(struct snd_kcontrol *kcontrol,
 	int max = mc->max;
 	uint mask = (1 << fls(max)) - 1;
 	uint invert = mc->invert;
-	unsigned short val, val2, val_mask;
+	u32 val, val2, val_mask;
 
 	val = (ucontrol->value.integer.value[0] & mask);
 	if (invert)
@@ -1618,7 +1617,7 @@ int snd_soc_put_volsw_2r(struct snd_kcontrol *kcontrol,
 	uint mask = (1 << fls(max)) - 1;
 	uint invert = mc->invert;
 	int err;
-	unsigned short val, val2, val_mask;
+	u32 val, val2, val_mask;
 
 	val_mask = mask << shift;
 	val = (ucontrol->value.integer.value[0] & mask);
@@ -1683,12 +1682,12 @@ int snd_soc_get_volsw_s8(struct snd_kcontrol *kcontrol,
 	struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
 	uint reg = mc->reg;
 	int min = mc->min;
-	int val = snd_soc_read(codec, reg);
+	uint val = snd_soc_read(codec, reg);
 
 	ucontrol->value.integer.value[0] =
-		((signed char)(val & 0xff))-min;
+		((signed char)(val & 0xff)) - min;
 	ucontrol->value.integer.value[1] =
-		((signed char)((val >> 8) & 0xff))-min;
+		((signed char)((val >> 8) & 0xff)) - min;
 	return 0;
 }
 EXPORT_SYMBOL_GPL(snd_soc_get_volsw_s8);
@@ -1710,10 +1709,10 @@ int snd_soc_put_volsw_s8(struct snd_kcontrol *kcontrol,
 	struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
 	uint reg = mc->reg;
 	int min = mc->min;
-	unsigned short val;
+	uint val;
 
-	val = (ucontrol->value.integer.value[0]+min) & 0xff;
-	val |= ((ucontrol->value.integer.value[1]+min) & 0xff) << 8;
+	val = (ucontrol->value.integer.value[0] + min) & 0xff;
+	val |= ((ucontrol->value.integer.value[1] + min) & 0xff) << 8;
 
 	return snd_soc_update_bits(codec, reg, 0xffff, val);
 }
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 424e4e8..d88b21a 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -103,7 +103,7 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w,
 	switch (w->id) {
 	case snd_soc_dapm_switch:
 	case snd_soc_dapm_mixer: {
-		int val;
+		uint val;
 		struct soc_mixer_control *mc = (struct soc_mixer_control *)
 			w->kcontrols[i].private_value;
 		uint reg = mc->reg;
@@ -123,7 +123,7 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w,
 	break;
 	case snd_soc_dapm_mux: {
 		struct soc_enum *e = (struct soc_enum *)w->kcontrols[i].private_value;
-		int val, item, bitmask;
+		uint val, item, bitmask;
 
 		for (bitmask = 1; bitmask < e->max; bitmask <<= 1)
 		;
@@ -206,8 +206,8 @@ static int dapm_connect_mixer(struct snd_soc_codec *codec,
 /* update dapm codec register bits */
 static int dapm_update_bits(struct snd_soc_dapm_widget *widget)
 {
-	int change, power;
-	unsigned short old, new;
+	uint change, power;
+	uint old, new;
 	struct snd_soc_codec *codec = widget->codec;
 
 	/* check for valid widgets */
@@ -221,7 +221,7 @@ static int dapm_update_bits(struct snd_soc_dapm_widget *widget)
 
 	power = widget->power;
 	if (widget->invert)
-		power = (power ? 0:1);
+		power = (power ? 0 : 1);
 
 	old = snd_soc_read(codec, widget->reg);
 	new = (old & ~(0x1 << widget->shift)) | (power << widget->shift);
@@ -464,7 +464,7 @@ static int is_connected_input_ep(struct snd_soc_dapm_widget *widget)
 int dapm_reg_event(struct snd_soc_dapm_widget *w,
 		   struct snd_kcontrol *kcontrol, int event)
 {
-	unsigned int val;
+	uint val;
 
 	if (SND_SOC_DAPM_EVENT_ON(event))
 		val = w->on_val;
@@ -695,8 +695,8 @@ static void dbg_dump_dapm(struct snd_soc_codec* codec, const char *action)
 
 /* test and update the power status of a mux widget */
 static int dapm_mux_update_power(struct snd_soc_dapm_widget *widget,
-				 struct snd_kcontrol *kcontrol, int mask,
-				 int val, struct soc_enum* e)
+				 struct snd_kcontrol *kcontrol, uint mask,
+				 uint val, struct soc_enum *e)
 {
 	struct snd_soc_dapm_path *path;
 	int found = 0;
@@ -733,8 +733,8 @@ static int dapm_mux_update_power(struct snd_soc_dapm_widget *widget,
 
 /* test and update the power status of a mixer or switch widget */
 static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget,
-				   struct snd_kcontrol *kcontrol, int reg,
-				   int val_mask, int val, int invert)
+				   struct snd_kcontrol *kcontrol, uint reg,
+				   uint val_mask, uint val, uint invert)
 {
 	struct snd_soc_dapm_path *path;
 	int found = 0;
@@ -755,10 +755,10 @@ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget,
 		found = 1;
 		if (val)
 			/* new connection */
-			path->connect = invert ? 0:1;
+			path->connect = invert ? 0 : 1;
 		else
 			/* old connection must be powered down */
-			path->connect = invert ? 1:0;
+			path->connect = invert ? 1 : 0;
 		break;
 	}
 
@@ -1198,7 +1198,7 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol,
 	int max = mc->max;
 	uint mask = (1 << fls(max)) - 1;
 	uint invert = mc->invert;
-	unsigned short val, val2, val_mask;
+	uint val, val2, val_mask;
 	int ret;
 
 	val = (ucontrol->value.integer.value[0] & mask);
@@ -1262,7 +1262,7 @@ int snd_soc_dapm_get_enum_double(struct snd_kcontrol *kcontrol,
 {
 	struct snd_soc_dapm_widget *widget = snd_kcontrol_chip(kcontrol);
 	struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
-	unsigned short val, bitmask;
+	uint val, bitmask;
 
 	for (bitmask = 1; bitmask < e->max; bitmask <<= 1)
 		;
@@ -1290,8 +1290,8 @@ int snd_soc_dapm_put_enum_double(struct snd_kcontrol *kcontrol,
 {
 	struct snd_soc_dapm_widget *widget = snd_kcontrol_chip(kcontrol);
 	struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
-	unsigned short val, mux;
-	unsigned short mask, bitmask;
+	uint val, mux;
+	uint mask, bitmask;
 	int ret = 0;
 
 	for (bitmask = 1; bitmask < e->max; bitmask <<= 1)



More information about the Alsa-devel mailing list