mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 05:26:07 +00:00
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: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
35643943be
commit
16c7bcadff
@ -424,6 +424,7 @@ EXPORT_SYMBOL_GPL(em28xx_audio_analog_set);
|
||||
int em28xx_audio_setup(struct em28xx *dev)
|
||||
{
|
||||
int vid1, vid2, feat, cfg;
|
||||
u32 vid;
|
||||
|
||||
if (dev->chip_id == CHIP_ID_EM2874) {
|
||||
/* Digital only device - don't load any alsa module */
|
||||
@ -475,9 +476,10 @@ int em28xx_audio_setup(struct em28xx *dev)
|
||||
if (vid2 < 0)
|
||||
goto init_audio;
|
||||
|
||||
dev->audio_mode.ac97_vendor_id1 = vid1;
|
||||
dev->audio_mode.ac97_vendor_id2 = vid2;
|
||||
em28xx_warn("AC97 vendor ID = %04x:%04x\n", vid1, vid2);
|
||||
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)
|
||||
@ -486,7 +488,8 @@ int em28xx_audio_setup(struct em28xx *dev)
|
||||
dev->audio_mode.ac97_feat = 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;
|
||||
|
||||
init_audio:
|
||||
|
@ -266,8 +266,7 @@ struct em28xx_audio_mode {
|
||||
enum em28xx_ac97_mode ac97;
|
||||
|
||||
u16 ac97_feat;
|
||||
u16 ac97_vendor_id1;
|
||||
u16 ac97_vendor_id2;
|
||||
u32 ac97_vendor_id;
|
||||
|
||||
unsigned int has_audio:1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user