static DECLARE_MUTEX (pools_lock);
static ssize_t
-show_pools (struct device *dev, char *buf)
+show_pools (struct device *dev, struct device_attribute *attr, char *buf)
{
unsigned temp;
unsigned size;
if (align == 0)
align = 1;
if (size == 0)
- return 0;
+ return NULL;
else if (size < align)
size = align;
else if ((size % align) != 0) {
allocation = PAGE_SIZE;
// FIXME: round up for less fragmentation
} else if (allocation < size)
- return 0;
+ return NULL;
if (!(retval = kmalloc (sizeof *retval, SLAB_KERNEL)))
return retval;
static struct dma_page *
-pool_alloc_page (struct dma_pool *pool, int mem_flags)
+pool_alloc_page (struct dma_pool *pool, gfp_t mem_flags)
{
struct dma_page *page;
int mapsize;
page = (struct dma_page *) kmalloc (mapsize + sizeof *page, mem_flags);
if (!page)
- return 0;
+ return NULL;
page->vaddr = dma_alloc_coherent (pool->dev,
pool->allocation,
&page->dma,
page->in_use = 0;
} else {
kfree (page);
- page = 0;
+ page = NULL;
}
return page;
}
* If such a memory block can't be allocated, null is returned.
*/
void *
-dma_pool_alloc (struct dma_pool *pool, int mem_flags, dma_addr_t *handle)
+dma_pool_alloc (struct dma_pool *pool, gfp_t mem_flags, dma_addr_t *handle)
{
unsigned long flags;
struct dma_page *page;
remove_wait_queue (&pool->waitq, &wait);
goto restart;
}
- retval = 0;
+ retval = NULL;
goto done;
}
if (dma < (page->dma + pool->allocation))
goto done;
}
- page = 0;
+ page = NULL;
done:
spin_unlock_irqrestore (&pool->lock, flags);
return page;