From 18f3c59f2b14225bd23c41a87a5eec39439bc8b9 Mon Sep 17 00:00:00 2001
From: James Courtier-Dutton <James@superbug.co.uk>
Date: Wed, 21 Dec 2005 22:05:29 +0100
Subject: [PATCH] [ALSA] snd-emu10k1: Tidy SPI code.

Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
---
 sound/pci/emu10k1/emu10k1_main.c | 52 ++++++++++++++++++--------------
 1 file changed, 30 insertions(+), 22 deletions(-)

diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
index e3a14068115..615460f5513 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
@@ -92,6 +92,30 @@ void snd_emu10k1_voice_init(struct snd_emu10k1 * emu, int ch)
 	}
 }
 
+static unsigned int spi_dac_init[] = {
+		0x00ff,
+		0x02ff,
+		0x0400,
+		0x0520,
+		0x0600,
+		0x08ff,
+		0x0aff,
+		0x0cff,
+		0x0eff,
+		0x10ff,
+		0x1200,
+		0x1400,
+		0x1480,
+		0x1800,
+		0x1aff,
+		0x1cff,
+		0x1e00,
+		0x0530,
+		0x0602,
+		0x0622,
+		0x1400,
+};
+	
 static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir, int resume)
 {
 	unsigned int silent_page;
@@ -182,28 +206,12 @@ static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir, int resume)
 		outl(tmp, emu->port + A_IOCFG);
 	}
 	if (emu->card_capabilities->spi_dac) { /* Audigy 2 ZS Notebook with DAC Wolfson WM8768/WM8568 */
-		u32 tmp;
-		tmp = snd_emu10k1_spi_write(emu, 0x00ff);
-		tmp = snd_emu10k1_spi_write(emu, 0x02ff);
-		tmp = snd_emu10k1_spi_write(emu, 0x0400);
-		tmp = snd_emu10k1_spi_write(emu, 0x0520);
-		tmp = snd_emu10k1_spi_write(emu, 0x0600);
-		tmp = snd_emu10k1_spi_write(emu, 0x08ff);
-		tmp = snd_emu10k1_spi_write(emu, 0x0aff);
-		tmp = snd_emu10k1_spi_write(emu, 0x0cff);
-		tmp = snd_emu10k1_spi_write(emu, 0x0eff);
-		tmp = snd_emu10k1_spi_write(emu, 0x10ff);
-		tmp = snd_emu10k1_spi_write(emu, 0x1200);
-		tmp = snd_emu10k1_spi_write(emu, 0x1400);
-		tmp = snd_emu10k1_spi_write(emu, 0x1480);
-		tmp = snd_emu10k1_spi_write(emu, 0x1800);
-		tmp = snd_emu10k1_spi_write(emu, 0x1aff);
-		tmp = snd_emu10k1_spi_write(emu, 0x1cff);
-		tmp = snd_emu10k1_spi_write(emu, 0x1e00);
-		tmp = snd_emu10k1_spi_write(emu, 0x0530);
-		tmp = snd_emu10k1_spi_write(emu, 0x0602);
-		tmp = snd_emu10k1_spi_write(emu, 0x0622);
-		tmp = snd_emu10k1_spi_write(emu, 0x1400);
+		int size, n;
+
+		size = ARRAY_SIZE(spi_dac_init);
+		for (n=0; n < size; n++)
+			snd_emu10k1_spi_write(emu, spi_dac_init[n]);
+
 		snd_emu10k1_ptr20_write(emu, 0x60, 0, 0x10);
 		/* Enable GPIOs
 		 * GPIO0: Unknown
-- 
2.41.3