pool_alloc_page (struct dma_pool *pool, unsigned int __nocast mem_flags) 
pool_alloc_page (struct dma_pool *pool, gfp_t mem_flags) 
pool_alloc_page (struct dma_pool *pool, unsigned int __nocast mem_flags){	struct dma_page	*page;	int		mapsize;	mapsize = pool->blocks_per_page;	mapsize = (mapsize + BITS_PER_LONG - 1) / BITS_PER_LONG;	mapsize *= sizeof (long);	page = (struct dma_page *) kmalloc (mapsize + sizeof *page, mem_flags);	if (!page)		return NULL;	page->vaddr = dma_alloc_coherent (pool->dev,					    pool->allocation,					    &page->dma,					    mem_flags);	if (page->vaddr) {		memset (page->bitmap, 0xff, mapsize);	// bit set == free#ifdef	CONFIG_DEBUG_SLAB		memset (page->vaddr, POOL_POISON_FREED, pool->allocation);#endif		list_add (&page->page_list, &pool->page_list);		page->in_use = 0;	} else {		kfree (page);		page = NULL;	}	return page;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7/dmapool.c/clean/drivers/base/dmapool.c