diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 13:01:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 13:01:28 -0500 |
commit | 0cf975e16927fd70f34cee20d3856246c13bb4c8 (patch) | |
tree | bb955d50f28e5d98c198701798c8341d9763299a /arch/cris/kernel/module.c | |
parent | 03054de1e0b90b33e9974107d84dabd2509f5898 (diff) | |
parent | bc10ac3f2fe44e65f787d6197fd5d17304bf7d83 (diff) |
Merge branch 'cris' of git://www.jni.nu/cris
* 'cris' of git://www.jni.nu/cris: (158 commits)
CRIS v32: Remove hwregs/timer_defs.h, it is now architecture specific.
CRIS v32: Change drivers/i2c.c locking.
CRIS v32: Rewrite ARTPEC-3 gpio driver to avoid volatiles and general cleanup.
CRIS: Add new timerfd syscall entries.
MAINTAINERS: Add my information for the CRIS port.
CRIS v32: Correct spelling of bandwidth in function name.
CRIS v32: Clean up nandflash.c for ARTPEC-3 and ETRAX FS.
CRIS v10: Cleanup of drivers/gpio.c
CRIS v10: drivers/net/cris/eth_v10.c rename LED defines to CRIS_LED to avoid name clash.
CRIS: Make io_pwm_set_period members unsigned in etraxgpio.h
CRIS: Move ETRAX_AXISFLASHMAP to common Kconfig file.
CRIS: Drop regs parameter from call to profile_tick in kernel/time.c
CRIS v32: Fix minor formatting issue in mach-a3/io.c
CRIS v32: Initialize GIO even if we're rambooting in kernel/head.S
CRIS v32: Remove kernel/arbiter.c, it now exists in machine dependent directory.
CRIS v32: Minor changes to avoid errors in asm-cris/arch-v32/hwregs/reg_rdwr.h
CRIS v32: arch-v32/hwregs/intr_vect_defs.h moved to machine dependent directory.
CRIS v32: Correct offset for TASK_pid in asm-cris/arch-v32/offset.h
CRIS v32: Move register map header to machine dependent directory.
CRIS v32: Let compiler know that memory is clobbered after a break op.
...
Diffstat (limited to 'arch/cris/kernel/module.c')
-rw-r--r-- | arch/cris/kernel/module.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/arch/cris/kernel/module.c b/arch/cris/kernel/module.c index 11b867df8617..a187833febc8 100644 --- a/arch/cris/kernel/module.c +++ b/arch/cris/kernel/module.c | |||
@@ -28,20 +28,28 @@ | |||
28 | #define DEBUGP(fmt , ...) | 28 | #define DEBUGP(fmt , ...) |
29 | #endif | 29 | #endif |
30 | 30 | ||
31 | #ifdef CONFIG_ETRAX_KMALLOCED_MODULES | ||
32 | #define MALLOC_MODULE(size) kmalloc(size, GFP_KERNEL) | ||
33 | #define FREE_MODULE(region) kfree(region) | ||
34 | #else | ||
35 | #define MALLOC_MODULE(size) vmalloc_exec(size) | ||
36 | #define FREE_MODULE(region) vfree(region) | ||
37 | #endif | ||
38 | |||
31 | void *module_alloc(unsigned long size) | 39 | void *module_alloc(unsigned long size) |
32 | { | 40 | { |
33 | if (size == 0) | 41 | if (size == 0) |
34 | return NULL; | 42 | return NULL; |
35 | return vmalloc_exec(size); | 43 | return MALLOC_MODULE(size); |
36 | } | 44 | } |
37 | 45 | ||
38 | 46 | ||
39 | /* Free memory returned from module_alloc */ | 47 | /* Free memory returned from module_alloc */ |
40 | void module_free(struct module *mod, void *module_region) | 48 | void module_free(struct module *mod, void *module_region) |
41 | { | 49 | { |
42 | vfree(module_region); | 50 | FREE_MODULE(module_region); |
43 | /* FIXME: If module_region == mod->init_region, trim exception | 51 | /* FIXME: If module_region == mod->init_region, trim exception |
44 | table entries. */ | 52 | table entries. */ |
45 | } | 53 | } |
46 | 54 | ||
47 | /* We don't need anything special. */ | 55 | /* We don't need anything special. */ |