ioc->ioc_hpa = (struct ioa_registers *)dev->hpa; 
ioc->ioc_regs = ioremap(dev->hpa.start, 4096); 
static int ccio_probe(struct parisc_device *dev){	int i;	struct ioc *ioc, **ioc_p = &ioc_list;		ioc = kmalloc(sizeof(struct ioc), GFP_KERNEL);	if (ioc == NULL) {		printk(KERN_ERR MODULE_NAME ": memory allocation failure\n");		return 1;	}	memset(ioc, 0, sizeof(struct ioc));	ioc->name = dev->id.hversion == U2_IOA_RUNWAY ? "U2" : "UTurn";	printk(KERN_INFO "Found %s at 0x%lx\n", ioc->name, dev->hpa);	for (i = 0; i < ioc_count; i++) {		ioc_p = &(*ioc_p)->next;	}	*ioc_p = ioc;	ioc->hw_path = dev->hw_path;	ioc->ioc_hpa = (struct ioa_registers *)dev->hpa;	ccio_ioc_init(ioc);	ccio_init_resources(ioc);	hppa_dma_ops = &ccio_ops;	dev->dev.platform_data = kmalloc(sizeof(struct pci_hba_data), GFP_KERNEL);	/* if this fails, no I/O cards will work, so may as well bug */	BUG_ON(dev->dev.platform_data == NULL);	HBA_DATA(dev->dev.platform_data)->iommu = ioc;		if (ioc_count == 0) {		/* FIXME: Create separate entries for each ioc */		create_proc_read_entry(MODULE_NAME, S_IRWXU, proc_runway_root,				       ccio_proc_info, NULL);		create_proc_read_entry(MODULE_NAME"-bitmap", S_IRWXU,				       proc_runway_root, ccio_resource_map, NULL);	}	ioc_count++;	parisc_vmerge_boundary = IOVP_SIZE;	parisc_vmerge_max_size = BITS_PER_LONG * IOVP_SIZE;	parisc_has_iommu();	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/53f01bba49938f115237fe43a261c31ac13ae5c6/ccio-dma.c/clean/drivers/parisc/ccio-dma.c