snd_sonicvibes_out
snd_sonicvibes_out(sonic, SV_IREG_DRIVE_CTRL, 0); /* drive current 16mA */
snd_sonicvibes_out(sonic, SV_IREG_DRIVE_CTRL, 0x40); /* drive current 8mA */
snd_sonicvibes_out(sonic, SV_IREG_PC_ENABLE, sonic->enable = 0); /* disable playback & capture */
snd_sonicvibes_out(sonic, SV_IREG_ADC_CLOCK, 0); /* use PLL as clock source */
snd_sonicvibes_out(sonic, SV_IREG_ANALOG_POWER, 0); /* power up analog parts */
snd_sonicvibes_out(sonic, SV_IREG_DIGITAL_POWER, 0); /* power up digital parts */
snd_sonicvibes_out(sonic, SV_IREG_SRS_SPACE, sonic->srs_space = 0x80); /* SRS space off */
snd_sonicvibes_out(sonic, SV_IREG_SRS_CENTER, sonic->srs_center = 0x00);/* SRS center off */
snd_sonicvibes_out(sonic, SV_IREG_MPU401, sonic->mpu_switch = 0x05); /* MPU-401 switch */
snd_sonicvibes_out(sonic, SV_IREG_WAVE_SOURCE, sonic->wave_source = 0x00); /* onboard ROM */
snd_sonicvibes_out(sonic, SV_IREG_PCM_RATE_LOW, (8000 * 65536 / SV_FULLRATE) & 0xff);
snd_sonicvibes_out(sonic, SV_IREG_PCM_RATE_HIGH, ((8000 * 65536 / SV_FULLRATE) >> 8) & 0xff);
snd_sonicvibes_out(sonic, SV_IREG_LEFT_ADC, mge ? 0xd0 : 0xc0);
snd_sonicvibes_out(sonic, SV_IREG_RIGHT_ADC, 0xc0);
snd_sonicvibes_out(sonic, SV_IREG_LEFT_AUX1, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_RIGHT_AUX1, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_LEFT_CD, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_RIGHT_CD, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_LEFT_LINE, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_RIGHT_LINE, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_MIC, 0x8f);
snd_sonicvibes_out(sonic, SV_IREG_LEFT_SYNTH, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_RIGHT_SYNTH, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_LEFT_AUX2, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_RIGHT_AUX2, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_LEFT_ANALOG, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_RIGHT_ANALOG, 0x9f);
snd_sonicvibes_out(sonic, SV_IREG_LEFT_PCM, 0xbf);
snd_sonicvibes_out(sonic, SV_IREG_RIGHT_PCM, 0xbf);
snd_sonicvibes_out(sonic, SV_IREG_ADC_OUTPUT_CTRL, 0xfc);