[ARM] move initrd code from kernel/setup.c to mm/init.c
This quietens some sparse warnings about phys_initrd_start and phys_initrd_size. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:

committed by
Russell King

parent
446616dbb4
commit
012d1f4af1
@@ -27,8 +27,43 @@
|
||||
#include "mm.h"
|
||||
|
||||
extern void _text, _etext, __data_start, _end, __init_begin, __init_end;
|
||||
extern unsigned long phys_initrd_start;
|
||||
extern unsigned long phys_initrd_size;
|
||||
|
||||
static unsigned long phys_initrd_start __initdata = 0;
|
||||
static unsigned long phys_initrd_size __initdata = 0;
|
||||
|
||||
static void __init early_initrd(char **p)
|
||||
{
|
||||
unsigned long start, size;
|
||||
|
||||
start = memparse(*p, p);
|
||||
if (**p == ',') {
|
||||
size = memparse((*p) + 1, p);
|
||||
|
||||
phys_initrd_start = start;
|
||||
phys_initrd_size = size;
|
||||
}
|
||||
}
|
||||
__early_param("initrd=", early_initrd);
|
||||
|
||||
static int __init parse_tag_initrd(const struct tag *tag)
|
||||
{
|
||||
printk(KERN_WARNING "ATAG_INITRD is deprecated; "
|
||||
"please update your bootloader.\n");
|
||||
phys_initrd_start = __virt_to_phys(tag->u.initrd.start);
|
||||
phys_initrd_size = tag->u.initrd.size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
__tagtable(ATAG_INITRD, parse_tag_initrd);
|
||||
|
||||
static int __init parse_tag_initrd2(const struct tag *tag)
|
||||
{
|
||||
phys_initrd_start = tag->u.initrd.start;
|
||||
phys_initrd_size = tag->u.initrd.size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
__tagtable(ATAG_INITRD2, parse_tag_initrd2);
|
||||
|
||||
/*
|
||||
* This is used to pass memory configuration data from paging_init
|
||||
|
Reference in New Issue
Block a user