Re: compile error if CONFIG_BLOCK not enabled related to linux/ide.h include

From: Bartlomiej Zolnierkiewicz
Date: Wed Jul 18 2007 - 17:08:36 EST


On Wednesday 18 July 2007, Kumar Gala wrote:
>
> On Jul 18, 2007, at 5:47 AM, Bartlomiej Zolnierkiewicz wrote:
>
> >
> > Hi,
> >
> > On Wednesday 18 July 2007, Kumar Gala wrote:
> >> M: bzolnier@xxxxxxxxx
> >> L: linux-ide@xxxxxxxxxxxxxxx
> >>
> >> We get the following compile error if CONFIG_BLOCK isn't enabled:
> >>
> >> CC arch/powerpc/kernel/setup_32.o
> >> In file included from arch/powerpc/kernel/setup_32.c:14:
> >> include/linux/ide.h:558: error: expected specifier-qualifier-list
> >> before 'request_queue_t'
> >> include/linux/ide.h:696: warning: 'struct request' declared inside
> >> parameter list
> >> include/linux/ide.h:696: warning: its scope is only this
> >> definition or declaration, which is probably not what you want
> >> include/linux/ide.h:820: warning: 'struct request' declared inside
> >> parameter list
> >> include/linux/ide.h:853: error: field 'wrq' has incomplete type
> >> include/linux/ide.h:1205: error: expected ')' before '*' token
> >> make[1]: *** [arch/powerpc/kernel/setup_32.o] Error 1
> >> make: *** [arch/powerpc/kernel] Error 2
> >
> > include/linux/ide.h is exclusively for IDE subsystem
> >
> >> What I'm trying to figure out is if include/linux/ide.h should be
> >> wrapped
> >> in a #if defined(CONFIG_IDE) || defined(CONFIG_IDE_MODULE) or if
> >> there is
> >> some other desired way to handle this.
> >
> > Plese remove <linux/ide.h> include, there doesn't seem to be any
> > piece of
> > code in arch/powerpc/kernel/setup_32.c which needs it anyway.
>
> Its needed for:
>
> struct ide_machdep_calls ppc_ide_md;
>
> which gets defined in asm/ide.h which needs linux/ide.h for the defn
> of ide_init_hwif.

Ah, this is a PPC special case.

In this case I think the best solution for now is to just add #ifdefs
(the proper/clean solution would be adding IDE host drivers for PPC
platforms needing special handling).

Thanks,
Bart
-
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/