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