uml: more __init annotations
authorJeff Dike <jdike@addtoit.com>
Tue, 24 Jul 2007 01:43:48 +0000 (18:43 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 24 Jul 2007 19:24:58 +0000 (12:24 -0700)
2.6.23-rc1 turned up another batch of references from non-__init code to
__init code.  In most cases, these were missing __init annotations.  In one
case (os_drop_memory), the annotation was present but wrong.

init_maps is __init, but for some reason was being very careful about the
mechanism by which it allocated memory, checking whether it was OK to use
kmalloc (at this point in the boot, it definitely isn't) and using either
alloc_bootmem_low_pages or kmalloc/vmalloc.  So, the kmalloc/vmalloc code is
removed.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/drivers/mconsole_kern.c
arch/um/drivers/net_kern.c
arch/um/kernel/mem.c
arch/um/kernel/physmem.c
arch/um/kernel/skas/process.c
arch/um/os-Linux/process.c

index 542c9ef858f84478c1e75d17a0eeaa48e881912f..d870905074015dc95dbe59b73f21e03869d2c565 100644 (file)
@@ -499,7 +499,7 @@ static struct mc_device mem_mc = {
        .remove         = mem_remove,
 };
 
-static int mem_mc_init(void)
+static int __init mem_mc_init(void)
 {
        if(can_drop_memory())
                mconsole_register_dev(&mem_mc);
@@ -798,7 +798,7 @@ void mconsole_stack(struct mc_request *req)
  */
 static char *notify_socket = NULL;
 
-static int mconsole_init(void)
+static int __init mconsole_init(void)
 {
        /* long to avoid size mismatch warnings from gcc */
        long sock;
index 72773dd5442570071a5185405411b9f39cdf35be..d35d0c1ee7f4d700ac17fd2fda5a653e28d1ae37 100644 (file)
@@ -623,7 +623,7 @@ static int eth_setup_common(char *str, int index)
        return found;
 }
 
-static int eth_setup(char *str)
+static int __init eth_setup(char *str)
 {
        struct eth_init *new;
        char *error;
index 72ff85693a399846bcb54ada54396d6ddf68b0a4..d2b11f242698ea617de8fa086b299beda2169c10 100644 (file)
@@ -62,7 +62,7 @@ static void setup_highmem(unsigned long highmem_start,
 }
 #endif
 
-void mem_init(void)
+void __init mem_init(void)
 {
        /* clear the zero-page */
        memset((void *) empty_zero_page, 0, PAGE_SIZE);
index 3ba6e4c841da66454b4e50625fb4ee65f5d0af8f..5ee7e851bbc1b1c9618879bf7e1062edf69d5036 100644 (file)
@@ -28,7 +28,8 @@ unsigned long high_physmem;
 
 extern unsigned long long physmem_size;
 
-int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem)
+int __init init_maps(unsigned long physmem, unsigned long iomem,
+                    unsigned long highmem)
 {
        struct page *p, *map;
        unsigned long phys_len, phys_pages, highmem_len, highmem_pages;
@@ -47,13 +48,7 @@ int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem)
        total_pages = phys_pages + iomem_pages + highmem_pages;
        total_len = phys_len + iomem_len + highmem_len;
 
-       if(kmalloc_ok){
-               map = kmalloc(total_len, GFP_KERNEL);
-               if(map == NULL)
-                       map = vmalloc(total_len);
-       }
-       else map = alloc_bootmem_low_pages(total_len);
-
+       map = alloc_bootmem_low_pages(total_len);
        if(map == NULL)
                return -ENOMEM;
 
@@ -98,8 +93,8 @@ void map_memory(unsigned long virt, unsigned long phys, unsigned long len,
 
 extern int __syscall_stub_start;
 
-void setup_physmem(unsigned long start, unsigned long reserve_end,
-                  unsigned long len, unsigned long long highmem)
+void __init setup_physmem(unsigned long start, unsigned long reserve_end,
+                         unsigned long len, unsigned long long highmem)
 {
        unsigned long reserve = reserve_end - start;
        int pfn = PFN_UP(__pa(reserve_end));
index 2a69a7ce5792eedc43283e7f8adaefb7c7744314..48051a98525fab9371be42508c2bb9c3b9f7f6fd 100644 (file)
@@ -145,7 +145,7 @@ void init_idle_skas(void)
 
 extern void start_kernel(void);
 
-static int start_kernel_proc(void *unused)
+static int __init start_kernel_proc(void *unused)
 {
        int pid;
 
@@ -165,7 +165,7 @@ extern int userspace_pid[];
 
 extern char cpu0_irqstack[];
 
-int start_uml_skas(void)
+int __init start_uml_skas(void)
 {
        stack_protections((unsigned long) &cpu0_irqstack);
        set_sigstack(cpu0_irqstack, THREAD_SIZE);
index 2d9d2ca39299f2e74ee2be3a47daf0d877d213e8..e9c14329751281efa85b888a393539ea0c60a369 100644 (file)
@@ -194,7 +194,7 @@ int os_unmap_memory(void *addr, int len)
 #define MADV_REMOVE KERNEL_MADV_REMOVE
 #endif
 
-int __init os_drop_memory(void *addr, int length)
+int os_drop_memory(void *addr, int length)
 {
        int err;