ALSA: ice1712: Use bitrev8
authorAkinobu Mita <akinobu.mita@gmail.com>
Fri, 13 Nov 2009 07:02:56 +0000 (16:02 +0900)
committerTakashi Iwai <tiwai@suse.de>
Fri, 13 Nov 2009 07:30:22 +0000 (08:30 +0100)
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/i2c/cs8427.c
sound/pci/Kconfig

index 020a5d5..04ae870 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/slab.h>
 #include <linux/delay.h>
 #include <linux/init.h>
+#include <linux/bitrev.h>
 #include <asm/unaligned.h>
 #include <sound/core.h>
 #include <sound/control.h>
@@ -55,18 +56,6 @@ struct cs8427 {
        struct cs8427_stream capture;
 };
 
-static unsigned char swapbits(unsigned char val)
-{
-       int bit;
-       unsigned char res = 0;
-       for (bit = 0; bit < 8; bit++) {
-               res <<= 1;
-               res |= val & 1;
-               val >>= 1;
-       }
-       return res;
-}
-
 int snd_cs8427_reg_write(struct snd_i2c_device *device, unsigned char reg,
                         unsigned char val)
 {
@@ -149,7 +138,7 @@ static int snd_cs8427_send_corudata(struct snd_i2c_device *device,
        }
        data[0] = CS8427_REG_AUTOINC | CS8427_REG_CORU_DATABUF;
        for (idx = 0; idx < count; idx++)
-               data[idx + 1] = swapbits(ndata[idx]);
+               data[idx + 1] = bitrev8(ndata[idx]);
        if (snd_i2c_sendbytes(device, data, count + 1) != count + 1)
                return -EIO;
        return 1;
index 75c602b..351654c 100644 (file)
@@ -570,6 +570,7 @@ config SND_ICE1712
        tristate "ICEnsemble ICE1712 (Envy24)"
        select SND_MPU401_UART
        select SND_AC97_CODEC
+       select BITREVERSE
        help
          Say Y here to include support for soundcards based on the
          ICE1712 (Envy24) chip.