dev->current_state = 4; 
dev->current_state = PCI_UNKNOWN; 
static int pci_setup_device(struct pci_dev * dev){	u32 class;	sprintf(pci_name(dev), "%04x:%02x:%02x.%d", pci_domain_nr(dev->bus),		dev->bus->number, PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));	pci_read_config_dword(dev, PCI_CLASS_REVISION, &class);	class >>= 8;				    /* upper 3 bytes */	dev->class = class;	class >>= 8;	pr_debug("PCI: Found %s [%04x/%04x] %06x %02x\n", pci_name(dev),		 dev->vendor, dev->device, class, dev->hdr_type);	/* "Unknown power state" */	dev->current_state = 4;	/* Early fixups, before probing the BARs */	pci_fixup_device(pci_fixup_early, dev);	class = dev->class >> 8;	switch (dev->hdr_type) {		    /* header type */	case PCI_HEADER_TYPE_NORMAL:		    /* standard header */		if (class == PCI_CLASS_BRIDGE_PCI)			goto bad;		pci_read_irq(dev);		pci_read_bases(dev, 6, PCI_ROM_ADDRESS);		pci_read_config_word(dev, PCI_SUBSYSTEM_VENDOR_ID, &dev->subsystem_vendor);		pci_read_config_word(dev, PCI_SUBSYSTEM_ID, &dev->subsystem_device);		break;	case PCI_HEADER_TYPE_BRIDGE:		    /* bridge header */		if (class != PCI_CLASS_BRIDGE_PCI)			goto bad;		/* The PCI-to-PCI bridge spec requires that subtractive		   decoding (i.e. transparent) bridge must have programming		   interface code of 0x01. */ 		dev->transparent = ((dev->class & 0xff) == 1);		pci_read_bases(dev, 2, PCI_ROM_ADDRESS1);		break;	case PCI_HEADER_TYPE_CARDBUS:		    /* CardBus bridge header */		if (class != PCI_CLASS_BRIDGE_CARDBUS)			goto bad;		pci_read_irq(dev);		pci_read_bases(dev, 1, 0);		pci_read_config_word(dev, PCI_CB_SUBSYSTEM_VENDOR_ID, &dev->subsystem_vendor);		pci_read_config_word(dev, PCI_CB_SUBSYSTEM_ID, &dev->subsystem_device);		break;	default:				    /* unknown header */		printk(KERN_ERR "PCI: device %s has unknown header type %02x, ignoring.\n",			pci_name(dev), dev->hdr_type);		return -1;	bad:		printk(KERN_ERR "PCI: %s: class %x doesn't match header type %02x. Ignoring class.\n",		       pci_name(dev), class, dev->hdr_type);		dev->class = PCI_CLASS_NOT_DEFINED;	}	/* We found a fine healthy device, go go go... */	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3fe9d19f9e86a55679f5f2b38ec0a43a1a510cee/probe.c/clean/drivers/pci/probe.c