pci_resource_start(pdev, SIS_SCR_PCI_BAR) + 64; 
pci_resource_start(pdev, SIS_SCR_PCI_BAR) + port2_start; 
static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent){	struct ata_probe_ent *probe_ent = NULL;	int rc;	u32 genctl;	struct ata_port_info *ppi;	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 = &sis_port_info;	probe_ent = ata_pci_init_native_mode(pdev, &ppi);	if (!probe_ent) {		rc = -ENOMEM;		goto err_out_regions;	}	/* check and see if the SCRs are in IO space or PCI cfg space */	pci_read_config_dword(pdev, SIS_GENCTL, &genctl);	if ((genctl & GENCTL_IOMAPPED_SCR) == 0)		probe_ent->host_flags |= SIS_FLAG_CFGSCR;	/* if hardware thinks SCRs are in IO space, but there are	 * no IO resources assigned, change to PCI cfg space.	 */	if ((!(probe_ent->host_flags & SIS_FLAG_CFGSCR)) &&	    ((pci_resource_start(pdev, SIS_SCR_PCI_BAR) == 0) ||	     (pci_resource_len(pdev, SIS_SCR_PCI_BAR) < 128))) {		genctl &= ~GENCTL_IOMAPPED_SCR;		pci_write_config_dword(pdev, SIS_GENCTL, genctl);		probe_ent->host_flags |= SIS_FLAG_CFGSCR;	}	if (!(probe_ent->host_flags & SIS_FLAG_CFGSCR)) {		probe_ent->port[0].scr_addr =			pci_resource_start(pdev, SIS_SCR_PCI_BAR);		probe_ent->port[1].scr_addr =			pci_resource_start(pdev, SIS_SCR_PCI_BAR) + 64;	}	pci_set_master(pdev);	pci_enable_intx(pdev);	/* 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/f2c853bca542f5ac0b036377637192a74f2091c2/sata_sis.c/buggy/drivers/scsi/sata_sis.c