| 
				
			 | 
			
			
				
				@@ -118,14 +118,10 @@ static struct pci_id   pci_isa_bridge_list[] = { 
			 | 
		
		
	
		
			
			| 
				118
			 | 
			
				118
			 | 
			
			
				
				 		"SIS 85C503/5513 PCI to ISA bridge"}, 
			 | 
		
		
	
		
			
			| 
				119
			 | 
			
				119
			 | 
			
			
				
				 }; 
			 | 
		
		
	
		
			
			| 
				120
			 | 
			
				120
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				121
			 | 
			
				
			 | 
			
			
				
				-static struct pci_driver sis_bridge_driver __pci_driver = { 
			 | 
		
		
	
		
			
			| 
				122
			 | 
			
				
			 | 
			
			
				
				-	.type     = BRIDGE_DRIVER, 
			 | 
		
		
	
		
			
			| 
				123
			 | 
			
				
			 | 
			
			
				
				-	.name     = "", 
			 | 
		
		
	
		
			
			| 
				124
			 | 
			
				
			 | 
			
			
				
				-	.probe    = 0, 
			 | 
		
		
	
		
			
			| 
				125
			 | 
			
				
			 | 
			
			
				
				-	.ids      = pci_isa_bridge_list, 
			 | 
		
		
	
		
			
			| 
				126
			 | 
			
				
			 | 
			
			
				
				-	.id_count = sizeof(pci_isa_bridge_list)/sizeof(pci_isa_bridge_list[0]), 
			 | 
		
		
	
		
			
			| 
				127
			 | 
			
				
			 | 
			
			
				
				-	.class    = 0, 
			 | 
		
		
	
		
			
			| 
				128
			 | 
			
				
			 | 
			
			
				
				-}; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				121
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				122
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				123
			 | 
			
			
				
				+static struct pci_driver sis_bridge_driver = 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				124
			 | 
			
			
				
				+	PCI_DRIVER ( "sis_bridge", pci_isa_bridge_list, PCI_NO_CLASS ); 
			 | 
		
		
	
		
			
			| 
				129
			 | 
			
				125
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				130
			 | 
			
				126
			 | 
			
			
				
				 /* Function Prototypes */ 
			 | 
		
		
	
		
			
			| 
				131
			 | 
			
				127
			 | 
			
			
				
				  
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -241,27 +237,22 @@ static int sis630e_get_mac_addr(struct pci_device * pci_dev __unused, struct nic 
			 | 
		
		
	
		
			
			| 
				241
			 | 
			
				237
			 | 
			
			
				
				 { 
			 | 
		
		
	
		
			
			| 
				242
			 | 
			
				238
			 | 
			
			
				
				 	u8 reg; 
			 | 
		
		
	
		
			
			| 
				243
			 | 
			
				239
			 | 
			
			
				
				 	int i; 
			 | 
		
		
	
		
			
			| 
				244
			 | 
			
				
			 | 
			
			
				
				-	struct pci_device	p[1]; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				240
			 | 
			
			
				
				+	struct pci_device	isa_bridge; 
			 | 
		
		
	
		
			
			| 
				245
			 | 
			
				241
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				246
			 | 
			
				242
			 | 
			
			
				
				 	/* find PCI to ISA bridge */ 
			 | 
		
		
	
		
			
			| 
				247
			 | 
			
				
			 | 
			
			
				
				-	memset(p, 0, sizeof(p)); 
			 | 
		
		
	
		
			
			| 
				248
			 | 
			
				
			 | 
			
			
				
				-	do { 
			 | 
		
		
	
		
			
			| 
				249
			 | 
			
				
			 | 
			
			
				
				-		find_pci(BRIDGE_DRIVER, p); 
			 | 
		
		
	
		
			
			| 
				250
			 | 
			
				
			 | 
			
			
				
				-	} while(p->driver && p->driver != &sis_bridge_driver); 
			 | 
		
		
	
		
			
			| 
				251
			 | 
			
				
			 | 
			
			
				
				- 
			 | 
		
		
	
		
			
			| 
				252
			 | 
			
				
			 | 
			
			
				
				-	/* error on failure */ 
			 | 
		
		
	
		
			
			| 
				253
			 | 
			
				
			 | 
			
			
				
				-	if (!p->driver) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				243
			 | 
			
			
				
				+	memset(&isa_bridge, 0, sizeof(isa_bridge)); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				244
			 | 
			
			
				
				+	if ( ! find_pci_device ( &isa_bridge, &sis_bridge_driver ) ) 
			 | 
		
		
	
		
			
			| 
				254
			 | 
			
				245
			 | 
			
			
				
				 	    return 0; 
			 | 
		
		
	
		
			
			| 
				255
			 | 
			
				246
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				256
			 | 
			
				
			 | 
			
			
				
				-	pcibios_read_config_byte(p->bus,p->devfn, 0x48, ®); 
			 | 
		
		
	
		
			
			| 
				257
			 | 
			
				
			 | 
			
			
				
				-	pcibios_write_config_byte(p->bus,p->devfn, 0x48, reg | 0x40); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				247
			 | 
			
			
				
				+	pci_read_config_byte(&isa_bridge, 0x48, ®); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				248
			 | 
			
			
				
				+	pci_write_config_byte(&isa_bridge, 0x48, reg | 0x40); 
			 | 
		
		
	
		
			
			| 
				258
			 | 
			
				249
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				259
			 | 
			
				250
			 | 
			
			
				
				 	for (i = 0; i < ETH_ALEN; i++) 
			 | 
		
		
	
		
			
			| 
				260
			 | 
			
				251
			 | 
			
			
				
				 	{ 
			 | 
		
		
	
		
			
			| 
				261
			 | 
			
				252
			 | 
			
			
				
				 		outb(0x09 + i, 0x70); 
			 | 
		
		
	
		
			
			| 
				262
			 | 
			
				253
			 | 
			
			
				
				 		((u8 *)(nic->node_addr))[i] = inb(0x71); 
			 | 
		
		
	
		
			
			| 
				263
			 | 
			
				254
			 | 
			
			
				
				 	} 
			 | 
		
		
	
		
			
			| 
				264
			 | 
			
				
			 | 
			
			
				
				-	pcibios_write_config_byte(p->bus,p->devfn, 0x48, reg & ~0x40); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				255
			 | 
			
			
				
				+	pci_write_config_byte(&isa_bridge, 0x48, reg & ~0x40); 
			 | 
		
		
	
		
			
			| 
				265
			 | 
			
				256
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				266
			 | 
			
				257
			 | 
			
			
				
				 	return 1; 
			 | 
		
		
	
		
			
			| 
				267
			 | 
			
				258
			 | 
			
			
				
				 } 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -335,13 +326,13 @@ static int sis900_probe(struct dev *dev, struct pci_device *pci) 
			 | 
		
		
	
		
			
			| 
				335
			 | 
			
				326
			 | 
			
			
				
				     dev_id  = pci->dev_id; 
			 | 
		
		
	
		
			
			| 
				336
			 | 
			
				327
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				337
			 | 
			
				328
			 | 
			
			
				
				     /* wakeup chip */ 
			 | 
		
		
	
		
			
			| 
				338
			 | 
			
				
			 | 
			
			
				
				-    pcibios_write_config_dword(pci->bus, pci->devfn, 0x40, 0x00000000); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				329
			 | 
			
			
				
				+    pci_write_config_dword(pci, 0x40, 0x00000000); 
			 | 
		
		
	
		
			
			| 
				339
			 | 
			
				330
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				340
			 | 
			
				331
			 | 
			
			
				
				     adjust_pci_device(pci); 
			 | 
		
		
	
		
			
			| 
				341
			 | 
			
				332
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				342
			 | 
			
				333
			 | 
			
			
				
				     /* get MAC address */ 
			 | 
		
		
	
		
			
			| 
				343
			 | 
			
				334
			 | 
			
			
				
				     ret = 0; 
			 | 
		
		
	
		
			
			| 
				344
			 | 
			
				
			 | 
			
			
				
				-    pcibios_read_config_byte(pci->bus,pci->devfn, PCI_REVISION, &revision); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				335
			 | 
			
			
				
				+    pci_read_config_byte(pci, PCI_REVISION, &revision); 
			 | 
		
		
	
		
			
			| 
				345
			 | 
			
				336
			 | 
			
			
				
				      
			 | 
		
		
	
		
			
			| 
				346
			 | 
			
				337
			 | 
			
			
				
				     /* save for use later in sis900_reset() */ 
			 | 
		
		
	
		
			
			| 
				347
			 | 
			
				338
			 | 
			
			
				
				     pci_revision = revision;  
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -425,6 +416,8 @@ static int sis900_probe(struct dev *dev, struct pci_device *pci) 
			 | 
		
		
	
		
			
			| 
				425
			 | 
			
				416
			 | 
			
			
				
				     return 1; 
			 | 
		
		
	
		
			
			| 
				426
			 | 
			
				417
			 | 
			
			
				
				 } 
			 | 
		
		
	
		
			
			| 
				427
			 | 
			
				418
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				419
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				420
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				428
			 | 
			
				421
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				429
			 | 
			
				422
			 | 
			
			
				
				 /*  
			 | 
		
		
	
		
			
			| 
				430
			 | 
			
				423
			 | 
			
			
				
				  * EEPROM Routines:  These functions read and write to EEPROM for  
			 |