Split initrd logic out of early_init_dt_scan_chosen() to fix warning
PATCH 1/1 Split initrd logic out of early_init_dt_scan_chosen() to fix warning
If CONFIG_BLK_DEV_INITRD is not defined the prop variable in early_init_dt_scan_chosen() is unused, causing a compiler warning.
So split the initrd logic into a separate function, allowing us to declare prop only when we need it.
Built for both cases and booted with an initrd.
---
arch/powerpc/kernel/prom.c | 48 ++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 16 deletions(-)
arch/powerpc/kernel/prom.c +32 -16
@@ -716,11 +716,41 @@ static int __init early_init_dt_scan_cpureturn 0 ; } +#ifdef CONFIG_BLK_DEV_INITRD +static void __init early_init_dt_check_for_initrd (unsigned long node) +{ +unsigned long l; +u32 *prop; + +DBG ("Looking for initrd properties... " ); + + prop =of_get_flat_dt_prop (node,"linux,initrd-start" , &l); +if (prop) { + initrd_start = (unsigned long )__va (of_read_ulong (prop, l/4 )); + + prop =of_get_flat_dt_prop (node,"linux,initrd-end" , &l); +if (prop) { + initrd_end = (unsigned long ) +__va (of_read_ulong (prop, l/4 )); + initrd_below_start_ok =1 ; + }else { + initrd_start =0 ; + } + } + +DBG ("initrd_start=0x%lx initrd_end=0x%lx\n" , initrd_start, initrd_end); +} +#else +static inline void early_init_dt_check_for_initrd (unsigned long node) +{ +return ; +} +#endif /* CONFIG_BLK_DEV_INITRD */ +static int __init early_init_dt_scan_chosen (unsigned long node,const char *uname,int depth,void *data) {unsigned long *lprop; -u32 *prop;unsigned long l;char *p;
@@ -762,21 +792,7 @@ static int __init early_init_dt_scan_cho crashk_res.end = crashk_res.start + *lprop -1 ;#endif -#ifdef CONFIG_BLK_DEV_INITRD -DBG ("Looking for initrd properties... " ); - prop =of_get_flat_dt_prop (node,"linux,initrd-start" , &l); -if (prop) { - initrd_start = (unsigned long )__va (of_read_ulong (prop, l/4 )); - prop =of_get_flat_dt_prop (node,"linux,initrd-end" , &l); -if (prop) { - initrd_end = (unsigned long )__va (of_read_ulong (prop, l/4 )); - initrd_below_start_ok =1 ; - }else { - initrd_start =0 ; - } - } -DBG ("initrd_start=0x%lx initrd_end=0x%lx\n" , initrd_start, initrd_end); -#endif /* CONFIG_BLK_DEV_INITRD */ +early_init_dt_check_for_initrd (node);/* Retreive command line */ p =of_get_flat_dt_prop (node,"bootargs" , &l);
Quoted 20 lines · Michael Ellerman
If
CONFIG_BLK_DEV_INITRDis not defined the prop variable inearly_init_dt_scan_chosen()is unused, causing a compiler warning.So split the initrd logic into a separate function, allowing us to declare prop only when we need it.
Built for both cases and booted with an initrd.
Signed-off-by Michael Ellerman <[email protected]>---
arch/powerpc/kernel/prom.c | 48 ++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 16 deletions(-)Index:
powerpc/arch/powerpc/kernel/prom.c
===================================================================arch/powerpc/kernel/prom.c +0
-0@@ -716,11 +716,41 @@ static int __init early_init_dt_scan_cpureturn 0 ;
arch/powerpc/kernel/prom.c static int __init early_init_dt_scan_cpu · line 726
Quoted 10 lines
arch/powerpc/kernel/prom.c +7
-0} +#ifdef CONFIG_BLK_DEV_INITRD +#else +static inline void early_init_dt_check_for_initrd (unsigned long node) +{ +return ; +} +#endif /* CONFIG_BLK_DEV_INITRD */
There's no need to use `return' in functions returning void.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE) [email protected] ------- The Corporate Village, Da Vincilaan 7-D1 Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
Quoted 25 lines · Geert Uytterhoeven
Quoted 23 lines · Michael Ellerman
If
CONFIG_BLK_DEV_INITRDis not defined the prop variable inearly_init_dt_scan_chosen()is unused, causing a compiler warning.So split the initrd logic into a separate function, allowing us to declare prop only when we need it.
Built for both cases and booted with an initrd.
Signed-off-by Michael Ellerman <[email protected]>---
arch/powerpc/kernel/prom.c | 48 ++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 16 deletions(-)Index:
powerpc/arch/powerpc/kernel/prom.c
===================================================================arch/powerpc/kernel/prom.c +1
-0@@ -716,11 +716,41 @@ static int __init early_init_dt_scan_cpureturn 0 ; } +#ifdef CONFIG_BLK_DEV_INITRD
Quoted 8 lines
arch/powerpc/kernel/prom.c static int __init early_init_dt_scan_cpu · line 748
Quoted 6 lines
arch/powerpc/kernel/prom.c +6
-0+#else +static inline void early_init_dt_check_for_initrd (unsigned long node) +{ +return ; +} +#endif /* CONFIG_BLK_DEV_INITRD */ There's no need to use `return' in functions returning void.
I think it looks nicer :)
cheers
Signature · 8 lines
Michael Ellerman OzLabs, IBM Australia Development Lab wwweb: http://michael.ellerman.id.au phone: +61 2 6212 1183 (tie line 70 21183) We do not inherit the earth from our ancestors, we borrow it from our children. - S.M.A.R.T Person