aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/via82xx_modem.c
diff options
context:
space:
mode:
authorAuke Kok <auke-jan.h.kok@intel.com>2007-06-08 18:46:36 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-07-11 19:02:10 -0400
commit44c10138fd4bbc4b6d6bff0873c24902f2a9da65 (patch)
tree6e16d3ec80c87490dc743f72da086356f2906ace /sound/pci/via82xx_modem.c
parentb8a3a5214d7cc115f1ca3a3967b7229d97c46f4a (diff)
PCI: Change all drivers to use pci_device->revision
Instead of all drivers reading pci config space to get the revision ID, they can now use the pci_device->revision member. This exposes some issues where drivers where reading a word or a dword for the revision number, and adding useless error-handling around the read. Some drivers even just read it for no purpose of all. In devices where the revision ID is being copied over and used in what appears to be the equivalent of hotpath, I have left the copy code and the cached copy as not to influence the driver's performance. Compile tested with make all{yes,mod}config on x86_64 and i386. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Acked-by: Dave Jones <davej@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'sound/pci/via82xx_modem.c')
-rw-r--r--sound/pci/via82xx_modem.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sound/pci/via82xx_modem.c b/sound/pci/via82xx_modem.c
index b338e15db0d9..8cbf8eba4ae9 100644
--- a/sound/pci/via82xx_modem.c
+++ b/sound/pci/via82xx_modem.c
@@ -1162,7 +1162,6 @@ static int __devinit snd_via82xx_probe(struct pci_dev *pci,
1162{ 1162{
1163 struct snd_card *card; 1163 struct snd_card *card;
1164 struct via82xx_modem *chip; 1164 struct via82xx_modem *chip;
1165 unsigned char revision;
1166 int chip_type = 0, card_type; 1165 int chip_type = 0, card_type;
1167 unsigned int i; 1166 unsigned int i;
1168 int err; 1167 int err;
@@ -1172,7 +1171,6 @@ static int __devinit snd_via82xx_probe(struct pci_dev *pci,
1172 return -ENOMEM; 1171 return -ENOMEM;
1173 1172
1174 card_type = pci_id->driver_data; 1173 card_type = pci_id->driver_data;
1175 pci_read_config_byte(pci, PCI_REVISION_ID, &revision);
1176 switch (card_type) { 1174 switch (card_type) {
1177 case TYPE_CARD_VIA82XX_MODEM: 1175 case TYPE_CARD_VIA82XX_MODEM:
1178 strcpy(card->driver, "VIA82XX-MODEM"); 1176 strcpy(card->driver, "VIA82XX-MODEM");
@@ -1184,7 +1182,7 @@ static int __devinit snd_via82xx_probe(struct pci_dev *pci,
1184 goto __error; 1182 goto __error;
1185 } 1183 }
1186 1184
1187 if ((err = snd_via82xx_create(card, pci, chip_type, revision, 1185 if ((err = snd_via82xx_create(card, pci, chip_type, pci->revision,
1188 ac97_clock, &chip)) < 0) 1186 ac97_clock, &chip)) < 0)
1189 goto __error; 1187 goto __error;
1190 card->private_data = chip; 1188 card->private_data = chip;