diff options
author | Jeremy Kerr <jeremy.kerr@canonical.com> | 2010-01-11 17:17:34 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-15 16:39:13 -0500 |
commit | 2b0d8c251b8876d530a6bf671eb5425838fa698a (patch) | |
tree | f8b85d4ee0f76be6a45738452e91fbbb94602b4c /arch/arm/mm/init.c | |
parent | e119bfff1f102f8d1505910cd6c09df55c776b43 (diff) |
ARM: 5880/1: arm: use generic infrastructure for early params
The ARM setup code includes its own parser for early params, there's
also one in the generic init code.
This patch removes __early_init (and related code) from
arch/arm/kernel/setup.c, and changes users to the generic early_init
macro instead.
The generic macro takes a char * argument, rather than char **, so we
need to update the parser functions a little.
Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/init.c')
-rw-r--r-- | arch/arm/mm/init.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index a04ffbbbe253..a340569b991e 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c | |||
@@ -32,19 +32,21 @@ | |||
32 | static unsigned long phys_initrd_start __initdata = 0; | 32 | static unsigned long phys_initrd_start __initdata = 0; |
33 | static unsigned long phys_initrd_size __initdata = 0; | 33 | static unsigned long phys_initrd_size __initdata = 0; |
34 | 34 | ||
35 | static void __init early_initrd(char **p) | 35 | static int __init early_initrd(char *p) |
36 | { | 36 | { |
37 | unsigned long start, size; | 37 | unsigned long start, size; |
38 | char *endp; | ||
38 | 39 | ||
39 | start = memparse(*p, p); | 40 | start = memparse(p, &endp); |
40 | if (**p == ',') { | 41 | if (*endp == ',') { |
41 | size = memparse((*p) + 1, p); | 42 | size = memparse(endp + 1, NULL); |
42 | 43 | ||
43 | phys_initrd_start = start; | 44 | phys_initrd_start = start; |
44 | phys_initrd_size = size; | 45 | phys_initrd_size = size; |
45 | } | 46 | } |
47 | return 0; | ||
46 | } | 48 | } |
47 | __early_param("initrd=", early_initrd); | 49 | early_param("initrd", early_initrd); |
48 | 50 | ||
49 | static int __init parse_tag_initrd(const struct tag *tag) | 51 | static int __init parse_tag_initrd(const struct tag *tag) |
50 | { | 52 | { |