Re: [PATCH v2] h8300/kernel/setup.c: add "linux/initrd.h" to passcompiling

From: Guenter Roeck
Date: Fri Aug 30 2013 - 07:12:22 EST


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@xxxxxxxxxxx>
---
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/