if (!printed_version++) { printk(KERN_INFO DRV_NAME " version " DRV_VERSION "\n"); } 
if (!printed_version++) dev_printk(KERN_INFO, &pdev->dev, "version " DRV_VERSION "\n"); 
static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent){	static int printed_version = 0;	struct ata_probe_ent *probe_ent = NULL;	struct mv_host_priv *hpriv;	unsigned int board_idx = (unsigned int)ent->driver_data;	void __iomem *mmio_base;	int pci_dev_busy = 0, rc;	if (!printed_version++) {		printk(KERN_INFO DRV_NAME " version " DRV_VERSION "\n");	}	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;	}	probe_ent = kmalloc(sizeof(*probe_ent), GFP_KERNEL);	if (probe_ent == NULL) {		rc = -ENOMEM;		goto err_out_regions;	}	memset(probe_ent, 0, sizeof(*probe_ent));	probe_ent->dev = pci_dev_to_dev(pdev);	INIT_LIST_HEAD(&probe_ent->node);	mmio_base = pci_iomap(pdev, MV_PRIMARY_BAR, 0);	if (mmio_base == NULL) {		rc = -ENOMEM;		goto err_out_free_ent;	}	hpriv = kmalloc(sizeof(*hpriv), GFP_KERNEL);	if (!hpriv) {		rc = -ENOMEM;		goto err_out_iounmap;	}	memset(hpriv, 0, sizeof(*hpriv));	probe_ent->sht = mv_port_info[board_idx].sht;	probe_ent->host_flags = mv_port_info[board_idx].host_flags;	probe_ent->pio_mask = mv_port_info[board_idx].pio_mask;	probe_ent->udma_mask = mv_port_info[board_idx].udma_mask;	probe_ent->port_ops = mv_port_info[board_idx].port_ops;	probe_ent->irq = pdev->irq;	probe_ent->irq_flags = SA_SHIRQ;	probe_ent->mmio_base = mmio_base;	probe_ent->private_data = hpriv;	/* initialize adapter */	rc = mv_host_init(probe_ent);	if (rc) {		goto err_out_hpriv;	}	/* Enable interrupts */	if (pci_enable_msi(pdev) == 0) {		hpriv->hp_flags |= MV_HP_FLAG_MSI;	} else {		pci_intx(pdev, 1);	}	mv_dump_pci_cfg(pdev, 0x68);	mv_print_info(probe_ent);	if (ata_device_add(probe_ent) == 0) {		rc = -ENODEV;		/* No devices discovered */		goto err_out_dev_add;	}	kfree(probe_ent);	return 0;err_out_dev_add:	if (MV_HP_FLAG_MSI & hpriv->hp_flags) {		pci_disable_msi(pdev);	} else {		pci_intx(pdev, 0);	}err_out_hpriv:	kfree(hpriv);err_out_iounmap:	pci_iounmap(pdev, mmio_base);err_out_free_ent:	kfree(probe_ent);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_mv.c/clean/drivers/scsi/sata_mv.c