[ALSA] snd-emu10k1: Tidy SPI code.
authorJames Courtier-Dutton <James@superbug.co.uk>
Wed, 21 Dec 2005 21:05:29 +0000 (22:05 +0100)
committerJaroslav Kysela <perex@suse.cz>
Tue, 3 Jan 2006 11:31:07 +0000 (12:31 +0100)
Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
sound/pci/emu10k1/emu10k1_main.c

index e3a14068115cf3a1e60581c62932987a5471506f..615460f551387a12ec5f6720ea4354669ed93a2e 100644 (file)
@@ -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