diff --git a/include/sound/soc.h b/include/sound/soc.h
index 07721f4..36c547f 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -21,7 +21,7 @@
 #include <sound/control.h>
 #include <sound/ac97_codec.h>
 
-#define SND_SOC_VERSION "0.9rc1"
+#define SND_SOC_VERSION "0.9rc2"
 
 /*
  * Convenience kcontrol builders
diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c
index 591c88e..ad62066 100644
--- a/sound/soc/codecs/wm8731.c
+++ b/sound/soc/codecs/wm8731.c
@@ -422,9 +422,9 @@ static int wm8731_resume(struct platform
 
 	/* Sync reg_cache with the hardware */
 	for (i = 0; i < ARRAY_SIZE(wm8731_reg); i++) {
-		if (i + 1 == WM8731_RESET)
+		if (i == WM8731_RESET)
 			continue;
-		data[0] = ((i + 1) << 1) | ((cache[i] >> 8) & 0x0001);
+		data[0] = (i << 1) | ((cache[i] >> 8) & 0x0001);
 		data[1] = cache[i] & 0x00ff;
 		codec->hw_write(codec->control_data, data, 2);
 	}
diff --git a/sound/soc/codecs/wm8750.c b/sound/soc/codecs/wm8750.c
index 53b2d61..15bdd62 100644
--- a/sound/soc/codecs/wm8750.c
+++ b/sound/soc/codecs/wm8750.c
@@ -699,9 +699,9 @@ static int wm8750_resume(struct platform
 
 	/* Sync reg_cache with the hardware */
 	for (i = 0; i < ARRAY_SIZE(wm8750_reg); i++) {
-		if (i + 1 == WM8750_RESET)
+		if (i == WM8750_RESET)
 			continue;
-		data[0] = ((i + 1) << 1) | ((cache[i] >> 8) & 0x0001);
+		data[0] = (i << 1) | ((cache[i] >> 8) & 0x0001);
 		data[1] = cache[i] & 0x00ff;
 		codec->hw_write(codec->control_data, data, 2);
 	}
@@ -875,7 +875,6 @@ static int wm8750_probe(struct platform_
 		return -ENOMEM;
 
 	socdev->codec = codec;
-	codec->longname = "Corgi Audio Codec";
 	INIT_LIST_HEAD(&codec->dpm_widgets);
 	INIT_LIST_HEAD(&codec->dpm_paths);
 
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
index 8214210..5ad2a1a 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -1281,7 +1281,6 @@ static int wm8753_probe(struct platform_
 		return -ENOMEM;
 
 	socdev->codec = codec;
-	codec->longname = "Corgi Audio Codec";
 	
 	INIT_LIST_HEAD(&codec->dpm_widgets);
 	INIT_LIST_HEAD(&codec->dpm_paths);
diff --git a/sound/soc/codecs/wm8971.c b/sound/soc/codecs/wm8971.c
index cf2c7cd..a9654b1 100644
--- a/sound/soc/codecs/wm8971.c
+++ b/sound/soc/codecs/wm8971.c
@@ -638,7 +638,7 @@ static int wm8971_resume(struct platform
 	for (i = 0; i < ARRAY_SIZE(wm8971_reg); i++) {
 		if (i + 1 == WM8971_RESET)
 			continue;
-		data[0] = ((i + 1) << 1) | ((cache[i] >> 8) & 0x0001);
+		data[0] = (i << 1) | ((cache[i] >> 8) & 0x0001);
 		data[1] = cache[i] & 0x00ff;
 		codec->hw_write(codec->control_data, data, 2);
 	}
@@ -810,7 +810,6 @@ static int wm8971_probe(struct platform_
 		return -ENOMEM;
 
 	socdev->codec = codec;
-	codec->longname = "Corgi Audio Codec";
 	INIT_LIST_HEAD(&codec->dpm_widgets);
 	INIT_LIST_HEAD(&codec->dpm_paths);
 
diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig
index d9a4f0e..183acd7 100644
--- a/sound/soc/pxa/Kconfig
+++ b/sound/soc/pxa/Kconfig
@@ -49,7 +49,7 @@ config SND_PXA2xx_SOC_SPITZ
 	select SND_PXA2xx_SOC_I2S
 	help
 	  Say Y if you want to add support for SoC audio on Sharp
-	  Zaurus SL-C1x00 models.
+	  Zaurus SL-Cxx00 models.
 
 config SND_PXA2xx_SOC_TOSA
 	tristate "SoC AC97 Audio support for Tosa"
diff --git a/sound/soc/pxa/Makefile b/sound/soc/pxa/Makefile
index ee5eafb..7b2c7ba 100644
--- a/sound/soc/pxa/Makefile
+++ b/sound/soc/pxa/Makefile
@@ -1,43 +1,23 @@
+# PXA Platform Support
 snd-soc-pxa2xx-objs := pxa2xx-pcm.o
 snd-soc-pxa2xx-ac97-objs := pxa2xx-ac97.o
 snd-soc-pxa2xx-i2s-objs := pxa2xx-i2s.o
 snd-soc-pxa2xx-ssp-objs := pxa2xx-ssp.o
-snd-soc-mainstone-objs := mainstone.o
-snd-soc-tosa-objs := tosa.o
-snd-soc-corgi-objs := corgi.o
-snd-soc-spitz-objs := spitz.o
-snd-soc-mainstone-wm8753-objs := mainstone_wm8753.o
 
 obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-pxa2xx.o
+obj-$(CONFIG_SND_PXA2xx_SOC_AC97) += snd-soc-pxa2xx-ac97.o
+obj-$(CONFIG_SND_PXA2xx_SOC_I2S) += snd-soc-pxa2xx-i2s.o
+obj-$(CONFIG_SND_PXA2xx_SOC_SSP) += snd-soc-pxa2xx-ssp.o
 
-ifneq ($(CONFIG_SND_PXA2xx_SOC_AC97),n)
-obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-pxa2xx-ac97.o
-endif
-
-ifneq ($(CONFIG_SND_PXA2xx_SOC_I2S),n)
-obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-pxa2xx-i2s.o
-endif
-
-ifneq ($(CONFIG_SND_PXA2xx_SOC_SSP),n)
-obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-pxa2xx-ssp.o
-endif
-
-ifneq ($(CONFIG_SND_PXA2xx_SOC_MAINSTONE),n)
-obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-mainstone.o
-endif
-
-ifneq ($(CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753),n)
-obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-mainstone-wm8753.o
-endif
-
-ifneq ($(CONFIG_SND_PXA2xx_SOC_TOSA),n)
-obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-tosa.o
-endif
-
-ifneq ($(CONFIG_SND_PXA2xx_SOC_CORGI),n)
-obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-corgi.o
-endif
+# PXA Machine Support
+snd-soc-corgi-objs := corgi.o
+snd-soc-mainstone-objs := mainstone.o
+snd-soc-mainstone-test-objs := mainstone.o
+snd-soc-tosa-objs := tosa.o
+snd-soc-spitz-objs := spitz.o
 
-ifneq ($(CONFIG_SND_PXA2xx_SOC_SPITZ),n)
-obj-$(CONFIG_SND_PXA2xx_SOC) += snd-soc-spitz.o
-endif
\ No newline at end of file
+obj-$(CONFIG_SND_PXA2xx_SOC_CORGI) += snd-soc-corgi.o
+obj-$(CONFIG_SND_PXA2xx_MAINSTONE) += snd-soc-mainstone.o
+obj-$(CONFIG_SND_PXA2xx_MAINSTONE_TEST) += snd-soc-mainstone.o
+obj-$(CONFIG_SND_PXA2xx_SOC_TOSA) += snd-soc-tosa.o
+obj-$(CONFIG_SND_PXA2xx_SOC_SPITZ) += snd-soc-spitz.o
diff --git a/sound/soc/pxa/mainstone_wm8753.c b/sound/soc/pxa/mainstone_wm8753.c
index 8161842..7b9372b 100644
--- a/sound/soc/pxa/mainstone_wm8753.c
+++ b/sound/soc/pxa/mainstone_wm8753.c
@@ -127,6 +127,8 @@ static int mainstone_wm8753_init(struct 
 {
 	int i, err;
 	
+	codec->longname = "Mainstone Audio Codec";
+		
 	/* set up mainstone codec pins */
 	snd_soc_dpm_set_connection(codec, "RXP", 0);
 	snd_soc_dpm_set_connection(codec, "RXN", 0);

