aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/atm/zatm.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 /drivers/atm/zatm.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 'drivers/atm/zatm.c')
-rw-r--r--drivers/atm/zatm.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c
index 2ad2527cf5b3..020a87a476c8 100644
--- a/drivers/atm/zatm.c
+++ b/drivers/atm/zatm.c
@@ -1182,7 +1182,6 @@ static int __devinit zatm_init(struct atm_dev *dev)
1182 struct zatm_dev *zatm_dev; 1182 struct zatm_dev *zatm_dev;
1183 struct pci_dev *pci_dev; 1183 struct pci_dev *pci_dev;
1184 unsigned short command; 1184 unsigned short command;
1185 unsigned char revision;
1186 int error,i,last; 1185 int error,i,last;
1187 unsigned long t0,t1,t2; 1186 unsigned long t0,t1,t2;
1188 1187
@@ -1192,8 +1191,7 @@ static int __devinit zatm_init(struct atm_dev *dev)
1192 pci_dev = zatm_dev->pci_dev; 1191 pci_dev = zatm_dev->pci_dev;
1193 zatm_dev->base = pci_resource_start(pci_dev, 0); 1192 zatm_dev->base = pci_resource_start(pci_dev, 0);
1194 zatm_dev->irq = pci_dev->irq; 1193 zatm_dev->irq = pci_dev->irq;
1195 if ((error = pci_read_config_word(pci_dev,PCI_COMMAND,&command)) || 1194 if ((error = pci_read_config_word(pci_dev,PCI_COMMAND,&command))) {
1196 (error = pci_read_config_byte(pci_dev,PCI_REVISION_ID,&revision))) {
1197 printk(KERN_ERR DEV_LABEL "(itf %d): init error 0x%02x\n", 1195 printk(KERN_ERR DEV_LABEL "(itf %d): init error 0x%02x\n",
1198 dev->number,error); 1196 dev->number,error);
1199 return -EINVAL; 1197 return -EINVAL;
@@ -1206,7 +1204,7 @@ static int __devinit zatm_init(struct atm_dev *dev)
1206 } 1204 }
1207 eprom_get_esi(dev); 1205 eprom_get_esi(dev);
1208 printk(KERN_NOTICE DEV_LABEL "(itf %d): rev.%d,base=0x%x,irq=%d,", 1206 printk(KERN_NOTICE DEV_LABEL "(itf %d): rev.%d,base=0x%x,irq=%d,",
1209 dev->number,revision,zatm_dev->base,zatm_dev->irq); 1207 dev->number,pci_dev->revision,zatm_dev->base,zatm_dev->irq);
1210 /* reset uPD98401 */ 1208 /* reset uPD98401 */
1211 zout(0,SWR); 1209 zout(0,SWR);
1212 while (!(zin(GSR) & uPD98401_INT_IND)); 1210 while (!(zin(GSR) & uPD98401_INT_IND));