]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
microblaze: Add {z,}alloc_maybe_bootmem functions
authorMichal Simek <monstr@monstr.eu>
Thu, 14 Jan 2010 16:03:49 +0000 (17:03 +0100)
committerMichal Simek <monstr@monstr.eu>
Thu, 11 Mar 2010 12:59:02 +0000 (13:59 +0100)
I will need {z,}alloc_maybe_bootmem functions for pci patches

Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/include/asm/system.h
arch/microblaze/mm/init.c

index 157970688b2aba72037e94b4e08a96fc831184ac..59efb3fef9577d93d83ad2bf6ce7a15ab8128144 100644 (file)
@@ -87,6 +87,9 @@ void free_initmem(void);
 extern char *klimit;
 extern void ret_from_fork(void);
 
+extern void *alloc_maybe_bootmem(size_t size, gfp_t mask);
+extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask);
+
 #ifdef CONFIG_DEBUG_FS
 extern struct dentry *of_debugfs_root;
 #endif
index a57cedf36715f7511395b3066878731b107edb1e..6eea5544ad8b07db5660233205ed63ab8e7a4a53 100644 (file)
@@ -349,4 +349,27 @@ void __init *early_get_page(void)
        }
        return p;
 }
+
+void * __init_refok alloc_maybe_bootmem(size_t size, gfp_t mask)
+{
+       if (mem_init_done)
+               return kmalloc(size, mask);
+       else
+               return alloc_bootmem(size);
+}
+
+void * __init_refok zalloc_maybe_bootmem(size_t size, gfp_t mask)
+{
+       void *p;
+
+       if (mem_init_done)
+               p = kzalloc(size, mask);
+       else {
+               p = alloc_bootmem(size);
+               if (p)
+                       memset(p, 0, size);
+       }
+       return p;
+}
+
 #endif /* CONFIG_MMU */