Re: request_queue_t depends on CONFIG_BLOCK

Bartlomiej Zolnierkiewicz
2007-03-23T20:21:48Z

On Friday 23 March 2007, Olaf Hering wrote:
> On Fri, Mar 23, Bartlomiej Zolnierkiewicz wrote:
>
> > > Because it is needed in a few places.
> >
> > Is there really any PPC64 specific code which needs <linux/ide.h>
> > (ppc_ide_md is used only by PPC32)?

I suspect that the answer to my question is "not really", if so then
shouldn't the problem that you've encountered be fixed with a one-line patch
which removes <linux/ide.h> include from arch/powerpc/kernel/setup_64.c?

Please try it.

> This is about CONFIG_BLOCK=n, not about arch/... Is all non-driver
> code which has to poke into ide code supposed to put an #ifdef
> CONFIG_IDE around #include <linux/ide.h>?

Such code is _broken_ (as you've just found out) by _implicitly_ depending
on CONFIG_IDE specific data structures and functions. Please note that
<linux/ide.h> is CONFIG_IDE specific and CONFIG_IDE depends on CONFIG_BLOCK=y
so <linux/ide.h> should _not_ be included et all for CONFIG_BLOCK=n case...

PS IDE subsystem has allowed per arch/platform host drivers for years and if
somebody needs help in fixing the existing arch/... (ab)users of <linux/ide.h>
I'll be glad to provide it.

Thanks,
Bart