tristate
         select SND_PCM
 
-config SND_CS4231_LIB
+config SND_WSS_LIB
         tristate
         select SND_PCM
 
        select ISAPNP
        select SND_OPL3_LIB
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for soundcards based on the
          Aztech Systems AZT2320 chip.
 config SND_CS4231
        tristate "Generic Cirrus Logic CS4231 driver"
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for CS4231 chips from Cirrus
          Logic - Crystal Semiconductors.
        tristate "Generic Cirrus Logic CS4232 driver"
        select SND_OPL3_LIB
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for CS4232 chips from Cirrus
          Logic - Crystal Semiconductors.
        tristate "Generic Cirrus Logic CS4236+ driver"
        select SND_OPL3_LIB
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y to include support for CS4235,CS4236,CS4237B,CS4238B,
          CS4239 chips from Cirrus Logic - Crystal Semiconductors.
 config SND_GUSMAX
        tristate "Gravis UltraSound MAX"
        select SND_RAWMIDI
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for Gravis UltraSound MAX
          soundcards.
        tristate "AMD InterWave, Gravis UltraSound PnP"
        depends on PNP
        select SND_RAWMIDI
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for AMD InterWave based
          soundcards (Gravis UltraSound Plug & Play, STB SoundRage32,
        tristate "AMD InterWave + TEA6330T (UltraSound 32-Pro)"
        depends on PNP
        select SND_RAWMIDI
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for AMD InterWave based
          soundcards with a TEA6330T bass and treble regulator
        tristate "Yamaha OPL3-SA2/SA3"
        select SND_OPL3_LIB
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for Yamaha OPL3-SA2 and OPL3-SA3
          chips.
        select SND_OPL3_LIB
        select SND_OPL4_LIB
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for soundcards based on Opti
          82C92x chips and using a CS4231 codec.
        tristate "OPTi 82C93x"
        select SND_OPL3_LIB
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for soundcards based on Opti
          82C93x chips.
 config SND_MIRO
        tristate "Miro miroSOUND PCM1pro/PCM12/PCM20radio driver"
        select SND_OPL4_LIB
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        select SND_MPU401_UART
        select SND_PCM
        help
        tristate "Ensoniq SoundScape PnP driver"
        select SND_HWDEP
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for Ensoniq SoundScape PnP
          soundcards.
        select FW_LOADER
        select SND_OPL3_LIB
        select SND_MPU401_UART
-       select SND_CS4231_LIB
+       select SND_WSS_LIB
        help
          Say Y here to include support for Turtle Beach Maui, Tropez
          and Tropez+ soundcards based on the Wavefront chip.
 
  *  Routines for control of CS4231(A)/CS4232/InterWave & compatible chips
  *
  *  Bugs:
- *     - sometimes record brokes playback with WSS portion of 
+ *     - sometimes record brokes playback with WSS portion of
  *       Yamaha OPL3-SA3 chip
  *     - CS4231 (GUS MAX) - still trouble with occasional noises
  *                        - broken initialization?
        for (timeout = 250;
             timeout > 0 && (cs4231_inb(chip, CS4231P(REGSEL)) & CS4231_INIT);
             timeout--)
-               udelay(100);
+               udelay(100);
 }
 
 static void snd_cs4231_outm(struct snd_cs4231 *chip, unsigned char reg,
        for (timeout = 250;
             timeout > 0 && (cs4231_inb(chip, CS4231P(REGSEL)) & CS4231_INIT);
             timeout--)
-               udelay(10);
+               udelay(10);
        cs4231_outb(chip, CS4231P(REGSEL), chip->mce_bit | reg);
        cs4231_outb(chip, CS4231P(REG), value);
        mb();
        for (timeout = 250;
             timeout > 0 && (cs4231_inb(chip, CS4231P(REGSEL)) & CS4231_INIT);
             timeout--)
-               udelay(10);
+               udelay(10);
 }
 
 void snd_cs4231_mce_up(struct snd_cs4231 *chip)
        snd_cs4231_dout(chip, CS4231_MONO_CTRL, mute ? 0xc0 : chip->image[CS4231_MONO_CTRL]);
        if (chip->hardware == CS4231_HW_INTERWAVE) {
                snd_cs4231_dout(chip, CS4231_LEFT_MIC_INPUT, mute ? 0x80 : chip->image[CS4231_LEFT_MIC_INPUT]);
-               snd_cs4231_dout(chip, CS4231_RIGHT_MIC_INPUT, mute ? 0x80 : chip->image[CS4231_RIGHT_MIC_INPUT]);               
+               snd_cs4231_dout(chip, CS4231_RIGHT_MIC_INPUT, mute ? 0x80 : chip->image[CS4231_RIGHT_MIC_INPUT]);
                snd_cs4231_dout(chip, CS4231_LINE_LEFT_OUTPUT, mute ? 0x80 : chip->image[CS4231_LINE_LEFT_OUTPUT]);
                snd_cs4231_dout(chip, CS4231_LINE_RIGHT_OUTPUT, mute ? 0x80 : chip->image[CS4231_LINE_RIGHT_OUTPUT]);
        }
        if (status & CS4231_TIMER_IRQ) {
                if (chip->timer)
                        snd_timer_interrupt(chip->timer, chip->timer->sticks);
-       }               
+       }
        if (chip->single_dma && chip->hardware != CS4231_HW_INTERWAVE) {
                if (status & CS4231_PLAYBACK_IRQ) {
                        if (chip->mode & CS4231_MODE_PLAY) {
 {
        struct snd_cs4231 *chip = snd_pcm_substream_chip(substream);
        size_t ptr;
-       
+
        if (!(chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE))
                return 0;
        ptr = snd_dma_pointer(chip->dma2, chip->c_dma_size);
 
        /* hardware bug in InterWave chipset */
        if (chip->hardware == CS4231_HW_INTERWAVE && chip->dma1 > 3)
-               runtime->hw.formats &= ~SNDRV_PCM_FMTBIT_MU_LAW;
-       
+               runtime->hw.formats &= ~SNDRV_PCM_FMTBIT_MU_LAW;
+
        /* hardware limitation of cheap chips */
        if (chip->hardware == CS4231_HW_CS4235 ||
            chip->hardware == CS4231_HW_CS4239)
 {
        int reg;
        unsigned long flags;
-       
+
        snd_pcm_suspend_all(chip->pcm);
        spin_lock_irqsave(&chip->reg_lock, flags);
        for (reg = 0; reg < 32; reg++)
        int reg;
        unsigned long flags;
        /* int timeout; */
-       
+
        snd_cs4231_mce_up(chip);
        spin_lock_irqsave(&chip->reg_lock, flags);
        for (reg = 0; reg < 32; reg++) {
 static int snd_cs4231_dev_free(struct snd_device *device)
 {
        struct snd_cs4231 *chip = device->device_data;
-       return snd_cs4231_free(chip);   
+       return snd_cs4231_free(chip);
 }
 
 const char *snd_cs4231_chip_id(struct snd_cs4231 *chip)
        err = snd_cs4231_new(card, hardware, hwshare, &chip);
        if (err < 0)
                return err;
-       
+
        chip->irq = -1;
        chip->dma1 = -1;
        chip->dma2 = -1;
 
        snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_cs4231_playback_ops);
        snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cs4231_capture_ops);
-       
+
        /* global setup */
        pcm->private_data = chip;
        pcm->info_flags = 0;
                *rtimer = timer;
        return 0;
 }
-       
+
 /*
  *  MIXER part
  */
 {
        struct snd_cs4231 *chip = snd_kcontrol_chip(kcontrol);
        unsigned long flags;
-       
+
        spin_lock_irqsave(&chip->reg_lock, flags);
        ucontrol->value.enumerated.item[0] = (chip->image[CS4231_LEFT_INPUT] & CS4231_MIXS_ALL) >> 6;
        ucontrol->value.enumerated.item[1] = (chip->image[CS4231_RIGHT_INPUT] & CS4231_MIXS_ALL) >> 6;
        unsigned long flags;
        unsigned short left, right;
        int change;
-       
+
        if (ucontrol->value.enumerated.item[0] > 3 ||
            ucontrol->value.enumerated.item[1] > 3)
                return -EINVAL;
        int shift = (kcontrol->private_value >> 8) & 0xff;
        int mask = (kcontrol->private_value >> 16) & 0xff;
        int invert = (kcontrol->private_value >> 24) & 0xff;
-       
+
        spin_lock_irqsave(&chip->reg_lock, flags);
        ucontrol->value.integer.value[0] = (chip->image[reg] >> shift) & mask;
        spin_unlock_irqrestore(&chip->reg_lock, flags);
        int invert = (kcontrol->private_value >> 24) & 0xff;
        int change;
        unsigned short val;
-       
+
        val = (ucontrol->value.integer.value[0] & mask);
        if (invert)
                val = mask - val;
        int shift_right = (kcontrol->private_value >> 19) & 0x07;
        int mask = (kcontrol->private_value >> 24) & 0xff;
        int invert = (kcontrol->private_value >> 22) & 1;
-       
+
        spin_lock_irqsave(&chip->reg_lock, flags);
        ucontrol->value.integer.value[0] = (chip->image[left_reg] >> shift_left) & mask;
        ucontrol->value.integer.value[1] = (chip->image[right_reg] >> shift_right) & mask;
        int invert = (kcontrol->private_value >> 22) & 1;
        int change;
        unsigned short val1, val2;
-       
+
        val1 = ucontrol->value.integer.value[0] & mask;
        val2 = ucontrol->value.integer.value[1] & mask;
        if (invert) {
 CS4231_SINGLE("Loopback Capture Switch", 0, CS4231_LOOPBACK, 0, 1, 0),
 CS4231_SINGLE("Loopback Capture Volume", 0, CS4231_LOOPBACK, 2, 63, 1)
 };
-                                        
+
 static struct snd_kcontrol_new snd_opti93x_controls[] = {
 CS4231_DOUBLE("Master Playback Switch", 0,
              OPTi93X_OUT_LEFT, OPTi93X_OUT_RIGHT, 7, 7, 1, 1),