sound: virtuoso: add Xonar DS support
[safe/jmp/linux-2.6] / sound / pci / echoaudio / indigodj_dsp.c
index 500e150..0839291 100644 (file)
@@ -39,7 +39,8 @@ static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id)
        int err;
 
        DE_INIT(("init_hw() - Indigo DJ\n"));
-       snd_assert((subdevice_id & 0xfff0) == INDIGO_DJ, return -ENODEV);
+       if (snd_BUG_ON((subdevice_id & 0xfff0) != INDIGO_DJ))
+               return -ENODEV;
 
        if ((err = init_dsp_comm_page(chip))) {
                DE_INIT(("init_hw - could not initialize DSP comm page\n"));
@@ -62,18 +63,6 @@ static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id)
        if ((err = init_line_levels(chip)) < 0)
                return err;
 
-       /* Default routing of the virtual channels: vchannels 0-3 and
-       vchannels 4-7 are routed to real channels 0-4 */
-       set_vmixer_gain(chip, 0, 0, 0);
-       set_vmixer_gain(chip, 1, 1, 0);
-       set_vmixer_gain(chip, 2, 2, 0);
-       set_vmixer_gain(chip, 3, 3, 0);
-       set_vmixer_gain(chip, 0, 4, 0);
-       set_vmixer_gain(chip, 1, 5, 0);
-       set_vmixer_gain(chip, 2, 6, 0);
-       set_vmixer_gain(chip, 3, 7, 0);
-       err = update_vmixer_level(chip);
-
        DE_INIT(("init_hw done\n"));
        return err;
 }
@@ -143,8 +132,9 @@ static int set_vmixer_gain(struct echoaudio *chip, u16 output, u16 pipe,
 {
        int index;
 
-       snd_assert(pipe < num_pipes_out(chip) &&
-                  output < num_busses_out(chip), return -EINVAL);
+       if (snd_BUG_ON(pipe >= num_pipes_out(chip) ||
+                      output >= num_busses_out(chip)))
+               return -EINVAL;
 
        if (wait_handshake(chip))
                return -EIO;