 if (!printed_version++) dev_printk(KERN_INFO, &pdev->dev, "version " DRV_VERSION "\n"); 
static int uli_init_one (struct pci_dev *pdev, const struct pci_device_id *ent){	struct ata_probe_ent *probe_ent;	struct ata_port_info *ppi;	int rc;	unsigned int board_idx = (unsigned int) ent->driver_data;	int pci_dev_busy = 0;	rc = pci_enable_device(pdev);	if (rc)		return rc;	rc = pci_request_regions(pdev, DRV_NAME);	if (rc) {		pci_dev_busy = 1;		goto err_out;	}	rc = pci_set_dma_mask(pdev, ATA_DMA_MASK);	if (rc)		goto err_out_regions;	rc = pci_set_consistent_dma_mask(pdev, ATA_DMA_MASK);	if (rc)		goto err_out_regions;	ppi = &uli_port_info;	probe_ent = ata_pci_init_native_mode(pdev, &ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);	if (!probe_ent) {		rc = -ENOMEM;		goto err_out_regions;	}	switch (board_idx) {	case uli_5287:		probe_ent->port[0].scr_addr = ULI5287_BASE;		probe_ent->port[1].scr_addr = ULI5287_BASE + ULI5287_OFFS;       		probe_ent->n_ports = 4;       		probe_ent->port[2].cmd_addr = pci_resource_start(pdev, 0) + 8;		probe_ent->port[2].altstatus_addr =		probe_ent->port[2].ctl_addr =			(pci_resource_start(pdev, 1) | ATA_PCI_CTL_OFS) + 4;		probe_ent->port[2].bmdma_addr = pci_resource_start(pdev, 4) + 16;		probe_ent->port[2].scr_addr = ULI5287_BASE + ULI5287_OFFS*4;		probe_ent->port[3].cmd_addr = pci_resource_start(pdev, 2) + 8;		probe_ent->port[3].altstatus_addr =		probe_ent->port[3].ctl_addr =			(pci_resource_start(pdev, 3) | ATA_PCI_CTL_OFS) + 4;		probe_ent->port[3].bmdma_addr = pci_resource_start(pdev, 4) + 24;		probe_ent->port[3].scr_addr = ULI5287_BASE + ULI5287_OFFS*5;		ata_std_ports(&probe_ent->port[2]);		ata_std_ports(&probe_ent->port[3]);		break;	case uli_5289:		probe_ent->port[0].scr_addr = ULI5287_BASE;		probe_ent->port[1].scr_addr = ULI5287_BASE + ULI5287_OFFS;		break;	case uli_5281:		probe_ent->port[0].scr_addr = ULI5281_BASE;		probe_ent->port[1].scr_addr = ULI5281_BASE + ULI5281_OFFS;		break;	default:		BUG();		break;	}	pci_set_master(pdev);	pci_intx(pdev, 1);	/* FIXME: check ata_device_add return value */	ata_device_add(probe_ent);	kfree(probe_ent);	return 0;err_out_regions:	pci_release_regions(pdev);err_out:	if (!pci_dev_busy)		pci_disable_device(pdev);	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a9524a76f70f3343e4be27f95a7e92a8ba5f9009/sata_uli.c/buggy/drivers/scsi/sata_uli.c