sparc: Remove unnecessary semicolons
[linux-2.6.git] / arch / sparc / kernel / module.c
index f848aad..99ba5ba 100644 (file)
 #include <asm/spitfire.h>
 
 #ifdef CONFIG_SPARC64
-static void *module_map(unsigned long size)
-{
-       struct vm_struct *area;
 
-       size = PAGE_ALIGN(size);
-       if (!size || size > MODULES_LEN)
-               return NULL;
+#include <linux/jump_label.h>
 
-       area = __get_vm_area(size, VM_ALLOC, MODULES_VADDR, MODULES_END);
-       if (!area)
+static void *module_map(unsigned long size)
+{
+       if (PAGE_ALIGN(size) > MODULES_LEN)
                return NULL;
-
-       return __vmalloc_area(area, GFP_KERNEL, PAGE_KERNEL);
+       return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END,
+                               GFP_KERNEL, PAGE_KERNEL, -1,
+                               __builtin_return_address(0));
 }
 
 static char *dot2underscore(char *name)
@@ -217,7 +214,7 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
                               me->name,
                               (int) (ELF_R_TYPE(rel[i].r_info) & 0xff));
                        return -ENOEXEC;
-               };
+               }
        }
        return 0;
 }
@@ -227,6 +224,9 @@ int module_finalize(const Elf_Ehdr *hdr,
                    const Elf_Shdr *sechdrs,
                    struct module *me)
 {
+       /* make jump label nops */
+       jump_label_apply_nops(me);
+
        /* Cheetah's I-cache is fully coherent.  */
        if (tlb_type == spitfire) {
                unsigned long va;