Re: [PATCH 3/6] h8300 setup.c initrd support fix

From: Andrew Morton
Date: Sun Feb 17 2008 - 00:27:33 EST


On Sun, 17 Feb 2008 00:09:47 -0500 Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> wrote:

>
> Sorry. I mistake orign.
> Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
>

Please include a full description of your patches!

>
> diff --git a/arch/h8300/kernel/setup.c b/arch/h8300/kernel/setup.c
> index b1f25c2..4dd744f 100644
> --- a/arch/h8300/kernel/setup.c
> +++ b/arch/h8300/kernel/setup.c
> @@ -30,6 +30,7 @@
> #include <linux/bootmem.h>
> #include <linux/seq_file.h>
> #include <linux/init.h>
> +#include <linux/initrd.h>
>
> #include <asm/setup.h>
> #include <asm/irq.h>
> @@ -99,8 +100,8 @@ void __init setup_arch(char **cmdline_p)
> /* allow for ROMFS on the end of the kernel */
> if (memcmp((void *)memory_start, "-rom1fs-", 8) == 0) {
> #if defined(CONFIG_BLK_DEV_INITRD)
> - initrd_start = memory_start;
> - initrd_end = memory_start += be32_to_cpu(((unsigned long *) (memory_start))[2]);
> + initrd_start = (void *)memory_start;
> + initrd_end = (void *)(memory_start += be32_to_cpu(((unsigned long *) (memory_start))[2]));
> #else
> memory_start += be32_to_cpu(((unsigned long *) memory_start)[2]);
> #endif

This is still wrong.

initrd_start and initrd_end have type `unsigned long'. But the
right-hand-side of these assignemtns has type void*. THe compiler will
warn.


--
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/