|
@@ -505,6 +505,7 @@ int em28xx_audio_setup(struct em28xx *dev)
|
|
|
{
|
|
|
int vid1, vid2, feat, cfg;
|
|
|
u32 vid;
|
|
|
+ u8 i2s_samplerates;
|
|
|
|
|
|
if (dev->chip_id == CHIP_ID_EM2870 ||
|
|
|
dev->chip_id == CHIP_ID_EM2874 ||
|
|
@@ -534,15 +535,15 @@ int em28xx_audio_setup(struct em28xx *dev)
|
|
|
if (dev->chip_id < CHIP_ID_EM2860 &&
|
|
|
(cfg & EM28XX_CHIPCFG_AUDIOMASK) ==
|
|
|
EM2820_CHIPCFG_I2S_1_SAMPRATE)
|
|
|
- dev->audio_mode.i2s_samplerates = 1;
|
|
|
+ i2s_samplerates = 1;
|
|
|
else if (dev->chip_id >= CHIP_ID_EM2860 &&
|
|
|
(cfg & EM28XX_CHIPCFG_AUDIOMASK) ==
|
|
|
EM2860_CHIPCFG_I2S_5_SAMPRATES)
|
|
|
- dev->audio_mode.i2s_samplerates = 5;
|
|
|
+ i2s_samplerates = 5;
|
|
|
else
|
|
|
- dev->audio_mode.i2s_samplerates = 3;
|
|
|
+ i2s_samplerates = 3;
|
|
|
em28xx_info("I2S Audio (%d sample rate(s))\n",
|
|
|
- dev->audio_mode.i2s_samplerates);
|
|
|
+ i2s_samplerates);
|
|
|
/* Skip the code that does AC97 vendor detection */
|
|
|
dev->audio_mode.ac97 = EM28XX_NO_AC97;
|
|
|
goto init_audio;
|
|
@@ -569,15 +570,12 @@ int em28xx_audio_setup(struct em28xx *dev)
|
|
|
goto init_audio;
|
|
|
|
|
|
vid = vid1 << 16 | vid2;
|
|
|
-
|
|
|
- dev->audio_mode.ac97_vendor_id = vid;
|
|
|
em28xx_warn("AC97 vendor ID = 0x%08x\n", vid);
|
|
|
|
|
|
feat = em28xx_read_ac97(dev, AC97_RESET);
|
|
|
if (feat < 0)
|
|
|
goto init_audio;
|
|
|
|
|
|
- dev->audio_mode.ac97_feat = feat;
|
|
|
em28xx_warn("AC97 features = 0x%04x\n", feat);
|
|
|
|
|
|
/* Try to identify what audio processor we have */
|
|
@@ -596,8 +594,8 @@ init_audio:
|
|
|
em28xx_info("Empia 202 AC97 audio processor detected\n");
|
|
|
break;
|
|
|
case EM28XX_AC97_SIGMATEL:
|
|
|
- em28xx_info("Sigmatel audio processor detected(stac 97%02x)\n",
|
|
|
- dev->audio_mode.ac97_vendor_id & 0xff);
|
|
|
+ em28xx_info("Sigmatel audio processor detected (stac 97%02x)\n",
|
|
|
+ vid & 0xff);
|
|
|
break;
|
|
|
case EM28XX_AC97_OTHER:
|
|
|
em28xx_warn("Unknown AC97 audio processor detected!\n");
|