|
@@ -97,20 +97,6 @@ static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id)
|
|
|
chip->digital_modes = ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_RCA |
|
|
|
ECHOCAPS_HAS_DIGITAL_MODE_SPDIF_OPTICAL |
|
|
|
ECHOCAPS_HAS_DIGITAL_MODE_ADAT;
|
|
|
- chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
|
|
|
- chip->professional_spdif = FALSE;
|
|
|
- chip->non_audio_spdif = FALSE;
|
|
|
- chip->bad_board = FALSE;
|
|
|
-
|
|
|
- if ((err = init_line_levels(chip)) < 0)
|
|
|
- return err;
|
|
|
- err = set_digital_mode(chip, DIGITAL_MODE_SPDIF_RCA);
|
|
|
- if (err < 0)
|
|
|
- return err;
|
|
|
- err = set_phantom_power(chip, 0);
|
|
|
- if (err < 0)
|
|
|
- return err;
|
|
|
- err = set_professional_spdif(chip, TRUE);
|
|
|
|
|
|
DE_INIT(("init_hw done\n"));
|
|
|
return err;
|
|
@@ -118,6 +104,18 @@ static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id)
|
|
|
|
|
|
|
|
|
|
|
|
+static int set_mixer_defaults(struct echoaudio *chip)
|
|
|
+{
|
|
|
+ chip->digital_mode = DIGITAL_MODE_SPDIF_RCA;
|
|
|
+ chip->professional_spdif = FALSE;
|
|
|
+ chip->non_audio_spdif = FALSE;
|
|
|
+ chip->bad_board = FALSE;
|
|
|
+ chip->phantom_power = FALSE;
|
|
|
+ return init_line_levels(chip);
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static int set_phantom_power(struct echoaudio *chip, char on)
|
|
|
{
|
|
|
u32 control_reg = le32_to_cpu(chip->comm_page->control_register);
|