Commit 16c7bcad authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (9652): em28xx: merge AC97 vendor id's into a single var

This makes easier to identify vendor ID, since AC97 vendors are
generally identified by 3 bytes. The remaining byte is used by the
vendor to identify its devices.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 35643943
...@@ -424,6 +424,7 @@ EXPORT_SYMBOL_GPL(em28xx_audio_analog_set); ...@@ -424,6 +424,7 @@ EXPORT_SYMBOL_GPL(em28xx_audio_analog_set);
int em28xx_audio_setup(struct em28xx *dev) int em28xx_audio_setup(struct em28xx *dev)
{ {
int vid1, vid2, feat, cfg; int vid1, vid2, feat, cfg;
u32 vid;
if (dev->chip_id == CHIP_ID_EM2874) { if (dev->chip_id == CHIP_ID_EM2874) {
/* Digital only device - don't load any alsa module */ /* Digital only device - don't load any alsa module */
...@@ -475,9 +476,10 @@ int em28xx_audio_setup(struct em28xx *dev) ...@@ -475,9 +476,10 @@ int em28xx_audio_setup(struct em28xx *dev)
if (vid2 < 0) if (vid2 < 0)
goto init_audio; goto init_audio;
dev->audio_mode.ac97_vendor_id1 = vid1; vid = vid1 << 16 | vid2;
dev->audio_mode.ac97_vendor_id2 = vid2;
em28xx_warn("AC97 vendor ID = %04x:%04x\n", vid1, vid2); dev->audio_mode.ac97_vendor_id = vid;
em28xx_warn("AC97 vendor ID = 0x%08x\n", vid);
feat = em28xx_read_ac97(dev, AC97_RESET); feat = em28xx_read_ac97(dev, AC97_RESET);
if (feat < 0) if (feat < 0)
...@@ -486,7 +488,8 @@ int em28xx_audio_setup(struct em28xx *dev) ...@@ -486,7 +488,8 @@ int em28xx_audio_setup(struct em28xx *dev)
dev->audio_mode.ac97_feat = feat; dev->audio_mode.ac97_feat = feat;
em28xx_warn("AC97 features = 0x%04x\n", feat); em28xx_warn("AC97 features = 0x%04x\n", feat);
if ((vid1 == 0xffff) && (vid2 == 0xffff) && (feat == 0x6a90)) /* Try to identify what audio processor we have */
if ((vid == 0xffffffff) && (feat == 0x6a90))
dev->audio_mode.ac97 = EM28XX_AC97_EM202; dev->audio_mode.ac97 = EM28XX_AC97_EM202;
init_audio: init_audio:
......
...@@ -266,8 +266,7 @@ struct em28xx_audio_mode { ...@@ -266,8 +266,7 @@ struct em28xx_audio_mode {
enum em28xx_ac97_mode ac97; enum em28xx_ac97_mode ac97;
u16 ac97_feat; u16 ac97_feat;
u16 ac97_vendor_id1; u32 ac97_vendor_id;
u16 ac97_vendor_id2;
unsigned int has_audio:1; unsigned int has_audio:1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment