printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n"); 
dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n"); 
static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent){	static int printed_version = 0;	struct nv_host *host;	struct ata_port_info *ppi;	struct ata_probe_ent *probe_ent;	int pci_dev_busy = 0;	int rc;	u32 bar;        // Make sure this is a SATA controller by counting the number of bars        // (NVIDIA SATA controllers will always have six bars).  Otherwise,        // it's an IDE controller and we ignore it.	for (bar=0; bar<6; bar++)		if (pci_resource_start(pdev, bar) == 0)			return -ENODEV;	if (!printed_version++)		printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n");	rc = pci_enable_device(pdev);	if (rc)		goto err_out;	rc = pci_request_regions(pdev, DRV_NAME);	if (rc) {		pci_dev_busy = 1;		goto err_out_disable;	}	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;	rc = -ENOMEM;	ppi = &nv_port_info;	probe_ent = ata_pci_init_native_mode(pdev, &ppi, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);	if (!probe_ent)		goto err_out_regions;	host = kmalloc(sizeof(struct nv_host), GFP_KERNEL);	if (!host)		goto err_out_free_ent;	memset(host, 0, sizeof(struct nv_host));	host->host_desc = &nv_device_tbl[ent->driver_data];	probe_ent->private_data = host;	if (pci_resource_flags(pdev, 5) & IORESOURCE_MEM)		host->host_flags |= NV_HOST_FLAGS_SCR_MMIO;	if (host->host_flags & NV_HOST_FLAGS_SCR_MMIO) {		unsigned long base;		probe_ent->mmio_base = pci_iomap(pdev, 5, 0);		if (probe_ent->mmio_base == NULL) {			rc = -EIO;			goto err_out_free_host;		}		base = (unsigned long)probe_ent->mmio_base;		probe_ent->port[0].scr_addr =			base + NV_PORT0_SCR_REG_OFFSET;		probe_ent->port[1].scr_addr =			base + NV_PORT1_SCR_REG_OFFSET;	} else {		probe_ent->port[0].scr_addr =			pci_resource_start(pdev, 5) | NV_PORT0_SCR_REG_OFFSET;		probe_ent->port[1].scr_addr =			pci_resource_start(pdev, 5) | NV_PORT1_SCR_REG_OFFSET;	}	pci_set_master(pdev);	rc = ata_device_add(probe_ent);	if (rc != NV_PORTS)		goto err_out_iounmap;	// Enable hotplug event interrupts.	if (host->host_desc->enable_hotplug)		host->host_desc->enable_hotplug(probe_ent);	kfree(probe_ent);	return 0;err_out_iounmap:	if (host->host_flags & NV_HOST_FLAGS_SCR_MMIO)		pci_iounmap(pdev, probe_ent->mmio_base);err_out_free_host:	kfree(host);err_out_free_ent:	kfree(probe_ent);err_out_regions:	pci_release_regions(pdev);err_out_disable:	if (!pci_dev_busy)		pci_disable_device(pdev);err_out:	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a9524a76f70f3343e4be27f95a7e92a8ba5f9009/sata_nv.c/buggy/drivers/scsi/sata_nv.c