Merge git://git.infradead.org/~dwmw2/mtd-2.6.26
[linux-2.6] / arch / powerpc / lib / alloc.c
1 #include <linux/types.h>
2 #include <linux/init.h>
3 #include <linux/slab.h>
4 #include <linux/bootmem.h>
5 #include <linux/string.h>
6
7 #include <asm/system.h>
8
9 void * __init_refok alloc_maybe_bootmem(size_t size, gfp_t mask)
10 {
11         if (mem_init_done)
12                 return kmalloc(size, mask);
13         else
14                 return alloc_bootmem(size);
15 }
16
17 void * __init_refok zalloc_maybe_bootmem(size_t size, gfp_t mask)
18 {
19         void *p;
20
21         if (mem_init_done)
22                 p = kzalloc(size, mask);
23         else {
24                 p = alloc_bootmem(size);
25                 if (p)
26                         memset(p, 0, size);
27         }
28         return p;
29 }