• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/avr32/kernel/

Lines Matching refs:module

2  * AVR32-specific kernel module loader
18 #include <linux/module.h>
29 void module_free(struct module *mod, void *module_region)
37 static inline int check_rela(Elf32_Rela *rela, struct module *module,
42 info = module->arch.syminfo + ELF32_R_SYM(rela->r_info);
58 info->got_offset = module->arch.got_size;
59 module->arch.got_size += sizeof(void *);
70 char *secstrings, struct module *module)
88 printk(KERN_ERR "module %s: no symbol table\n", module->name);
93 module->arch.nsyms = symtab->sh_size / sizeof(Elf_Sym);
94 module->arch.syminfo = vmalloc(module->arch.nsyms
96 if (!module->arch.syminfo)
101 for (i = 0; i < module->arch.nsyms; i++) {
107 module->arch.syminfo[i].got_offset = -1UL;
108 module->arch.syminfo[i].got_initialized = 0;
112 module->arch.got_size = 0;
119 ret = check_rela(rela + j, module,
130 module->core_size = ALIGN(module->core_size, 4);
131 module->arch.got_offset = module->core_size;
132 module->core_size += module->arch.got_size;
137 vfree(module->arch.syminfo);
138 module->arch.syminfo = NULL;
143 static inline int reloc_overflow(struct module *module, const char *reloc_name,
146 printk(KERN_ERR "module %s: Value %lx does not fit relocation %s\n",
147 module->name, (unsigned long)relocation, reloc_name);
156 struct module *module)
176 info = module->arch.syminfo + ELF32_R_SYM(rel->r_info);
189 gotent = (module->module_core
190 + module->arch.got_offset
209 return reloc_overflow(module,
225 return reloc_overflow(module,
238 return reloc_overflow(module,
249 return reloc_overflow(module,
266 relocation, module->arch.got_offset,
267 module->module_core);
268 relocation -= ((unsigned long)module->module_core
269 + module->arch.got_offset);
275 return reloc_overflow(module, "R_AVR32_GOT18SW",
282 return reloc_overflow(module, "R_AVR32_GOT16S",
293 printk(KERN_ERR "module %s: Unknown relocation: %u\n",
294 module->name, ELF32_R_TYPE(rel->r_info));
304 struct module *module)
306 printk(KERN_ERR "module %s: REL relocations are not supported\n",
307 module->name);
312 struct module *module)
314 vfree(module->arch.syminfo);
315 module->arch.syminfo = NULL;
320 void module_arch_cleanup(struct module *module)