pci_exp_set_dev_base(bus, devfn); 
pci_exp_set_dev_base(seg, bus, devfn); 
static int pci_mmcfg_read(unsigned int seg, unsigned int bus,			  unsigned int devfn, int reg, int len, u32 *value){	unsigned long flags;	if (!value || (bus > 255) || (devfn > 255) || (reg > 4095))		return -EINVAL;	spin_lock_irqsave(&pci_config_lock, flags);	pci_exp_set_dev_base(bus, devfn);	switch (len) {	case 1:		*value = readb(mmcfg_virt_addr + reg);		break;	case 2:		*value = readw(mmcfg_virt_addr + reg);		break;	case 4:		*value = readl(mmcfg_virt_addr + reg);		break;	}	spin_unlock_irqrestore(&pci_config_lock, flags);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d57e26ceb7dbf44cd08128cb6146116d4281b58b/mmconfig.c/clean/arch/i386/pci/mmconfig.c