printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n"); 
dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n"); 
static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent){	static int printed_version;	struct ata_probe_ent *probe_ent = NULL;	unsigned long base;	void __iomem *mmio_base;	void __iomem *dimm_mmio = NULL;	struct pdc_host_priv *hpriv = NULL;	unsigned int board_idx = (unsigned int) ent->driver_data;	int pci_dev_busy = 0;	int rc;	if (!printed_version++)		printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n");	/*	 * If this driver happens to only be useful on Apple's K2, then	 * we should check that here as it has a normal Serverworks ID	 */	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;	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, 3, 0);	if (mmio_base == NULL) {		rc = -ENOMEM;		goto err_out_free_ent;	}	base = (unsigned long) mmio_base;	hpriv = kmalloc(sizeof(*hpriv), GFP_KERNEL);	if (!hpriv) {		rc = -ENOMEM;		goto err_out_iounmap;	}	memset(hpriv, 0, sizeof(*hpriv));	dimm_mmio = pci_iomap(pdev, 4, 0);	if (!dimm_mmio) {		kfree(hpriv);		rc = -ENOMEM;		goto err_out_iounmap;	}	hpriv->dimm_mmio = dimm_mmio;	probe_ent->sht		= pdc_port_info[board_idx].sht;	probe_ent->host_flags	= pdc_port_info[board_idx].host_flags;	probe_ent->pio_mask	= pdc_port_info[board_idx].pio_mask;	probe_ent->mwdma_mask	= pdc_port_info[board_idx].mwdma_mask;	probe_ent->udma_mask	= pdc_port_info[board_idx].udma_mask;	probe_ent->port_ops	= pdc_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;	base += PDC_CHIP0_OFS;	probe_ent->n_ports = 4;	pdc_sata_setup_port(&probe_ent->port[0], base + 0x200);	pdc_sata_setup_port(&probe_ent->port[1], base + 0x280);	pdc_sata_setup_port(&probe_ent->port[2], base + 0x300);	pdc_sata_setup_port(&probe_ent->port[3], base + 0x380);	pci_set_master(pdev);	/* initialize adapter */	/* initialize local dimm */	if (pdc20621_dimm_init(probe_ent)) {		rc = -ENOMEM;		goto err_out_iounmap_dimm;	}	pdc_20621_init(probe_ent);	/* FIXME: check ata_device_add return value */	ata_device_add(probe_ent);	kfree(probe_ent);	return 0;err_out_iounmap_dimm:		/* only get to this label if 20621 */	kfree(hpriv);	pci_iounmap(pdev, dimm_mmio);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_sx4.c/buggy/drivers/scsi/sata_sx4.c