Messages in this thread | | | Date | Fri, 30 Aug 2013 04:12:13 -0700 | From | Guenter Roeck <> | Subject | Re: [PATCH v2] h8300/kernel/setup.c: add "linux/initrd.h" to pass compiling |
| |
On 08/29/2013 10:49 PM, Chen Gang wrote: > On 08/30/2013 12:32 PM, Guenter Roeck wrote: >> On 08/29/2013 08:59 PM, Chen Gang wrote: >>> The related error (allmodconfig for h8300): >>> >>> arch/h8300/kernel/setup.c: In function 'setup_arch': >>> arch/h8300/kernel/setup.c:103:3: error: 'initrd_start' undeclared >>> (first use in this function) >>> initrd_start = memory_start; >>> ^ >>> arch/h8300/kernel/setup.c:103:3: note: each undeclared identifier >>> is reported only once for each function it appears in >>> arch/h8300/kernel/setup.c:104:3: error: 'initrd_end' undeclared >>> (first use in this function) >>> initrd_end = memory_start += be32_to_cpu(((unsigned long *) >>> (memory_start))[2]); >>> ^ >>> >>> Signed-off-by: Chen Gang <gang.chen@asianux.com> >>> --- >>> arch/h8300/kernel/setup.c | 4 ++++ >>> 1 files changed, 4 insertions(+), 0 deletions(-) >>> >>> diff --git a/arch/h8300/kernel/setup.c b/arch/h8300/kernel/setup.c >>> index d0b1607..85639a1 100644 >>> --- a/arch/h8300/kernel/setup.c >>> +++ b/arch/h8300/kernel/setup.c >>> @@ -47,6 +47,10 @@ >>> #include <asm/regs267x.h> >>> #endif >>> >>> +#if defined(CONFIG_BLK_DEV_INITRD) >>> +#include <linux/initrd.h> >>> +#endif >>> + >> >> Is the #ifdef/#endif really needed ? If not you should drop it. >> > > "linux/initrd.h" is needed by 'initrd_start' and 'initrd_end' when > BLK_DEV_INITRD enabled. > > 'memory_start' is defined within this file, and also only one place may > use "linux/initrd.h" within this file. > > So if BLK_DEV_INITRD disabled, do not need "linux/initrd.h" either. >
I didn't ask if the include is needed, I asked if the ifdef is needed.
The goal is to reduce the number of ifdefs in the code. We should not include new ones if not necessary. That there are already other (possibly unnecessary) ifdefs in the code doesn't mean we should add new ones.
Guenter
| |