diff options
-rw-r--r-- | include/sound/ac97_codec.h | 3 | ||||
-rw-r--r-- | sound/pci/ac97/ac97_codec.c | 8 |
2 files changed, 0 insertions, 11 deletions
diff --git a/include/sound/ac97_codec.h b/include/sound/ac97_codec.h index dee766c17e9c..b45a73712748 100644 --- a/include/sound/ac97_codec.h +++ b/include/sound/ac97_codec.h | |||
@@ -446,8 +446,6 @@ struct snd_ac97_template { | |||
446 | unsigned short num; /* number of codec: 0 = primary, 1 = secondary */ | 446 | unsigned short num; /* number of codec: 0 = primary, 1 = secondary */ |
447 | unsigned short addr; /* physical address of codec [0-3] */ | 447 | unsigned short addr; /* physical address of codec [0-3] */ |
448 | unsigned int scaps; /* driver capabilities */ | 448 | unsigned int scaps; /* driver capabilities */ |
449 | unsigned int limited_regs; /* allow limited registers only */ | ||
450 | DECLARE_BITMAP(reg_accessed, 0x80); /* bit flags */ | ||
451 | const struct snd_ac97_res_table *res_table; /* static resolution */ | 449 | const struct snd_ac97_res_table *res_table; /* static resolution */ |
452 | }; | 450 | }; |
453 | 451 | ||
@@ -477,7 +475,6 @@ struct snd_ac97 { | |||
477 | unsigned int rates[6]; /* see AC97_RATES_* defines */ | 475 | unsigned int rates[6]; /* see AC97_RATES_* defines */ |
478 | unsigned int spdif_status; | 476 | unsigned int spdif_status; |
479 | unsigned short regs[0x80]; /* register cache */ | 477 | unsigned short regs[0x80]; /* register cache */ |
480 | unsigned int limited_regs; /* allow limited registers only */ | ||
481 | DECLARE_BITMAP(reg_accessed, 0x80); /* bit flags */ | 478 | DECLARE_BITMAP(reg_accessed, 0x80); /* bit flags */ |
482 | union { /* vendor specific code */ | 479 | union { /* vendor specific code */ |
483 | struct { | 480 | struct { |
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index c5bbdcbf5422..278319bbdea1 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c | |||
@@ -192,9 +192,6 @@ static const struct ac97_codec_id snd_ac97_codec_ids[] = { | |||
192 | 192 | ||
193 | static int snd_ac97_valid_reg(struct snd_ac97 *ac97, unsigned short reg) | 193 | static int snd_ac97_valid_reg(struct snd_ac97 *ac97, unsigned short reg) |
194 | { | 194 | { |
195 | if (ac97->limited_regs && ! test_bit(reg, ac97->reg_accessed)) | ||
196 | return 0; | ||
197 | |||
198 | /* filter some registers for buggy codecs */ | 195 | /* filter some registers for buggy codecs */ |
199 | switch (ac97->id) { | 196 | switch (ac97->id) { |
200 | case AC97_ID_AK4540: | 197 | case AC97_ID_AK4540: |
@@ -1008,9 +1005,6 @@ static int snd_ac97_try_volume_mix(struct snd_ac97 * ac97, int reg) | |||
1008 | break; | 1005 | break; |
1009 | } | 1006 | } |
1010 | 1007 | ||
1011 | if (ac97->limited_regs && test_bit(reg, ac97->reg_accessed)) | ||
1012 | return 1; /* allow without check */ | ||
1013 | |||
1014 | val = snd_ac97_read(ac97, reg); | 1008 | val = snd_ac97_read(ac97, reg); |
1015 | if (!(val & mask)) { | 1009 | if (!(val & mask)) { |
1016 | /* nothing seems to be here - mute flag is not set */ | 1010 | /* nothing seems to be here - mute flag is not set */ |
@@ -1866,8 +1860,6 @@ int snd_ac97_mixer(struct snd_ac97_bus *bus, struct snd_ac97_template *template, | |||
1866 | ac97->num = template->num; | 1860 | ac97->num = template->num; |
1867 | ac97->addr = template->addr; | 1861 | ac97->addr = template->addr; |
1868 | ac97->scaps = template->scaps; | 1862 | ac97->scaps = template->scaps; |
1869 | ac97->limited_regs = template->limited_regs; | ||
1870 | memcpy(ac97->reg_accessed, template->reg_accessed, sizeof(ac97->reg_accessed)); | ||
1871 | ac97->res_table = template->res_table; | 1863 | ac97->res_table = template->res_table; |
1872 | bus->codec[ac97->num] = ac97; | 1864 | bus->codec[ac97->num] = ac97; |
1873 | mutex_init(&ac97->reg_mutex); | 1865 | mutex_init(&ac97->reg_mutex); |