c->limit_sectors = 1; 
static int __devinit i2o_pci_probe(struct pci_dev *pdev,				   const struct pci_device_id *id){	struct i2o_controller *c;	int rc;	struct pci_dev *i960 = NULL;	printk(KERN_INFO "i2o: Checking for PCI I2O controllers...\n");	if ((pdev->class & 0xff) > 1) {		printk(KERN_WARNING "i2o: %s does not support I2O 1.5 "		       "(skipping).\n", pci_name(pdev));		return -ENODEV;	}	if ((rc = pci_enable_device(pdev))) {		printk(KERN_WARNING "i2o: couldn't enable device %s\n",		       pci_name(pdev));		return rc;	}	if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {		printk(KERN_WARNING "i2o: no suitable DMA found for %s\n",		       pci_name(pdev));		rc = -ENODEV;		goto disable;	}	pci_set_master(pdev);	c = i2o_iop_alloc();	if (IS_ERR(c)) {		printk(KERN_ERR "i2o: couldn't allocate memory for %s\n",		       pci_name(pdev));		rc = PTR_ERR(c);		goto disable;	} else		printk(KERN_INFO "%s: controller found (%s)\n", c->name,		       pci_name(pdev));	c->pdev = pdev;	c->device.parent = get_device(&pdev->dev);	/* Cards that fall apart if you hit them with large I/O loads... */	if (pdev->vendor == PCI_VENDOR_ID_NCR && pdev->device == 0x0630) {		c->short_req = 1;		printk(KERN_INFO "%s: Symbios FC920 workarounds activated.\n",		       c->name);	}	if (pdev->subsystem_vendor == PCI_VENDOR_ID_PROMISE) {		/*		 * Expose the ship behind i960 for initialization, or it will		 * failed		 */		i960 =		    pci_find_slot(c->pdev->bus->number,				  PCI_DEVFN(PCI_SLOT(c->pdev->devfn), 0));		if (i960)			pci_write_config_word(i960, 0x42, 0);		c->promise = 1;	}	if (pdev->subsystem_vendor == PCI_VENDOR_ID_DPT)		c->adaptec = 1;	/* Cards that go bananas if you quiesce them before you reset them. */	if (pdev->vendor == PCI_VENDOR_ID_DPT) {		c->no_quiesce = 1;		if (pdev->device == 0xa511)			c->raptor = 1;		if (pdev->subsystem_device == 0xc05a) {			c->limit_sectors = 1;			printk(KERN_INFO			       "%s: limit sectors per request to %d\n", c->name,			       I2O_MAX_SECTORS_LIMITED);		}#ifdef CONFIG_I2O_EXT_ADAPTEC_DMA64		if (sizeof(dma_addr_t) > 4) {			if (pci_set_dma_mask(pdev, DMA_64BIT_MASK))				printk(KERN_INFO "%s: 64-bit DMA unavailable\n",				       c->name);			else {				c->pae_support = 1;				printk(KERN_INFO "%s: using 64-bit DMA\n",				       c->name);			}		}#endif	}	if ((rc = i2o_pci_alloc(c))) {		printk(KERN_ERR "%s: DMA / IO allocation for I2O controller "		       " failed\n", c->name);		goto free_controller;	}	if (i2o_pci_irq_enable(c)) {		printk(KERN_ERR "%s: unable to enable interrupts for I2O "		       "controller\n", c->name);		goto free_pci;	}	if ((rc = i2o_iop_add(c)))		goto uninstall;	get_device(&c->device);	if (i960)		pci_write_config_word(i960, 0x42, 0x03ff);	return 0;      uninstall:	i2o_pci_irq_disable(c);      free_pci:	i2o_pci_free(c);      free_controller:	i2o_iop_free(c);	put_device(c->device.parent);      disable:	pci_disable_device(pdev);	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/718c31831aa134a97f6fef215c208cea80a8b480/pci.c/clean/drivers/message/i2o/pci.c