On Fri, Jan 28, 2011 at 08:34:22AM +0100, Takashi Iwai wrote:
> > sound/oss/soundcard.c:69: error: `MAX_DMA_CHANNELS' undeclared here (not in
> > a function)
> > sound/oss/soundcard.c:69: error: storage size of `dma_alloc_map' isn't known
> > sound/oss/soundcard.c:69: warning: 'dma_alloc_map' defined but not used
> >
> >
> > In case you happen to be interested in oss drivers ;)
>
> I took a quick look. The only case where no MAX_DMA_CHANNELS is
> defined is only MIPS with CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN.
> In arch/mips/include/asm/dma.h:
>
> #ifndef CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN
> #define MAX_DMA_CHANNELS 8
> #endif
>
> What is the intention of this ifdef?
Uh... It's a while, took a little headscratching until I remembered
again and I think the comment of aa414dff4f7bef29457592414551becdca72dd6b
is bogus ...
CONFIG_GENERIC_ISA_DMA enabled but MAX_DMA_CHANNELS disabled selects a
dummy version of the ISA DMA controller API. Some drivers don't have
correct dependencies or ifdefs on CONFIG_GENERIC_ISA_DMA or don't
have correct fallback strategies in case of CONFIG_GENERIC_ISA_DMA=n.
In those cases just leaving MAX_DMA_CHANNELS undefined is useful. This
is used on SGI Indigo² systems which have EISA slots but ISA DMA isn't
supported yet by Linux.
> Takashi (not interested but just bored ;)
Very interested boredom ;-)
Ralf
|