diff options
author | Mike Rapoport <rppt@linux.ibm.com> | 2019-07-24 17:10:32 +0300 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2019-08-26 18:19:04 -0700 |
commit | f348f5c232408cb44451cc5ba52a4b326b6034da (patch) | |
tree | 342874ab6f459df75c1fd78bca9b4afa4fa5fdbe | |
parent | a55aa89aab90fae7c815b0551b07be37db359d76 (diff) | |
download | blackbird-op-linux-f348f5c232408cb44451cc5ba52a4b326b6034da.tar.gz blackbird-op-linux-f348f5c232408cb44451cc5ba52a4b326b6034da.zip |
xtensa: remove free_initrd_mem
The xtensa free_initrd_mem() verifies that initrd is mapped and then
frees its memory using free_reserved_area().
The initrd is considered mapped when its memory was successfully reserved
with mem_reserve().
Resetting initrd_start to 0 in case of mem_reserve() failure allows to
switch to generic free_initrd_mem() implementation.
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Message-Id: <1563977432-8376-1-git-send-email-rppt@linux.ibm.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
-rw-r--r-- | arch/xtensa/kernel/setup.c | 9 | ||||
-rw-r--r-- | arch/xtensa/mm/init.c | 10 |
2 files changed, 3 insertions, 16 deletions
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c index 7c3106093c75..e0e1e1892b86 100644 --- a/arch/xtensa/kernel/setup.c +++ b/arch/xtensa/kernel/setup.c @@ -61,7 +61,6 @@ struct screen_info screen_info = { #ifdef CONFIG_BLK_DEV_INITRD extern unsigned long initrd_start; extern unsigned long initrd_end; -int initrd_is_mapped = 0; extern int initrd_below_start_ok; #endif @@ -332,13 +331,11 @@ void __init setup_arch(char **cmdline_p) /* Reserve some memory regions */ #ifdef CONFIG_BLK_DEV_INITRD - if (initrd_start < initrd_end) { - initrd_is_mapped = mem_reserve(__pa(initrd_start), - __pa(initrd_end)) == 0; + if (initrd_start < initrd_end && + !mem_reserve(__pa(initrd_start), __pa(initrd_end))) initrd_below_start_ok = 1; - } else { + else initrd_start = 0; - } #endif mem_reserve(__pa(_stext), __pa(_end)); diff --git a/arch/xtensa/mm/init.c b/arch/xtensa/mm/init.c index 79467c749416..d898ed67d890 100644 --- a/arch/xtensa/mm/init.c +++ b/arch/xtensa/mm/init.c @@ -203,16 +203,6 @@ void __init mem_init(void) (unsigned long)(__bss_stop - __bss_start) >> 10); } -#ifdef CONFIG_BLK_DEV_INITRD -extern int initrd_is_mapped; - -void free_initrd_mem(unsigned long start, unsigned long end) -{ - if (initrd_is_mapped) - free_reserved_area((void *)start, (void *)end, -1, "initrd"); -} -#endif - static void __init parse_memmap_one(char *p) { char *oldp; |